Change is a reality in every organization and life continues to get more complicated through trends such as the adoption of Service Oriented Architectures (SOA) and the rationalization or modernization of legacy applications. This article will take a look at these two trends and how they complicate life for application development teams by increasing both the volume and complexity of change. I will then discuss the ways effective release management can help organizations deal with the constant change churn, complexity and change volume. Though release management isn't a silver bullet, it is a tangible way to make a difference.
The Ever Changing World of IT
Application modernization is about rationalizing your application portfolio with the intent of constructing more sustainable applications that reap higher rewards with a lower maintenance cost.
In an ideal world, applications would be written once, perfectly and require little or no maintenance, freeing up application development teams to work on newer, more innovative products or services.
The reality of IT however, is that legacy systems do require maintenance, in many cases the maintenance cost can be more significant than the initial investment. As well, this maintenance requirement often results in differing applications with similar functional capabilities.
Application modernization is the evolutionary practice of rationalizing your existing applications to introduce innovation and efficiencies in your application portfolio, but not at the cost of throwing everything away and starting again. This dynamic process requires diligence to maintain the existing legacy systems while freeing up resources to produce more innovative and manageable applications that satisfy new and emerging business requirements more readily.
From an IT operations perspective, application modernization can spell disaster. In many scenarios, coordinating the release of modern architectures such as J2EE and .NET along with legacy systems such as System i (iSeries) and System z (zSeries) can cripple an organization tying up resources and costing time.
To manage and coordinate a multi-platform release, IT decision-makers need solutions with the necessary level of traceability and control over all software artifacts. Allowing your application development teams and IT operations teams to work in silos, often by platform, obstructs the ability to prioritize and manage these related systems holistically. As well, the risk associated with managing these environments in isolation may be huge if there are application dependencies.
A single application lifecycle management platform provides coordinated release management across all strategic and legacy platforms within an organization. Through tight integrations with System i development and integrations into System z tools, cross-platform dependencies can be managed through a single release package. These integrations ensure that dependent changes are released at the same time and where necessary, rollback occurs simultaneously.
Another compelling feature of a single integrated ALM platform is the ability to measure and manage effort and cost across your legacy and modern application base. With dashboards, organizations can effectively track and categorize their development and operational effort by platform or application, ensuring accurate measurement of the development and maintenance cost of their strategic applications and legacy applications. Senior IT executives are empowered to keep their finger on the pulse of IT throughout a multi-year modernization initiative through this ability to constantly re-evaluate priorities.
The traceability offered by a single consolidated ALM platform is fundamental to manage the large volumes of change attributed to a multi-platform environment. With continuous change churn, traceability is vital from requirements through to release. Such end-to-end traceability ensures that the IT operations team implementing the application change will have a solid understanding of the requirements being satisfied by the release. Understanding the associated requirements ensures adequate validation can occur during the integration or acceptance-testing phase