Appreciate the Circle of a Product's Life: Part II
Understand the steps involved in the life cycle of a product.
Release
Project managers have a saying: the software is done when we rip it out of the programmer’s hands. Our team will never be fully ready for release, but at some point, management decides they’re done waiting, so they will take it out of our team’s hands and ship it. While a product release might seem like a one-day event, it’s a huge logistical challenge for the entire company. It includes manufacturing (for hardware) and gets their line going, the deployment team (for websites) stages the rollout of the site, marketing does a big push to get the message out, sales start booking orders, support responds to customer problems, and so forth.
We’ll have enough work within engineering to keep us busy. Our team will have a release process that will go like this:
- Before release, the build master or technical lead will use the version control system to create a “stable” release branch separate from the mainline code. There will be some policy on the release branch to control changes. Usually, that requires code review and sign-off from the technical lead.
- When the team thinks that the release branch is ready, it will be tagged as a release candidate. Someone will do an official RC build. This will get a unique version number, like “1.0-RC1.”
- The test department and possibly external beta testers will work on RC1 and flush out bugs.
- We will repeat these above steps until management calls it done. The final release candidate will get one last change in