Product go-live parties are important moments.
This is where software development teams bond together in order to recognize another milestone that has been met. Another mountain that has been summited.
The size of the food table varies based on the magnitude of the release. Sometimes just having a chocolate is sufficient to celebrate the fourth release of the week. And sometimes the party can be more elaborate and extend to the establishment down the street.
However, too often these celebrations are interrupted by panicked clients calling with problems related to the hours-old release.
Something was missed. Something wasn’t tested properly. Data has disappeared. Party over…
To avoid this disaster, I’ve written this guide on Promotion Levels and collaborative tools to ensure your product is ready to ship.
Go-Live Day
Software releases can be daunting.
Project managers, product managers and software engineers have all experienced the uncertainty that comes with pushing major software updates into production. While holding their collective breath to see how it goes.
If you’ve worked on a software development team long enough, you’ve had those moments when you just aren’t sure if it is all going to come together.
This is especially true if you’re working on a team operating out of multiple offices.
Go/No-Go Approval Process
With any software product release, it is important that an informed and confident go/no-go decision can be made as the release date approaches.
Ideally, that decision should not be made at the last minute or without the necessary data to support it.
Significant bugs, poor user experience, security problems or even potential roll-backs can be devastating for some companies that rely on key systems to support their revenue or their corporate operations. Or both.
Summarize Quality Controls Using Promotion Levels
Promotion levels define a set of documented criteria which allows the software development team as a whole to effectively measure overall quality for a particular build. Additionally, promotion levels serve as an effective way to summarize quality controls.
By capturing promotion level criteria in the Agile workflow, teams are encouraged to adopt a process that reduces errors and accelerates the approval process.
Promotion levels can reflect successful testing methods such as: unit testing, integration testing, performance testing and even security testing.
Promotion levels can also be used to:
- Ensure all quality control procedures were followed
- Confirm all legal requirements were met
- Ensure all contractually obligated system requirements have been met
- Confirm third-party regulatory requirements have been met
Consistent Naming Conventions for Promotion Levels
Naming conventions for promotion levels must be consistent and they must have documented meaning.
Using consistent nomenclature in test plans, training materials, presentations and even the lunch room can have a powerful impact on whether or not a team succeeds or fails.
Most importantly, the terms have to be paired with meaningful and operational definitions while being put into an actionable state using professional project management tools.
An example of a generic, four-tier promotion level framework could be as follows:
- Bronze : The Bronze promotion level indicates that all unit and component testing has been completed successfully. Examples of release types are low risk bug fixes or small enhancements.
- Silver : The Silver promotion level indicates that all Bronze-level testing was done along with the successful completion of performance, UX, integration and security testing. Silver promotion levels can cover a broad range of release types.
- Gold : The Gold promotion level indicates that all Bronze & Silver level testing was done along with having a QC manager ensure that all procedures have been followed. Additionally, Legal has ensured all legal requirements have been met and the Product Manager has ensured that all “above-the-cutline” features and functionality have been included. Gold promotion levels can be used when complex enhancements are being deployed.
- Platinum : The Platinum promotion level indicates that all Bronze, Silver and Gold level procedures have been followed while adding an extra distinction that can be reserved for new product rollouts. Milestones such as completing tasks associated with accounting, legal, sales, marketing, customer service and third-party authorities can be required before a Platinum-Level release is approved.
Promotion Levels are a Quality Control Multiplier
Promotion levels are key to operating a successful software development organization.
They provide a consistent and objective decision-making framework that defines acceptance criteria while guiding teams through their sprints, user-stories, epics and initiatives.
They also play a vital role in creating the flexibility to treat different types of releases in different ways while using a consistent governance structure.
Integrate Promotion Levels with Your Agile Process
Below are just some of the benefits teams will experience when effectively identifying and organizing releases using promotion levels:
- Test plans can be more easily standardized to reduce testing man-hours and improve quality
- For some release types, promotion levels afford teams the opportunity to sequence testing using a gated and sometimes automated approach
- Approval processes can be standardized and captured in project management tools
- Daily Scrum meetings are more easily organized and can be run more efficiently
- More complex, higher-level releases can be properly scheduled and staffed
- Retrospective review sessions are more organized, more efficient and more effective
Additionally, fully integrated promotion levels can be set-up to work seamlessly with other software development lifecycle (SDLC) techniques, including but not limited to:
- Feature Scores
- Critical Success Factors (CSFs)
- Functionality Matrices
- Project Plans
- Communication Plans
- Style Guides
- Real-time Executive Dashboards
- Customer Service Status Reports
- User Community Communication
Rigor Promotes Flexibility and Speed
Software development organizations are made up of a variety of team members with vastly different skills.
Those teams are required to communicate and collaborate, often from different locations, in order to achieve incredibly complex objectives.
It is imperative that all planning, communication, management and decision making methods are understood by everyone on the team and then put into an actionable state.
Software products and systems are simply too vital to the health and viability of organizations. Relying on simple – but semantically rich – concepts such as promotion levels – help to increase the effectiveness of any communication.
With that said, it is important to note that quality control and Agile methods are not mutually exclusive concepts. They are actually quite complimentary.
Promotion levels are a foundational element in collaborative software development environments where rigor not only mitigates risk, but raises quality and reduces time-to-market.
By utilizing a unified approach to measuring quality, co-workers executing individual tasks are all focused on the same quality goals – even in an Agile environment.