Application Lifecycle Issues and Risks
Why Most of your IT budget is not spent on new development?
According to Forrester Research, only 34 percent of the typical IT budget goes to new development. Fully 66 percent is spent on operations and maintenance. Consequently, improving productivity and accuracy in the maintenance phases of the application lifecycle can generate considerable value.
IT budgets expenditure
Part of the problem is that, in business, standing still is falling behind because the rest of the world moves ever forward. A company that persists with outdated processes, products and technologies will quickly find itself at a significant competitive disadvantage and may not be in compliance with new and modified regulations.
Unlike in the early days of computing, modern applications are generally not large, monolithic programs with only internal subroutines. In aggregate, modern applications may be enormous—typically with many more lines of code than their early predecessors—but today they are usually composed of myriad application objects.
When an organization wants to alter a business process or add a new one, finding the affected objects can be difficult, particularly if the code is not well documented and the original developers are not available. But that’s only part of the challenge. Those modules interact in ways that may not be obvious. Consequently, a perfectly coded modification of one object may cause another object to fail unexpectedly. In addition to being componentized, modern applications are typically multi-tiered, with at least database, application and user-interface layers. If changes are not coordinated across all tiers, the application may crash.
This complexity often stymies efforts to give applications a contemporary look and feel that users are familiar with from their use of other business and personal software and that meets modern standards for application design. The problem is that developers have to spend so much time unraveling the application components and interactions when fixing bugs and addressing critical changes that they don’t have any time or resources left over for application modernization.