Rants
Questions
Soapbox
Best Practices
Apply today for a FREE subscription to CIO Magazine!
Wed, May 30, 2007 1:04 EDT

|
Posted by: Michael Hugos in Best Practices Topic: DevelopmentBlog: Doing Business in Real Time
Current Rating: |
Agility starts with a way of looking at the world; you need that worldview before you employ specific techniques or any particular collection of technologies. Agility starts with an ability to size up a situation in a timely manner, to see potential problems and opportunities, and to devise bold and simple ways to overcome the problems and seize the opportunities.
Information technology is a large part of what makes a company agile, and it can also be a big part of what makes it a clumsy, slow-moving bureaucracy. One of the major determinants of this is the way your IT group answers the question, "Should we build our systems fast, or should we build them good?" The agile answer is to build them fast and good enough for now.
What does "good enough for now" mean? Consider this: in a fast-paced, competitive world, opportunities arise quickly and then either fade away or evolve into something else. Advantage goes to companies that develop systems that are ready when the business needs them and don't cost more than the opportunity is worth.
Agility means you are a master at identifying the repetitious things that people do. As companies grow, such routine work is often what overwhelms and bogs people down. The agile IT group learns to design and quickly roll out simple systems that automate this routine work. These systems are relatively inexpensive and quick to build because they don’t try to automate anything that isn't routine.
I see this as a major paradigm shift. For the past 20 years or more, people in IT have dreaded questions like, "Yes, but what about this?" or, "Can your system handle that?" Those comments always focus on exceptions to the general rules that a system is built to handle. Often, they can stop new system development projects dead in their tracks.
Fear of these questions causes IT people to add complexity and expense to otherwise simple systems in order to handle exceptions that happen only once in a while.
Very good article and very good point.
And, as agility is a frame of mind, it's harder to help people change and 'see' stuff in a different way.
PierG
http://pierg.wordpress.com
There is an elegance to a simple solution that just works. Once you learn to appreciate that elegance you'll start to look for simple solutions to everyday problems. You'll begin to see that the solutions should reduce complexity rather than increase it. That's where the agile state of mind begins.
Exceptions are always the antithesis of any simple solution - and in any process involving human beings, there are bound to be exceptions. In my shop we follow the 90% rule - we program for the 90% of routine cases. The corollary is that we don't program for exceptions. This requires getting into the habit of developing solutions with a built in escape hatch - a way of kicking the individual transaction out to a human being for judgment and correction. This preserves the human touch, and the flexibility in the organization's processes that are necessary to provide optimal service, but automates the 9 out of 10 routine transactions. The result of this kind of programming is inevitably a more flexible system that does not limit the users to the system's defined process, which can only contribute to the greater agility of the enterprise.
Thomas M. MacKay
Assistant Director
Information Technology Services
Christopher Newport University
A very good article. I agree with most of your thoughts. I do think that we should focus on simple elegant solutions delivered quickly. I also think you should spend a little bit of time thinking about the best return on your effort.
I somewhat disagree with your example of "automating the mopping so people will have time to fix the leak." In this case, the problem is a wet floor. I'd encourage my folks to ask why the floor is wet and hopefully jump directly to fixing the leak. Sometimes the cost of fixing the leak is so prohibitive that it makes sense to "automate the mopping".
How's that for wishy-washy?
The bottom line of Agility in my opinion is to inspect your situation and make adaptations. Deliver quickly, then inspect again. Don't do the simplest thing just because it is the simplest. But do something quickly that will add the most value for the time spent.
Michael
Excellent post as usual. If agility is the key determinant for success going forward, and I increasingly believe that it is, then IT departments must deliver systems smart enough to be useful - to handle the 90 or 95% of standard transactions. Building these systems and extending existing systems with smarter decision services is going to be the difference between success and failure.