Can your software bend to your will?

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email

In my experience as a software developer in the ERP and CRM space, (to my delight) I have seen a growing trend of customers that have come to expect software to do more than just what is delivered “off the shelf”. They know the benefits of customisation and seek to understand what internal processes they can automate completely or streamline.

I won’t go into the many benefits of customising your software in this article, I will however just say that when looking to implement new software, even if you cannot think of a reason why you would want to customise it, I strongly recommend that you seek to understand whether your new software is able to be customised.

What To Ask / Look For

 

Is there an SDK or API?

SDK (Software Development Kit) or API (Application Programming Interface) allows a software developer to hook into the software’s internal business logic (its core) in a manner as deemed safe by the software’s creator.

This can allow you to;

  • Have your own screens built directly into the product for your users to perform specific data entry.
  • Build automation tasks to import data into the system and ensure all business logic is followed – ensuring data integrity.
  • Build automation tasks to export data out of the system.
  • Integrate different software systems together (i.e. web store with your ERP or subscription management software with your CRM).

Assuming there is an SDK or API;

Is the SDK/API available to anyone? (either free or at a cost)

Some software vendors allow anyone to download the SDK at a cost, some are free and some SDK’s are only accessible by registering as a development partner with the software vendor (which will typically requires a larger investment).

Is it well documented?

If you have an internal software development department, having an SDK that is well documented will mean you can skill-up your own staff to manage and extend the software.

What programming languages are supported?

Probably the most important in my eyes is ensuring the SDK supports trending languages and frameworks (such as Microsoft .NET (C#, VB.NET), Java, Ruby on Rails, PHP.

Having an SDK that follows popular and current trends means that you will be able to find a developer to help out with a customisation a lot easier and at a more reasonable price. Software being kept up to date with the latest trends also shows that the software vendor is invested in its future longevity.

How large is the developer community and are they easy to find online?

Another important one to look for. Software of any type gets to its size in popularity by its community of passionate users. You can teach yourself a heck of a lot just by “googling” a problem. If there is a large online community of developers/users talking about and posting solutions for the software you are looking to buy, this will make troubleshooting problems or skilling you and your staff up a much easier process.

What is your software vendor or business partner willing to do for you?

If you decide to outsource your development, it is critical to understand from the get-go who owns the source code at the end. It would not be ideal if the business partner you have spent thousands of dollars with developing an integration module decided to stop supporting you and you are left with an integration that is locked out to you and any modifications required will ultimately end up in a complete re-write by another developer.

The ideal scenario for you is that you get a copy of the source code on completion of the project – most likely the developer will release the source code once you pay the outstanding balance on the invoice.

Some vendors may also agree to release the source code, but at an additional cost.

If the agreement does not include the source code, you must then insist that the application and all functionality to be developed be well documented in a formal specification document.

The document should be technical and include all aspects of design from database design, through to user interface functionality and the business logic behind every triggered event.

At least this way, if the application does need to get re-written by another developer years down the track, the hard parts are documented well enough and should save many hours of everyone’s time and obviously, dollars.

Worthy mentions

Here are some software products that I have worked with that I feel have great documentation and/or SDK and API’s for third party development;

NETSUITE

Great documentation and community.

http://www.netsuite.com

SAGE CRM

Good documentation. Great community.

http://www.sagecrm.com

SAGE 300 ERP

Average documentation and closed community. Worthy of a mention due to the extensibility and flexibility of the SDK.

http://na.sage.com/us/erp/sage-300-erp

ZOHO CRM

Great documentation and community.

http://www.zohocrm.com

XERO

Great documentation and community.

http://www.xero.com

MAILCHIMP

Great documentation and community.

http://www.mailchimp.com

More To Explore

We Are Ardento

drop us a line and keep in touch