CMS, Packaged Software or Framework?

A development framework, a content management system (CMS) or a packaged solution? They do not meet the same needs or require the same investment and/or expertise so how do you select what is best for you?

Packaged software is a good choice if your businesses processes are, or can be aligned to the available features offered by a package. Depending on your situation you may have more or less features than you really need, this can be bad. You may also need to integrate the package into your information systems and spend money on configuration and training. The good news is if you select a package that is well supported the developer will maintain the code, provide ongoing support and you will likely be able to find a pool of solution providers with expertise in the product. The upfront cost and technical expertise you need is likely to be lower than alternatives but what you gain in convenience you may lose in flexibility if the package doesn’t fulfil all your needs.

It is possible that a CMS along with additional modules that can extend their functionality, like shopping carts, contact managers and the like can be used together. This is a particularly good solution if your website and business processes are closely coupled. Providing the website and modules can be aligned to your business needs and the required functionality is available and secure developing a business solution around a CMS may work well for you. Similar to packaged software the vendor will support and develop the CMS but typically integrating various modules will require integration and on-going support.

Finally a development framework offers the flexibility of custom development and can be used to design an application that perfectly meets your business or operational needs. You need to articulate your business processes and requirements. If you have a workflow or process that doesn’t fit a package or CMS solution then this is often a better choice than trying to modify software that was not designed for your application. However this does require development processes, technology choices and ongoing maintenance and development. Using a framework however greatly simplifies this process so its not a solution you should ignore if your application doesn’t fit well within a CMS or existing package.