How to Manage Application EnhancementsBy John Parkinson | Posted 2006-10-24 Email Print
Re-Thinking HR: What Every CIO Needs to Know About Tomorrow's Workforce
Most IT departments get nibbled to death by ducks. Here are John Parkinson's secrets to managing the never-ending stream of small application changes.
One of the endless challenges for a large corporate software engineering organization is to develop an effective process for handling the steady stream of small changes, fixes and enhancements that seem to accumulate around installed software, both custom developed and Commercial of the Shelf (COTS)no matter how good it is initially. Typically, these changes can be handled by a single engineer, don't require much resource or elapsed time and are generally pretty well defined. Users know that they are not asking for much, and don't, therefore, expect to have to wait very long to get their change request implemented.
The problem for the engineering managers, however, is that each change generally requires considerable impact analysis before it is made (to see what, if anything, the change could adversely affect) and considerable testing after it has been implemented but before the new "version" of the software goes into production (to prove that nothing actually broke). This "engineering process" effort can easily dwarf the core engineering resource requirements as each small change includes all the aforementioned associated "overhead." From a release manager's point of view, it's better and much more efficient to accumulate all of these small changes into the release cycle for large changeswhich may well include many of the small changes anywayand simplify regression testing and verification. But that makes users wait for their "small" changes to get implemented, and that makes them less than happy.
Try to deal with each change individually, however and you can easily create a version control, configuration management and testing morass.
So what to do?
Back when I was helping put together plans for an "application management" practicebasically an outsourcing business focused on supporting installed applications for clientsI looked in detail at what kinds and levels of effort would be involved in doing this kind of work, and how do design and deploy an efficient process for it. Here's what we found.
Read the full story on CIOinsight.com: How to Manage Application Enhancements.