Breaking Down the SaaS Release Management Process

The function of SaaS Release Management within an organization is to coordinate and manage code deployments, including the tools used for these particular deployments, track changes within an organization and provide a “Checks & Balances” system for various releases.

Therefore, Release Management is responsible for interaction with Engineering & Network Operations; Product Management related to all releases, as well as tracking all Release deployment details such as where, when, and why; any documentation related to deployments; and even leading the entire deployment tools team.

Typically, a successful Release Management system plays a critical role in the overall success of a SaaS Company, especially because of the constantly changing environment that it requires.

Breaking Down the SaaS Release Management Process

Code Deployment Coordination & Management

This includes:

  • Managing the Definitive Software Library (DSL), which stores master copies of every software – both internally created and those belonging to a third party
  • Documentation related to all deployments
  • Providing Environments to be used by QA for various testing, and conducting validation deployments necessary in Pre-Production systems
  • Coordination of Product, Engineering & Network Operations requirements concerning future Releases, including any issues with current Releases (as they arise)
  • Coordinating the Release schedule
  • Deployment Tools Management
  • Coordination with various groups to develop a backlog for improvement of deployment tools
  • Working through the backlog in order to deliver valuable and timely improvement that is critical to the entire deployment process
  • Tracking code change

This involves:

  • Deployment tracking (when, where, how, why changed, and who changed the tracking code)
  • Version tracking (versions available)
  • Any problems arising from update, as well as their resolutions
  • Checks & Balances system, which involves:
  • Confirming that all completed Users Stories are seamlessly deployed, and on schedule
  • Understanding the customer, as well as operational impact of that particular Release
  • Release Management Details

SaaS Release Management provide critical Release information for SaaS solutions, a holistic (people, process, technology) approach, considering all aspects of typical change, as well as planning, communications and all deployment activities to have as little impact as possible on customer usage of the solution.

Process Goal – You can achieve the process objective by observing the following:

Information Technology Infrastructure Library (ITIL)-aligned Release Management policies, procedures, and processes.

Collaborating with other organizations outside of the technology groups representing your customers, taking into consideration all stakeholders impacted and ensure the service is properly tested, in customer’s view, following implementation

Ensuring shipping of what is planned for Release

  • Having dedicated Release Manager
  • Analyzing impacts –both internal and external – for Releases to coordinate efforts between critical internal teams
  • Implementing a set of standard repositories necessary in order to maintain all authorized versions of specific software

Critical Success Factors

Producing Operable Deployment Solutions

  • Insuring the proper implementation of all Releases into Production, error free and on-time
  • Controlling Releases to Production
  • Implementing Release Management as a Service
  • Reducing “time of impact” for all Releases

Key Performance Indicators (KPIs) Examples

Each is mapped to an already highlighted Critical Success Factor (CSF), and they are:

  • Producing Operable Deployment Solutions, which includes number of:
  • Implementations without the approval of Release Management
  • Implementations not featuring in Release Management deployment tracking list
  • Failed Deployments (including Network Operations in need of assistance from Engineering in order to complete deployment)
  • Deployment incidents per Release
  • Controlling Releases to Production

This includes number of:

  • Releases implemented with no change documentation
  • Hotfixes
  • Releases implemented without adequate testing
  • Insuring the proper implementation of all Releases into Production, error free and on-time

Number of:

  • Releases implemented; and
  • Releases implemented late (without adhering to scheduled timeline)
  • Reducing “time of impact” for all Releases

Reduce time:

  • From QA Hand-off, to Production Release (where necessary/possible)
  • Of deployment relating to customer downtime (where necessary/possible)

The Execution of SaaS Release Management can be done using manual procedures for configuration deployment, but this is attaches a higher cost to the organization in terms of labor expenses and operational efficiencies.

Automated Release Management tools for SaaS provide a better management solution in terms of cost, effectiveness and operational efficiency. These tools may be incorporated into the cloud-based service platform that is used in delivering cloud-based software applications. For instance, an excellent platform offering may include management tools that avail the following capabilities to SaaS providers:

Upload software patches

  • Upload completely new application images through web-based interfaces
  • Run parallel versions of various applications in a testing sandbox, including production stage upgrades, all at the click of a single button
  • Enable role-based security over the application lifecycle events
  • Capacity for continuous integration

The offering should also include a Service Management and Configuration component to provide SaaS providers with the much-needed interface to enable them track and version their web services, including web service dependencies and all the changes over time, all for one easily accessible catalog.

It is the combination of capabilities and features available within the cloud-based platform of a SaaS application that can majorly impact the success of a SaaS offering. The main reason is that the “software-as-a-service” delivery model requires continual software releases deployment within shorter time frames.

For this reason, the use of a tightly integrated set of management tools becomes imperative to the overall success of SaaS providers, to allow them avoid the pitfalls of substandard quality software and application downtime; these are more likely to take place when manual release management processes are used.

An excellent platform offering would provide Independent Service Vendors (ISVs) with the basic tools necessary to enable one excel in the increasingly competitive and constantly challenging cloud services marketplace.

Conclusion

SaaS Release Management is the scheduled deployment of any program code changes for organization’s cloud-based software applications, including: bug fixes, upgrades and enhancements.

It resembles traditional software release management, as it requires the capacity to not only store, but also retrieve and even deploy various releases or software versions from an entire catalog of software applications.

However, the major difference between the two is that traditional software release management requires distinct software versions for very specific platforms/ operating systems.

SaaS Release Management, on the other hand, differs because software releases only require deployment to a single platform, which is the web, and this greatly reduces the cost and even the complexity of software release management, resulting in a reduction in workload on IT staff.

 

saas

Omri Erel
Omri is the Head of Demand Generation, as well as the Lead Author & Editor of the SaaSAddict Blog. Omri established the SaaSAddict blog to create a source for news and discussion about some of the issues, challenges, news, and ideas relating to SaaS and cloud migration.
Omri Erel on sabtwitterOmri Erel on sablinkedinOmri Erel on sabgoogleOmri Erel on sabfacebook