Today, many customers expect to be met with fast releases, improvements and feedback response. Just as Facebook and Amazon continuously roll out updates, modern organizations need efficient release management to better meet expectations and demands.
Release Management is a discipline within software development that takes care of composition, packeting and installatio of software and makes it available for the product’s end users. A common misconcenption is that release management is something to look at in the end of the development cycle. It’s actually the opposite – release management should be well integrated in the entire development process in order for the project to work as well as it can.
Release management and feedback response
As a result of an increased need for customer demand handling, development tems need to organize suitably. The most common of these ways of organizing is agile and lean. A central part of lean and agile is iterative and incremental development of products, something that challenges traditional development in the sense that the product is being delivered considerably more often. Therefore, the product needs to be deployed, installed and tested more continuously and more often. In order to manage both more and faster deliveries, you need an efficient release management process.
The goal of better release management is to reduce the time from change decision to user availability. As a result, a well implemented release process can cut lead times from days to minutes using well defined actions and a big amount of automation.
A successful release management strategy includes:
- Visibility, transparency and participation – the more every team member can see and understand, the better the process will work.
- A repeatable process, a pipeline, that defines the different steps that needs to happen to go from checked-in code to released product.
- Clear feedback for quick error measures in the process.
- Tools enabling the team to release any version of the product to any environment at any time.
- High amount of automation to cut time requirement and human error.
Microsoft tools for release management
In order to practically implement a release management process you need a suitable tool. If you’re working with Microsoft tools today there are integrated solutions for release management included in both Team Foundation Server (TFS) 2013 and up as well as in Visual Studio Team Services (VSTS). In conclusion, these solutions include:
- Integration with TFS and VSTS which enables various automation possibilities
- Clear visual release flow definitions
- Good access controls where you can control who is authorized to do what in the release process
- Transparency – it’s easy to see what the process looks like and where a release is at each stage
- Feedback, both directly in the tool or as mails directed to people in charge
All of these make TFS and VSTS great tools for release management.
Have you an integrated RM strategy? Have you encountered any issues you want to discuss? Let us know below!