Testing and release quality
Useful for
Introduction
Deployment safety depends on more than blue/green infrastructure. The team needs confidence that the thing being deployed is known, tested and reversible.
Testing is not about chasing a perfect coverage number. It is about reducing uncertainty before a change reaches users. Release quality is the operating discipline around that testing: what must be checked, who approves the change, how it is deployed and how the team knows it worked.
Detailed model and control considerations
The company should define expectations for:
- Unit, integration and end-to-end testing.
- Smoke tests after deployment.
- Test data rules.
- Database migration tests.
- Rollback and roll-forward testing.
- Release notes.
- Versioning and API compatibility.
- Manual approval points.
- Production change visibility.
- Defect triage after release.
Database changes
Database migrations deserve special attention. A failed code deployment can often be rolled back quickly. A failed schema change can be harder to reverse, especially once users have written data against the new version.
The team should decide whether migrations are backward compatible, how they are tested, how long old code and new code can run together, and whether rollback or roll-forward is the safer recovery path.
Release evidence
For early customers, evidence matters. The team should be able to show what changed, who approved it, what tests ran and whether the deployment succeeded.
This does not need heavyweight change management. A pull request, pipeline run, release note and smoke test record may be enough at first.
Pragmatic approvals
In an early startup, there may not be many engineers. Perfect separation of duties may be impossible at the start. The answer is not to remove the approval barrier; it is to keep the barrier and allow a pragmatic version of it.
Self-approval can be acceptable for a small team if it is deliberate, visible and temporary. A pull request should still exist. Branch protection should still exist. The pipeline should still run. The deployment should still be traceable. The engineer may approve their own change, but the evidence should show what changed, why it changed, what tests ran and how it was deployed.
This should be recorded as a startup constraint, not treated as the permanent target operating model. The trigger for tightening should be clear: more engineers, external users, production data, regulated customers or stronger customer commitments.
How this evolves as the company grows
- At POC, testing can be pragmatic but the team should know what has and has not been proven.
- Before Pilot, release quality needs to protect external users from avoidable breakage and data loss.
- Before Production, testing, deployment traceability, rollback or roll-forward and penetration testing become part of customer trust.
- At scale, testing and release quality should evolve with customer dependency, support load and contractual promises.
What an agent should look for
- What has actually been tested?
- Can releases be traced and reversed?
- Does quality evidence support customer promises?
What good looks like
The company can explain the decision, show the evidence behind it and identify the next point where the control needs to mature.
How Brokenhouse helps
Turn this into a practical plan.
I help technology teams turn this guidance into decisions, implementation plans, governance evidence and production-ready operating models.
Talk through your situationNext guidance
Related decisions to work through
Agent-led consultancy should amplify judgement
Agents should not replace expert judgement. They should help capture, structure, challenge, and reuse it.
Azure Dev Platform Modernisation
Describe the organisation, product, team shape, delivery model, and operating constraints.
Agentic software delivery governance
Agents used by the delivery team need a different governance model from AI models embedded in the product. Delivery agents may not be part of the customer-facing service, but they can still create risk because they may read code, write code, inspect logs, summarise documents, generate infrastructure changes or draft customer-facing material.