21 November 2006
StupidClever design and technology
By Andrew Clifford
We can get carried away with clever ideas for design and technology. So often this ends up as stupidclever.
Here are some examples.
- Using niche products for simple requirements. I knew an IT department with a simple requirement for tracking IT purchase orders. They did not install an off-the-shelf product, or develop something conventional. They commissioned a custom-built system using a new type of development tool aimed at managing complicated data relationships. The tool vendor failed after about a year, leaving the system unsupportable.
- Adding additional layers. I have seen organisations implement new application servers just to provide an interface layer, rather than rework back-end systems. Now they have more systems to run and support, more things to go wrong, more things to change.
- Inappropriate optimisation. I know of a UK telecoms company that wrote its own database loader, rather than use the standard one. It was optimised for the particular data and hardware type. But of course it did not work as soon as these changed, and had to be discarded.
Each of these solutions would have looked really clever when it was first designed. Each ended up as a support headache. And there is a worse problem. Technology is not an end in itself. Being too clever with technology and design diverts attention and resources away from the real problems of using IT to meet business needs, and of proactively managing IT to keep costs down.
Avoiding stupidclever technology is common sense.
- Choose technology that you know will meet your needs. Do not try to be clever and bend something that clearly is not designed for your requirements.
- Be as conventional as possible. Use the design approaches and the technology that work for other people, unless you have a really good reason not to.
- Write to standards, not products. Do not use special non-standard features just because you can.
- If you have to change the system, change the system. Do not try to avoid the inevitable by adding extra layers, wrappers, or mapping products.
- Limit your innovation. Of course we have to work with new technology, and we have to innovate. But we should limit this to where we have a clear need, and where there are clear benefits to innovation.
Sometimes we are tempted to build over-clever solutions because of short-term cost constraints. This is like going to a loan shark to borrow money to pay off your debts. You are just making it worse. If you IT costs are too high, you have to tackle the underlying bloated IT. Over-clever IT adds to the bloat; it costs you more.
Writers know about being too clever. Samuel Johnson wrote, "Read over your compositions, and where ever you meet with a passage which you think is particularly fine, strike it out."
We need to do the same. We should look through our designs, and highlight all the areas where the design or technology is particularly clever. And then we should strike them out of the design, and replace them with something simpler.
Next: Islands of automation
To subscribe to the newlsetter, simply send an email to email@example.com.
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 helps you implement high-quality systems, manage
existing systems proactively, and improve failing systems.
Try it for free!
Find out more