1 November 2011

The perfect tool

By Andrew Clifford

How can we create the perfect information processing tool?

An IT system is a tool that applies technology to guide and constrain the collection, storage, manipulation and output of information. The job of developers is to imagine what a perfect tool would be like, and then to implement that vision in a physical system.

If there is no existing software that meets requirements, you will need to build the system using application development software. You are, in effect, using a second tool which collects, stores, manipulates and outputs an executable definition of the first tool.

What would happen if you repeated the imagination process on the second tool? How much faster and cheaper would development be if every development tool was perfectly matched to the business requirements of the system that it is intended to create?

Over the past few weeks I have had some experience of this. We have been rolling out the new version of our Metrici Advisor service, which is a platform for assessment and advisory services.

To achieve these requirements we built a metadata-driven system, in which each tool is defined by metadata. We do not just have three layers, but an indefinite number of layers, each one acting as a tool for the layer above.

We needed to adopt this design to create an effective assessment and advisory platform, but we have been surprised by the results.

We have been presenting the new system to early adopters for a few weeks. We have received a very positive reaction because of the combination of closeness of fit and delivery speed, much more than we could have hoped for.

This approach, using metadata to define layers of tools, seems to achieve a step change in the effectiveness and efficiency of delivering new solutions. Could this be a way to the perfect tool?