As with most processes in application development, release management is a subjective discipline. There are many effective ways to promote new revisions of code into the production environment. The goal is to create a process that is defined, repeatable, and does not adversely affect the production environment when new code is released.
So that is the best-practice theory. With three tiers of testing, an automated build environment, and pre-programmed automated test scripts with great code coverage – going to production will be risk-free. Many organizations need this level of risk-mitigation – therefore the associated expense and timeline is warranted. On the other hand – many organizations need to trade the risk of a less tested build for budget savings and quicker release cycles.
One of Volano’s primary tenets is pragmatism – in this case pragmatism is also known as practicality. We collaborate with stakeholders to determine what level of release management is needed; typically this is ‘finding the happy medium.’ The minimum requirement is two-fold: cross-developer code testing and a full-fledged test system.
Volano’s standard release cycle is very traditional among project based consulting firms (DEV, TEST, LIVE):
New functions and modules are allocated to plan and timelines are set. This becomes the build.
Development (DEV) – development always takes place within a virtual machine. We use VMWare because it works well for both Windows and Mac. Source code is kept in a controlled repository (link).
Quality Assurance (TEST) – as functions and modules become code complete, developer test, and ready for cross-testing – they are promoted to the TEST environment. As the build comes together – someone other than the developer, but usually within our shop – tests the code.
Production (LIVE) – once the build passes TEST it is promoted to LIVE.
Over the years we’ve developed a number of observations about the software release cycle. I’ll share a few:
Regression bugs are the hallmark of poor revision control practices. True regression issues should be infrequent when developers are using source control appropriately.
Releasing to production should be scheduled when possible. Patch releases introduce risk and frequent production releases cause unstable software. Ideally – builds should be released about every three weeks.
An automated deploy process is more reliable than manually built deploy packages.
We’re building a product around custom application assessments. The assessment is a discovery process that will result in an evaluation of best practices along with important application development documentation in the form of a system master document. This will encompass the current application state and we will offer recommendations regarding how best to move forward. These recommendations will be structured as an actionable plan and will include an estimated effort, costs and proposed timeline.
For the release management component of this assessment, we identify the following:
Getting a grip on release management is very important principle of application development. I would say it is second only to source control in terms of IT management.
May 23, 2022
Is local the real secret sauce leaders deploy for a successful development project? Rod Smith, Volano Software Partner, and Co-founder defines the benefits of working with a local development shop.
March 25, 2022
Are you relentlessly passionate about every detail and every pixel when it comes to front-end development? We’re looking to add a Senior Front-end Developer to join our growing team. At Volano, you will work with a variety of clients and projects alongside a remarkable team of back-end and front-end developers, designers, and management to build […]
March 15, 2022
It was 8:00 am on a sunny morning in Hawaii in January. People were hustling to get to their typical morning responsibilities. Cars were on the highway commuting to work, school, and other destinations when all of a sudden chaos breaks out. People start to panic, kids have been thrust down sewers for safety, everyone […]
February 7, 2022
As we continue to grow, we’re looking for an experienced ASP.NET MVC Developer to join our team. At Volano you will work within our high-functioning team to build web and mobile applications for our clients that make their work easier.
November 5, 2021
As we continue to grow, we’re looking for an experienced Senior Front-End Web Developer to join our team. At Volano you will work within our high-functioning team to build web and mobile applications for our clients that make their work easier.
April 23, 2021
We’re looking for an Operations Coordinator to join our team. At Volano you will work within a high-functioning team that builds and supports web and mobile applications for our clients that make their work easier.