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.
January 19, 2021
Software development is a team-based endeavor because of the complexity involved in launching a new system. Gone are the days when one developer can be point on the whole back-office software stack. It now takes multiple specialized roles to (appropriately) fulfill the software delivery lifecycle. A typical software project requires: Leadership Product management Project management […]
January 13, 2021
One definition of rot is the process of deterioration. Something that decays over time. By this standard – software rots like food in the Nebraska heat. It’s true. If your software isn’t regularly updated, it deteriorates and breaks down. Consider this – software is written to work at a moment in time…but time marches on. […]
January 4, 2021
OMAHA, NE, January 4, 2021 – In late 2020, Volano Solutions announced it has changed its name to Volano Software and launched a new website: www.volanosoftware.com. The name change was made to more accurately reflect what the company does, and the website was designed to be more informative and user-friendly to clients and prospective clients […]
June 2, 2020
According to LinkedIn technology (software) has a higher overall turnover rate than retail. With that, it isn’t a matter of if, but a matter of when. Volano has engineered a culture of “by developers, for developers” and this helps our retention. In fact, most of the folks that work at Volano have been here +5 […]
June 2, 2020
It is hard enough to build a successful business, and few want to invest time and resources into worrying about an Intellectual Property Assignment. But alas, you must do your homework. Fortunately, we make it easy for Volano customers. When asked – “Who owns the software and IP for my project?” – it is an […]
May 28, 2020
Many of us remember the grade school game Telephone. It was funny to see how a simple message would get garbled as it was passed along from person to person. But it’s not as funny when that message is a critical business requirement that will be turned into software that will power your business. Yet, […]