Just look at QuickBooks™ as an example. For a few hundred dollars, you can run a small business with it. GL, AP, AR are given but it links to payroll, online banking, credit card processing, and more. It is tough to beat the functionality offered for the money paid.
But what happens if a feature you need is not included? That is where custom shines. With custom software you can build exactly what you need. The drawback is the cost, the time and the bugginess inherent with custom software development.
Now there is another way to do things. We call it 'Configurable Solutions Technology' or CST. With CST you get the flexibility of custom software but with a price tag and robustness that is much closer to COTS.
As an example, take a simple list maintenance form as shown below.
This form allows a user to maintain a list of item class codes. A similiar form can be built for all kinds of simple lists; like payment terms, shipping methods, tax codes, etc.. Most software systems will have standardized forms for this common function.
But take a closer look at the above form. Most item class lists may just be the class code and a description, but for this particular customer, they needed to control the sorting on a specific report and alphabetical was not workable. We added a field in the ClassCodes table called 'Sort' that they would use to provide this control.
With traditional development, one would need to go into the development environment, add the column for 'Sort', rewrite the underlying code, then recompile and redeploy. But with CST, you can open up our form editor and just like adding a row into a spreadsheet, you can add an entry for the new column, save and then re-open the form and you're done! Because the KARDIA CST engine was built to read configuration information, adding a new record poses no new challenges and the new field is operational and free of the many bugs that the traditional model can easily introduce.