Concept versus Implementation

Post date: Apr 21, 2012 9:24:36 PM

Over the past several months, I've had ample opportunity to provide my input on the selection of specific products to fill in for various concepts, from content management to continuous integration. As the questions came up, I found myself increasingly concerned with making sure the right concept is being applied (and understood) by the projects, rather than insisting on this implementation or that. Many people operate on buzz words and industry chatter, rather than taking the time to digest what a concept provides, and what costs are involved.

Continuous integration (CI) is one of those recent industry buzz words. In my opinion, continuous integration is a good thing, in most scenarios. It takes much more than a tool such as Bamboo or Hudson or Jenkins to make continuous integration successful. The developers need to understand their involvement, and how broken code slows everyone down. Quality assurance staff need to be aware of changes as they are deployed, and make sure that functionality is not negatively affected. Management and stakeholders need to know that CI gives them visibility of the evolution of the product, and that the short-term cost involved with handling broken builds and resolving conflicts reduces a heavy cost of last minute integration. Other concepts should also be used to enhance the benefit of CI such as unit testing and automated functional regression. Once you have the concept down, you can make a move on finding a product that suits your resources and needs.

Content management systems (CMSs) have been around for a while, and there are several products out there with a wide range of prices. My website is built on a cloud CMS called Google Sites. If you've ever used a wiki, you've used a CMS. The question of which CMS to use should come after understanding why you need a CMS, and what it can do for you. Are you looking to create a living document system for tracking the ever changing features of a product? Are you looking to share wide varieties of information with your clients in an artfully presented form? How many contributors will you have? How many consumers? Content management is all about organizing information in an easy to build, easy to maintain, and easy to consume format. It is less often used when complex operations are involved to present dynamic information (although components can often be added to CMSs to supplement functionality). After answering these and other important questions about the concept, you can work on selecting the right product for you, such as the expensive and very powerful Adobe CQ to the free Joomla with its needs for careful customization and tuning on high-traffic sites.

In my view, the concept, and understanding it, is much more valuable than knowing which specific product is the current top pick. These products will evolve, there will be newer, better versions, and brand new products with higher performance and more features. You need to know WHY to pick a product, not which product is valuable now.

Comments