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
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.

  • The primary requirement is that it collects and analyses information. Data collection and analysis is the first tool.
  • To support this, the secondary requirement is to define the information that you want to collect and analyse. Information definition is the second tool, used to build the first.
  • The information that you need to define differs from scenario to scenario: an automated advice service needs different information and different data structures from an opinion survey. To support this, we have a tertiary requirement to customise information definition to match the semantics of different scenarios. Customisation of information definition is the third tool, used to build the second.

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.

  • The approach achieves a very close fit to requirements. We can create final tools (assessment and advisory services) that meet requirements precisely, but we can also create tools for defining assessments and advisory services that precisely meet the semantics of different scenarios.
  • Because of the ability to provide customised development tools, and because Metrici Advisor provides a complete web environment, we can develop solutions in hours or days that would take weeks or months in traditional tools.
  • The approach works just as well outside the intended scope of assessment and advisory tools. For example, we have built databases, content management functionality, and an enhancement request and bug tracking tool.

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?

Next: Excel is my nemesis

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