Architecture
Concepts
Maturity Gates
Maturity gates are a way for developers to control data and traffic access throughout their team's software development lifecycle.
A maturity gate is a definition for when a version of a service can be considered stable or secure enough to get exposed to more production-like data and traffic, and can pass to the next flow (from QA to production, for example).
Some examples of maturity gate definitions, paired with the flows they may have:
- No pull request (early development version) → Isolated Dev Flow
- Pull request, unmerged → Preview Flow
- Merged, CI passes → QA Flow
- Passed Manual Review from the QA team → Staging Flow
- Baked in Staging Flow for 24 hours → Production Flow
Maturity gates are highly configurable, so you can design any qualifications necessary to define your own maturity gates and the flows they correspond to.