Metrics for maintainability
Description
Simpl-Open shall collect, monitor and analyse maintainability metrics to ensure the system remains easy to modify, update, and debug throughout its lifecycle, while controlling technical debt and guiding continuous improvement.
SMART Breakdown
- Specific : Maintainability metrics shall include:
- Code complexity (e.g. maintain cyclomatic complexity below 15 per method),
- Test coverage (e.g. ≥ 80% unit test coverage, ≥ 100% functional test coverage for critical paths),
- Bug frequency (classified by severity: Critical, High, Low),
- Mean Time to Resolution (MTTR) for issues,
- Documentation completeness rate.
These metrics will be used to proactively monitor the system’s maintainability.
- Measurable: Metrics shall be automatically collected and reviewed at regular intervals. Key thresholds include:
- 80%+ unit test coverage,
- 100% functional test coverage for priority use cases,
- Monthly tracking of critical defect rate (< 5% of total bugs),
- Average issue resolution time within agreed SLAs.
- Achievable: Metrics will be collected using tools such as SonarQube (code quality), Jacoco (test coverage), Fortify (static code analysis), and Jira (issue tracking). Dashboards will centralise reporting and trend analysis.
- Realistic: This practice is already widely adopted in modern development pipelines. DevOps, QA, and Architecture teams will be involved in implementation and continuous improvement processes.
- Timely: Maintainability metrics shall be defined and implemented from the first development phase. Metrics will be reviewed during each sprint review or release milestone, and corrective actions will be triggered when thresholds are exceeded.
Detailed Non-Functional Requirement | Issue ID: SIMPL-9939 | Status: Proposed |