In today’s global, highly competitive and rapidly changing business environment, it is more important than ever to ensure that IT is tightly aligned with the overall objectives of the business. So, it is of great concern to most CIOs that, according to the latest information from Gartner, most companies see IT as an impediment to change rather than an enabler of change. That view is undoubtedly tied to the startling statistics that over 80% of IT projects arrive late or over budget or both; that development projects more often than not deliver less function than originally promised; and that software quality continues to lag behind the quality standards achieved in other areas of the business.
Ironically, these problems are often the result of attempts by IT to be responsive. In order to satisfy their end users, IT staff often accepts more work than they can possibly complete while providing end users with unrealistically optimistic delivery estimates. Meanwhile, the end users have ongoing “emergency” requirements that IT must deliver on immediately. Unfortunately, rather than creating the desired impression of responsiveness, these tactics actually result in significant end user dissatisfaction. Fortunately, there are a few proven areas in which Application Lifecycle Management Systems and Processes can be used in order to turn a typical IT organization into one that delivers excellent results in alignment with the company’s objectives.
Managing Change: The Business Benefits of Application Lifecycle Management
There is no question that in order to be an enabler of change, IT organizations simply must be able to deliver more functionality more quickly. The application lifecycle management system must automate the processes in the change lifecycle to allow each member of the team to concentrate on their highest value activity. Developers should be creating and enhancing applications rather than moving code around or manually documenting activity, for example.
Taking advantage of new development technology also increases productivity. Code re-use through object oriented and service oriented architectures are promising technologies that have been around for years. Yet, the lack of comprehensive, easily accessible metadata about the inventory of available re-useable components, have kept the benefits elusive.
However, productivity is not simply a measure of how much work the IT organization gets done. It is, maybe more importantly, a measure of how quickly IT delivers those things that are critical to the success of the organization. The difference between the first idea and the second is comprehensive and effective prioritization. Too often, IT reacts to whoever screams the loudest. Important projects are constantly superseded by projects perceived to be ‘urgent.’ In order to support appropriate prioritization, the application lifecycle system must provide a central repository of detailed information about the request backlog. Using that repository, end user representatives and IT staff can agree on which items should come first and which can wait.
In order to create a high level of customer satisfaction, IT must ensure that they keep the delivery promises they make to end-users. The difficult challenge faced by IT is that it is generally necessary to prioritize and schedule projects before anyone knows exactly what it will take to get them done. IT does not have the resources to complete detailed designs and estimates for every requested project before building a project schedule. Yet, good estimates are critical in successfully working with end users in creating their priority list. Accurately making those estimates requires easy access to comprehensive historical information on similar projects so that IT staff can see how accurate the estimates were in the past, where in the process inaccuracies cropped up and how long the projects actually took.
Organizations using application lifecycle management tools to automatically track historical information have successfully used that data to increase their on-time/on-budget delivery performance from below 20% to over 90% of their projects.
There is little that interferes more with productivity than the constant need to fix production problems. By their very nature, production problems are urgent and, therefore, are moved to the top of the priority list. Problems in production can corrupt data and can use up valuable IT resources in repairing the information. In order to continue operations, the broken systems might need to be backed out, creating additional maintenance headaches in attempting to ensure that other dependent items are backed out as well. Emergency fixes can lead to parallel development situations where an older production version of a program needs a fix before a newer version in development can be completed. These quality problems become unexpected additions to the project schedule with the potential to create cascading delays.
By implementing structured, repeatable, measurable processes in accordance with the principles of total quality management, users of application lifecycle systems have achieved significant reductions in production defect rates. This frees developers to continue working on new changes and helps to maintain the integrity of the IT project plan.
For too long, IT has treated application development and maintenance as a “black box.” Users are interviewed for their requirements and then sometime later, IT magically delivers. Users are often left in the dark as to what happens in between. Consequently, when things are delivered late, users are surprised and unhappy.
The entire application development lifecycle must be a collaborative process. End users need visibility into IT so they understand the volume and impact of “emergency” requests. With more information, they can provide better input into the prioritization process. If a project begins to run over schedule, they will know early on while there is still time to change the project’s scope or to re-prioritize the project backlog. If the end users decide to change priorities, the impact of that decision will be apparent to everyone. This constant interaction ensures that IT stays aligned with the current priorities of the business.
Needless to say, visibility is also critical to IT management. There is an old saying that you can only “expect” what you can “inspect.” If you can’t see it and you can’t measure it, you can’t improve it.