Minimal IT logo and link to home page
Research, training, consultancy and software to reduce IT costs
Home | About | Newsletter | Contact
Previous | Next Printer friendly
10 March 2009

The perils of general-purpose

By Andrew Clifford

Sometimes we need to look harder to find really good solutions.

We all know that reuse is a good thing.

At the lowest level, we reuse objects or modules of code to reduce programming effort.

We reuse larger pieces too. We reuse major components such as databases. Whenever we buy packaged software, we are, in the broadest sense, reusing a product that someone else has made.

Reuse does not just cut down on coding. The more times you use the same products, the more benefit you get from the investment of time you have made in learning them, and the investment in admin and support.

Some of the best reuse come from solutions that can be reconfigured to meet multiple needs. For example, the Drupal content management system provides rich functionality that makes it easy to build web-based applications. As well as reusing the Drupal system code, you can reuse your investment in implementing and learning the product because you can apply it to many different applications.

But there are problems with reusing flexible solutions.

In IT, we are very good at working in the abstract. We generalise the problems we see, and create solutions that do not just solve the immediate problem, but can solve a whole class of similar problems. These general-purpose products can give us huge reuse, in the broadest sense, as is the case with Drupal.

But there is something about really good general-purpose solutions that makes them inherently harder to understand.

Take Apache Cocoon for example. Cocoon is a framework for XML processing. I am sure it is a very clever and capable set of technologies, and could be really useful for many applications. It can be used for creating web sites, as a generation and integration environment, or as a web services development framework. Even though I can see some similarity between all these uses, I find Cocoon hard to understand because it has no direct comparison and it meets so many different needs.

We have the same problem at Metrici. We offer methods and tools for IT assessment and improvement. These can meet multiple needs - IT governance, project reviews, legacy renovation, cost reduction, RFP processes, application portfolio management. They let you reuse ideas and materials across all these areas. But they can be harder to understand because there is nothing else to directly compare them with and they are very general-purpose.

As vendors, we need to present general-purpose products as solutions to the needs that people recognise that they have. We may have to hide the general-purpose nature of the products and present them more narrowly. Drupal is in part successful because it is presented as a content management system, even though it can do a whole lot more. Having a clear core purpose makes it easy to understand what it does, and gradually grasp the breadth of the tool.

As purchasers, we need to look hard at the products we buy. Some of the products that are harder to grasp, like Cocoon, can be the most valuable. They may take a bit more effort to understand than simple point solutions, but the payback can be so much greater.

Next: Blingware

Subscription

Subscribe to RSS feed

Latest newsletter:
Magical metadata

We use the term "metadata-driven" to describe IT solutions in which functionality is defined in data. Taking this to the extreme can provide unparalleled levels of speed, simplicity and versatility.
Read full newsletter

System governance

System governance helps you implement high-quality systems, manage existing systems proactively, and improve failing systems.

Find out more