Bruce F. Webster:By Bruce F. Webster | Posted 2008-09-23 Email Print
Baseline columnist Bruce F. Webster argues why it is paramount that you tackle hard problems in IT projects like application development and systems integration from the outset and not procrastinate the looming trouble and complexity that lies ahead.
The real complication, though, is that you are facing these issues simultaneously for some, many, or even most of your different modules or subsystems. You can no longer put the hard work on hold and jump to an easy task, because all the easy work is done. Everything left to do is difficult and may require invention and creative breakthroughs. Progress suddenly slows down dramatically; the project schedule starts to slip, and slip significantly.
But wait! It gets even worse. Because you have deferred the hard work in different modules and subsystems across the board, you may now find yourself in a form of “solution deadlock.”
It works like this: Let’s say you have a hard problem X to solve in subsystem A; you also have a hard problem Y to solve in subsystem B. After brilliant work and brainstorming, you have come up with solutions to X and Y. The problem: the two solutions are mutually incompatible. In other words, the solution to X precludes the solution to Y, and vice versa. This may seem unlikely, but I have seen it any number of times, particularly where problem X is a functionality problem requiring intense data retrieval and processing, while problem Y is a performance problem requiring a much quicker response time or heavier load processing than the system can currently handle.
Now imagine that you have a dozen or so different “hard problems” to solve – with any number of interdependencies and exclusions – and you can begin to understand why so many IT projects get to the 80 percent to 90 percent “completed” stage and then get stuck there for months.
The answer to this challenge requires courage, talent, and coordination: you need to actively identify all the hard problems up front and then solve them first. It requires courage because it means that your project schedule is going to progress slowly very early on, resulting in pressure and questions from upper management. It requires talent because you need to have people smart enough and experienced enough to identify and then solve these problems. It requires coordination because you need to treat these hard problems as a collection, instead of individually, to avoid solution deadlock.
I have a mental image that I associate with this particular challenge. Imagine mixing flour, sugar, and spices together in a bowl – as if you’re making cookies – and then throwing in half a dozen walnuts, still in their shells. Now put the mixture into a sieve and sift it all together.
Everything goes through just fine – except for those walnuts. It doesn’t matter how long or hard you work the sieve, the walnuts will just roll around and not go through. You have to take them out, crack them open, remove the nutmeat and grind it to a fine powder before you can get it through the sieve. Nothing else will do.
Just something to keep in mind.
Bruce F. Webster is an international IT consultant. You can reach him at firstname.lastname@example.org or via his websites at brucefwebster.com and
© Bruce F. Webster 2008