The Value of Release Management in the Journey of Information Technology Delivery Aligning to Business Requirements

Over the years, Information technology has become the backbone of businesses to the point, where it would be impossible for many to function (let alone succeed) without it. As a result of its increasing role in the enterprise, the Information Technology function is changing, morphing from a technology provider into a Strategic partner. In every organization, the application and portfolios are becoming increasingly interconnected and dependent on one other, when one is changed-the risk is high for a detrimental impact to the end user services provided by another application. And also, within the Information technology the development and operation teams that deliver and support the mixture of heterogeneous technology applications are distributed, increasingly outsourced to technology partners and the complexity is growing. The aim of the research is to address the raising challenges between business requirement and Information technology i.e., development and operations-the need for release management is crucial. Release Management acts as a bridge between development and operation teams and responsible for driving the release train from planning to deployment ensuring high quality on-schedule releases meeting the business demand. This study explains in detail about the effectively setting up the enterprise release management function and a survey about the importance of release function by interviewing the Information Technology experts around the globe and it is understood that Release management acts as a coordinator to improve the collaboration between disparate team through the strong policies, process and governance. This study also describes the benefits realized through the implementation of a formal release management discipline in major Canada based agriculture financial institution, which improved the quality of its IT release delivery.


INTRODUCTION
Always, Business needs to respond ever faster to new opportunities and also need to evolve rapidly in order to maintain a competitive advantage.For many organizations, their ability to do so is reliant on the information technology department that supports their business.Information Technology (IT) has been serving the enterprise as a technology provider helping businesses to perform more efficiently and to expand into new directions since its early stages.IT organizations face two different and conflicting pressures.They need to respond rapidly to a changing business environment and deliver high quality software and services fast; this is the capability of an IT organization and is called "performance" which is the ability to deliver more with less.On the other hand, IT organizations need to meet the Service Level Agreements (SLA) and regulatory requirements, support complex and interdependent systems, protect the stability of the live environment and manage risks to the business sufficiently; this other key capability of an IT organization is "conformance" which is the ability to adequately manage risks to the business.The apparent conflict between these two requirements, performance and conformance is most strongly felt during releases.The objectives of the research are to analyze the value of release management in organizations and the benefits through a survey and a case study.

LITERATURE REVIEW
Over the years, IT has become the backbone of businesses to the point where it would be impossible for many to function without it.IT is no longer separate from but is an essential element of the enterprise (Van Grembergen, 2004) and treated as a strategic partner.As a result of its increasing role in the enterprise, the IT function is changed and evolved to IT business value management, i.e., transformed into true business partners enabling new business opportunities.Henceforth, IT processes are fully integrated with the complete lifecycle of business processes improving service quality and business agility, Also IT helps in the business growth and solving the business problems (Sallé, 2004).In fact, most business leaders were looking to use technology to gain both efficiency and differentiation simultaneously (GaneshPrasadet al., 2011).In the fall of 2011, Forrester (2013) conducted in-depth surveys with 325 business and IT professionals.Forrester found that most of these companies are not able to deliver new custom software solutions as fast as business leaders need them.According to the survey a major reason for this is that they have a low level of maturity when it comes to software delivery processes.As a result, most of the companies are not able to use their software development capacity to drive their business and they are not able to release new applications to support their businesses as fast as they would like.Releases are often painful and risky affairs, at worst, they can result in service interruptions and end in a roll back (Humble, 2010).

MATERIALS AND METHODS
For many organizations, release management is not critical only for development and deployment practice but also for doing business.In those organizations, the delivery of software is a time consuming, stressful and costly process.As soon as an application goes live, issues pop up, forcing the IT organization into another costly release cycle; usually release is typically a risky, unreliable procedure that costs businesses both time and expense.In this section will explain the basics under Background and a detailed Release management approach following in the industry.
Background: In section will illustrate the basic Business and Information technology alignment and about the functions of development and operation team within IT division.
Business and IT alignment: IT Governance has a direct impact on how IT is managed within the organization.The IT Governance Institute has offered the definition "IT Governance is the responsibility of executives, board of directors and consists of the leadership, organizational structures and processes that ensure that the enterprise's IT sustains and extends the organization's strategies and objectives".Successful IT governance is achieved through effective communication among all parties based on constructive relationships, through a common language committing to IT policies and process.
High level diagrammatic approach has been shown in Fig. 1 about the Business and IT delivery alignment.The intension of this approach is to make things crystal clear i.e., inception of the requirement from the business till the delivery of the product satisfying the business need.Both Business and IT are part of the organization and in real world-IT is the service provider for the business.IT encompasses different technical groups After couple of deployments in test environment -system and integration testing's were performed.Business team is also involved to do the User Acceptance Testing (UAT) and do sign-off, which is the sign of acceptance of the product to hit the production.Release team manages the overall release life cycle adhering the organizational release process and policy.The identified major or minor release hit the production environment on time with the agreed quality metrics and handed over the delivered product to the business.Business does a quick validation and may or may not raise concerns.If concerns are raised; they were handled by the IT release management through a warranty support mechanism as depicted in the Fig. 1.The successful release closure from the IT side is the symbolic hand-shake representation for the Business and IT alignment.

Function of IT-development and operation:
Developers create software systems and they often have an entirely different model of occupational style from the operations teams.Development teams are proactive; traditionally, development teams have been run with the sole purpose of satisfying a particular business need and they tend to focus on software delivery, internal quality metrics and pushing out code.Changes and enhancements to production systems and failures in providing service are seen as part of this rush to get the latest and greatest code out to its consumers.Developers thus tend to be agile, proactive and reliant on selfservice for accomplishing their goals.
Operations groups on the other hand are "reactive."They are focused on service management and incident response.In a nutshell, operations teams are responsible for keeping existing services available, meeting agreed upon Service Level Agreement (SLA), while still helping the business innovate by rolling out new products and enhancing existing products.In addition, IT operations are always faced with less when it comes to budget and time.The mantra of doing more with less is driven by easy access to technologies such as virtualization and cloud computing that have increased efficiencies and made IT an Opex endeavor instead of a Capex investment.This balance between business needs vs. accountability has left Operations teams becoming cost conscious; process driven, reactive and cautious to sudden and rapid change.
Figure 2 captures this gap across development and operations.It clearly shows how far apart these roles are, the different process they tend to use, as well as all the intermediaries and intermediate touch points from when code is developed to being deployed in environments in a meaningful way.

Release management:
Role of release management: In Fig. 3, the various touch points are depicted like players, tools, workflow as well as the complexity of modern day application release to production.This is a fragile process that needs to be repeatable, error free and agile.
The release manager and the release management function straddle development, QA and production functions and environments.This critical diagram explains the variety of modules available across the Organizations with few developers and few applications may take a linear approach to portfolio management.The unicorns tend to have a homogenous environment, a single application and a development driven release approach.The moment we move away from this model, things change radically.A portfolio with multiple products and releases in tandem makes this a very complex workflow!
In most enterprise IT departments, development and operations need to work together to deploy applications across complex environment.The applications themselves exhibit a large variety in languages used, in complexity of how they are architected and SLA expectations from consumers within and outside the organization.Lastly in most organizations, development and operations teams are highly distributed and applications themselves are in various stages of their lifecycle-legacy apps, bug fixes, new functionality to new applications, etc. Changes to applications and environments can have far reaching affects, in some cases catastrophic depending on its use and dependencies placed on its behavior.
Effective way to set up release management: Release Management (RM) is primarily concerned with the flow of change through various preproduction environments culminating in successfully deploying into the production IT environment in the least disruptive manner.Release activities should include planning, designing, configuration, roll-out planning, testing, communication and deployment.Release management should make the change management process more proactive and predictable and is crucial to managing the volume of independent change within any IT organization.Pre-production environments like development, system testing, integration testing, performance testing and user acceptance testing, all fall outside the formal change management controls of IT Operations.Given the velocity at which these environments change during build and test, an appropriate balance needs to be found between agility, flexibility and control.Release management and the release manager truly ensure that the functions of development and operations i.e., the disciplines of agile programming and IT service management come together.While it is common to think of release management as the final promotion of a component into a production environment, we take a far broader view of release management ranging from:  The strategy of establishing quarterly, monthly or fortnightly release windows. Prioritizing the contents of each release.
 Understanding the complex dependencies and tracking delivery as they meet the integrated delivery targets. And lastly, aligning the necessary non-production or test environments to support the coordinated release strategy.
Enterprise release management success depends on the following best practice approaches and they are explained as below Review existing RM process: The first place to start is with a review of the existing Release Management function.This entails a review of the current personnel, processes and tools within the function.A successful release management function is characterized as having capable people, a clearly defined regular process and a tool that supports all participants in the process.
Establish an enterprise release strategy: It is equally important to establish an enterprise release strategy that clearly articulates regular release cycles.As enterprise release management is concerned with ensuring all release components such as projects and work packages arrive at the same time within a defined window for integrated testing it is essential to establish a release strategy that enables the new feature to be deployed to customers at regular intervals.Release management mission and goals are well articulated by using de-facto policies, or by taking a more formal approach.Goals may be metrics that are centered on a number of successful releases, decrease in release based downtime and outages, or more strategically, measuring and growing the topline by an agreed upon percentage.Next is the need to define Rules of Engagement it essentially defines entry, journey through and exit out of the release management pipeline.Examples of these rules can be:  Empowering release management to accept or reject a new release based on specific acceptance criteria. Release manager will sit on all Change Advisory Board (CAB) meetings and will be empowered to assist in analyzing and approving changes. More tactical rules that help with organizing changes into units and groups before releasing into production. Both pre-release and post-release into production quality are tested and will be approved with sign-off from release management. Depending on release and production environment criticality, a back-out strategy to be developed.
Lastly, it is important to define critical success factors that will define the success or failure of a release.These range from measuring number of incidents caused by releases, number of failed releases, number of releases implemented but not tested, number of releases without operational assurance, etc.Other examples of metrics may be number of releases implemented late, volume of major and minor releases, % of releases where back-out plan was used, etc.The most successful enterprise release management functions are those that are exercised regularly and tweak their processes slightly after each release based on the lessons learnt.These organizations strive to hold steadfast when it comes to their broader release management strategy, well defined rules of engagement and the feedback loop that takes the critical success factors into account.

Defining the optimal release management process:
The next step in an effective release management function is to define an optimal release management process.This has the following ingredients:

IDENTIFY THE RELEASE MANAGEMENT PROCESS INPUTS
The release management process should consider the following as inputs to the process-portfolio and program management systems, service management systems, quality management systems, configuration management systems and deployment solutions.

IDENTIFY KEY ACTIVITIES FOR RELEASE MANAGEMENT
Key activities that need to be considered for an effective release management process workflow include release planning, coordination, design, building and configuring of releases, coordinating release acceptance, conducting rollout planning, coordinating release communications, training activities, coordinating distribution and deployment of releases into production, measuring and providing management with overview of release management processes and Key Performance Indicators (KPI).

IDENTIFY THE RELEASE MANAGEMENT PROCESS OUTPUTS
This will closely mimic to the Release Management Process Inputs.Except in this case for example when looking at Incident management, the connection needs to be made as to which release fixed a specific incident and so on.As the service management is linked, the modules like Incident Management, Problem Management, Change Management, Configuration Management, Service Level Management and Service Monitoring are to be focused and aligned with the overall release delivery approach.
People investment: It is critical to invest in the right people to be custodians of the enterprise release function.The team with the best players wins and it is no different in release management.Program Managers and Project Managers will manage a broad set of work stream and activities to deliver to key milestones.Development managers will manage developers and product work packages for deployment.The key roles that participate in a successful release function include the Release Manager, Environment Manager, Test Manager and Implementation Manager.The skills required across these roles include Leadership, Organization and Planning, Technical, Project Management, Communication and Teaming.The Release Manager with executive support is responsible for all releases.He or she should coordinate the various functions and work activities at all levels, provide the authority or ability to promote releases, as required and manage the process end-to-end so as to ensure optimal overall performance and quality.The Environment Manager should ensure proper capacity utilization, configuration and uptime of all environments.Test, Staging and Production Support environments are critical as they each have their own needs, differing degrees of flexibility and also multiple stakeholders with vested interest in using them.The task of the environment manager is to coordinate a limited supply of environments across various release stages and stakeholders.The Test Manager should ensure proper testing protocol is adhered throughout the release process.He or she should ensure testing at each stage (unit testing, integrated testing, user acceptance testing etc.) is adhered to and relevant testing gates are maintained.The test manager should coordinate and communicate with the release manager, the environment manager and development manager.

Tools for effective release management:
As seen earlier, a variety of tools across development, test, operations, are already being used.In addition, a robust release management tool is essential to ensure success of the release management process.Such a tool should help with stakeholder management, communications, release calendar, workflow capabilities, data extraction and reporting, collaboration and auditing the process capabilities, dashboard for various stakeholders and ability to integrate with existing tooling, as well as a robust API for use by other tools in the environment.
Test environment usage and optimization: All phases within the release process require IT environments to be in place for test execution and validation well prior to the completion of any code.The release infrastructure covers the hardware, storage, network connections, bandwidth, software licenses, user profiles and access permissions.In complex integrated and secure environment, this is no trivial matter and requires thorough planning, understanding of interdependencies, alignment of specialist skillsets and resolving contention with competing initiatives.Critical environment bottlenecks must be eliminated early before they hold up delivery.

Staging releases and controlling activities:
Releases encompass many moving parts; transparency and control of each phase within the Release is critical as Releases move through their key phases like integrated gates and milestones, the work packages are being promoted through various environments for various forms of testing and validation.It is recommended to have a transparent baseline of the environments as well as a clear understanding of the composition of work packages being promoted prevents significant rework.
Transparency and stakeholder engagement: A sign of an efficient and working release management function and a worthwhile goal for any IT organization is to be able to publish the target release plan for the next 12 months.While the composition of releases may not be known with certainty, the intent is to lock in the release windows so that all teams work towards not only the final release date but also the intermediate targets such as completion of integrated testing, completion of user acceptance testing and so on.In an environment where targets are continually shifting, being able to set and communicate release windows 12 months into the future essentially shifts the discussion to release composition rather than release date.Once the release dates are defined and approved, stakeholders should be engaged to prioritize outstanding feature requests and allocate them to future releases.There should be certainty around the immediate next release and less definition about the composition of releases scheduled further into the future.Regular structured releases give customers confidence that they can order something and it will be delivered.

Continuous communication:
Regular communication with stakeholders, delivery teams and suppliers is essential to ensure all parties have a consistent view of the expected outcomes and the manner in which they are achieved.All the information's relating to the progress of the release should be always available in a frictionless manner and all parties should have a systematic way of accessing the information they need in real time.

Sponsorship and metrics:
In addition to the above in terms of what we are advocating as Effective Release Management, practitioners should consider having an active senior sponsor, who bode well for any release management function.Additionally, having visible metrics to monitor end-to-end release health is very critical.Taking the time to define these release health metrics and ensuring they are consistently measured and published is essential to establish credibility.Understanding the business impact is critical to the release management function being taken seriously sponsored and prioritized.Finally, understanding the business value is a key to the success of the release management process.
Organizations will definitely benefit by implementing the release management functions focusing on the key areas as explained.

RESULTS AND DISCUSSION
The case study presented in this study was about the creation of the Release Management function in an agriculture based financial institution expecting to improve the organization's ability to deploy into the production environment.The journey of implementation was discussed below through various sub-heading.
Scope for release management:The full scope of this discipline was not clearly defined at the outset of its inception.Therefore, the activities required to integrate this function were more related to addressing impediments to production implementations.Through the combination of education and experience, it became apparent that release management would be similar to program management.In fact, the consulting firm Deloitte has indicated that "a holistic view of release management as a program is essential to putting the right processes in place."As a result, took a more enterprise view of release activities to ensure the right perspective was taken to enhance the success of production releases.Taking this perspective also permitted to identify other processes that were not necessarily related to release management but needed to be done for a successful implementation.The processes related to change management were incorporated into release management scope.A concept that releases can be grouped into two major stages would provide flexibility in delivering releases into production.These stages are Development and Testing followed by a Production Delivery Phase.
Release processes: Though this discipline was new to the organization, there were processes that were executed by the teams related to the release process.The processes addressed first were the ones associated with planning and deployments.In reviewing the planning process it was observed that there was little integration between change control and release management.Therefore, release management assumed some accountability for these activities so some processes were modified to incorporate this which enhanced the organizations ability to get changes flowing efficiently to the production environment.In support of these improvements a variety of documents including templates were created for the processes.This documentation serves as the foundation for the release processes.
Release planning: A plan is required in identification of the critical elements to get a bundled group of changes from development, through testing and finally deployment into production.This plan become a template, which facilitated the bundling process as it provided guidance as to what release packages were best combined to enable the release to deliver a high quality, useable and supportable product to the production environment.Furthermore, this plan provided information that was utilized in building the annual Release Roadmap.This map highlights the scope of the release, deliverables and milestone dates as well as the deployment path through the ITE (Integrated Test Environment).This roadmap plots a Release path to the production environment.
Release roles: Through the implementation of the various release processes it became apparent that input from key IT resources was critical for the release success.Therefore, it was acknowledged that additional roles were needed to be included as part of the release team.The roles and responsibilities were documented and shared with the stakeholders.In addition, due to the technical complexity associated with infrastructure and applications it was determined that another set of stakeholders with the requisite skills were required in preparation of overall release roadmap.These key roles are associated with quality assurance, as well as technical leads and business analysts.
Release testing: One of the critical success factors for the release was quality assurance testing which also includes User Acceptance Testing (UAT).Understanding all of the changes that have been bundled into a release enabled a more thorough testing of the code base planned for production.Moreover, the variety of kinds of tests (volume, stress, performance, etc.) that needed to be included as parts of the release was much easier to define.The enhancement of the test case suite was followed by enabling a more comprehensive regression test inventory.This permitted release management to have a higher level of confidence in the product being deployed into production then at previous times.
Release deployments: Bundled releases provided the various teams to create releases packages that could be integrated and deployed together.The integration of the release packages enabled the release manager to create deployment units for implementation into production.Though there were various repositories for the different release packages, a Configurable Item (CIs) list and a deployment checklist template were created to ensure all releasable items to be deployed during the implementation.Moreover, to ensure that all of the CIs were deployed correctly and in the right sequence, a master deployment checklist was created.This document was paramount to successful deployments as it indicated dependencies and owner of the deployment step.
Release monitoring: Early warning of a release that is in trouble is critical to executing an Annual Release Roadmap.Key indicators that are considered are deliverable milestone dates as well as other detailed information related to testing, such as test case progress and defects.Each release has a dashboard that includes these indicators and is updated on a weekly basis by the leaders (project managers, etc.) of the various streams of work within the release.Any releases that demonstrate signs of missing the scheduled release date are put in an escalated mode where the issues causing the attention are dealt with by a committee of key stakeholders.
Release policies: There were no release policies as such but the change management policies were construed to apply for release management.A more detailed review of these change management policies highlighted the fact that there was no immediate need to enact release policies at that time.However the creation of some of the new release processes was in fact based on outputs from the change policy.Also, though these new policies supplemented change guidelines, it was essential to build release policies to mature release management.

Results of implementing release management:
Overall, release management has enabled more projects and other changes to be deployed into production without the significant delays that were experienced in the past.Better governance processes particularly around deployments mitigated the schedule delays.Enhanced release processes have provided better consistency in how the various teams work within a release as they know what is expected.Quality Assurance testing was more detailed which increased the confidence level in regards to the new deliverables being moved into production.The addition of dashboards to proactively manage releases permitted to address the problems encounter earlier in a release stream.Finally, the effectiveness of Release Management was clearly evident through theculmination of a very successful release containing several critical multi-million dollar projects which were part of a year transformation program.This was a significantly high risk implementation and as a result, a variety of readiness audits were conducted by external consultants.The results of these audits indicated that they were satisfied with the overall release plan to implement this complex bundle of changes.
Fig. 4: Experts opinion about release management Survey: Had an in-depth survey with 118 senior IT professionals related to the need and contribution of release management in the journey of IT delivery aligning to the business needs?The key questions and survey results are shown in Fig. 4. The questions were framed covering all the relevant areas such as product delivery, quality analysis and control, customer interface, stakeholder's management, process capability, internal and external integrations and key metrics.
It is understood from survey that, organizations that rely solely on project centric delivery will encounter various obstacles that will inhibit their ability to implement their deliverables successfully without incurring additional costs and missing key deliverable dates.The major obstacles in common are: Technology: A lack of a thorough understanding of the end to end architecture of organizational technologies increases the risk of failure in the delivery and deployments into production environments.A project with the sole focus to deliver a change into production might not have a detailed understanding of the architecture upon which they are making changes and as a result production outages occurs after deployment into the live environment.
Complexities:Organizations that incorporate significant customizations across their technical landscape increase the complexities in building, testing and deploying new items.An inadequate understanding of the interdependencies on the underlying technologies will undermine project implementation success.
Accountability:Not having a role for the accountability for oversight related to multiple changes within the same delivery stream will deter from a successful project ending.A project manager is driven by his schedule budget and scope to ensure his deliverables are implemented into production.Having one or more projects heading along the same timeline into the production environment without oversight of the technical integrations will result in deployment collisions creating havoc on the Project Manager's schedule.
Planning: Priorities as well as project schedules are key drivers in creating a production delivery plan.An integrated plan for multiple projects is essential to a successful deployment and without input from cross project technical stakeholders -chances of success are greatly diminished.Additionally, if there is a lack of consideration for the business impacts of the change in a plan then the customer perspective could be that the project did not fully succeed.
Survey results also help to interpret that, the inception of release management for some organizations is more driven from a need than a want and still there are room that, many organizations are yet to invest in this area.Mostly, the need for release management was derived from the lessons learned outcomes, which were used to examine the challenges experienced by projects along the road to production implementation.Though not formally recognized within the organization, the practice of release management was being performed by a variety of teams but not in a coherent manner.The summarized result of the survey lead to the fact that the release management benefits were mostly hidden and to name a few are, release management process provides accelerated time to value, enhances agility and flexibility by responding to new, emerging needs or competitive threats as they arise.Effective release management increases the productivity through the creation and enforcement of standards and best practices across the release journey as well as by ensuring more efficient allocation of test environments to support releases.Release management also helps to remove duplication and manual intensive activities in the plan, manage and deploy stage of the release process.Lastly, Release management provides real-time visibility into enterprise-wide release status, which enables stakeholders to prioritize and pinpoint the root cause of potential release failures and mitigate them quickly.

CONCLUSION
We have discussed and presented an approach on the ways to effectively set up the release management function in any organization, which will be a Win-Win for both the information technology and business.In summary, the operation group was tasked with deploying and supporting the releases with a set of agreed process and on the other hand, the development group was tasked with creating software to be released and always tend to be diverse in the delivery following waterfall or agile approach.Both development and operations teams use different tools and different vernacular when they describe their respective environments and it is clearly seen that Release Management is the DevOps glue, as it bridges between operations and development groups and deliver the product as per the business need.It is also evident that establishing release management function leads to accelerate time to value by delivering service to customer on shorter release cycles, enhances the agility and flexibility by quickly responding to new and emerging needs, increases the productivity through the standardized process and efficiently allocating the test environments.As a key responsibility, Release management acts as a coordinator to improve the collaboration between disparate team through the strong policies and governance.Release Management also helps to mitigate the release failure by providing realtime visibility into enterprise wide release status, which enables stakeholders to pinpoint the root cause and mitigate quickly.In future, it is expected to realize more values by automating the deployments and the research may extend to remodel the test environments for better utilization and involving the business stakeholders in various phase gates of major releases which will help further to maintain the business and IT alignment throughout the journey of any product delivery.

Fig. 3 :
Fig. 3: IT delivery workflow management and engineering disciplines to ensure a complete and efficient software delivery process.It further segments by the functions of development, operations and the commonality under the DevOps.It is easy to get carried away into thinking that Development and Operations (DevOps) begins and ends with Application lifecycle Management (ALM) module in conjunction with Automation -Continuous Delivery module, while these different modules serve an important purpose and have been readily embraced by development teams, they still leave huge gaps in the application delivery workflow.Project and portfolio management becomes very important in enterprises and especially Release management provides the glue between development and operations.Organizations with few developers and few applications may take a linear approach to portfolio management.The unicorns tend to have a homogenous environment, a single application and a development driven release approach.The moment we move away from this model, things change radically.A portfolio with multiple products and releases in tandem makes this a very complex workflow!In most enterprise IT departments, development and operations need to work together to deploy applications across complex environment.The applications themselves exhibit a large variety in languages used, in complexity of how they are architected and SLA expectations from consumers within and outside the organization.Lastly in most organizations, development and operations teams are highly distributed and applications themselves are in various stages of their lifecycle-legacy apps, bug fixes, new functionality to new applications, etc. Changes to applications and environments can have far reaching affects, in some