CARDA Systems Development Methodology
CARDA is developed using a structured, risk-aware methodology designed to ensure reliability, usability, and continuous improvement. Drawing on principles from aviation Safety Management Systems (SMS) and modern software development practices, this methodology emphasises clarity, accountability, and incremental delivery.
1. Development Philosophy
CARDA is built on a pragmatic philosophy:
- Build only what is needed — avoid unnecessary complexity
- Deliver early, refine continuously
- Make systems observable and measurable
- Prioritise reliability over novelty
Development is iterative, but not chaotic. Each iteration is purposeful and aligned to operational outcomes.
—2. Lifecycle Model
CARDA follows a structured, iterative lifecycle aligned with the Software Development Life Cycle (SDLC), adapted for operational systems.
Stages:
- Define — clarify problem, users, and outcomes
- Design — structure data, workflows, and interfaces
- Build — implement functional components
- Verify — test against requirements and edge cases
- Deploy — release into controlled environment
- Monitor — observe performance and usage
- Improve — refine based on evidence
Each stage feeds the next, forming a continuous improvement loop rather than a one-off delivery.
—3. Risk-Based Development (SMS Alignment)
Development activities are prioritised and managed using a risk-based approach:
- Features are assessed for impact and likelihood of failure
- Higher-risk components receive greater design and testing effort
- Changes are evaluated against potential unintended consequences
All development aims to reduce risk to As Low As Reasonably Practicable (ALARP).
—4. Core Development Practices
4.1 Incremental Delivery
Functionality is delivered in small, testable increments. Each increment must be:
- Usable
- Testable
- Reversible if required
4.2 Evidence-Driven Decisions
Decisions are based on:
- User behaviour
- System data
- Observed issues
Assumptions are validated quickly and adjusted where necessary.
4.3 Simplicity First
Solutions favour clarity and maintainability over complexity. If a system becomes difficult to explain, it is redesigned.
—5. Quality Assurance
Quality is built into the process, not inspected at the end.
- Code Review — ensures consistency and correctness
- Functional Testing — verifies expected behaviour
- User Testing — confirms usability and clarity
- Regression Testing — prevents reintroduction of issues
Testing effort is proportional to system risk.
—6. Change Management
All changes are controlled and traceable:
- Changes are logged and described
- Impacts are considered before implementation
- Rollback options are maintained
Where appropriate, changes are released in stages to minimise disruption.
—7. Just Culture in Development
CARDA adopts a Just Culture approach:
- Errors are treated as learning opportunities
- Issues are reported without blame
- Focus is on improving systems, not assigning fault
Deliberate negligence or reckless behaviour is not acceptable, but honest mistakes are expected and managed constructively.
—8. Continuous Improvement
CARDA is never considered “finished”. Improvement is ongoing and driven by:
- User feedback
- System performance data
- Identified risks and inefficiencies
Enhancements are prioritised based on operational value, not novelty.
—9. Tooling and Environment
Development is supported by practical tooling aligned with system needs:
- Version control for traceability
- Structured data models (ACF / database design)
- Automated and manual testing approaches
- Logging and monitoring tools
Tools are selected for effectiveness, not trend alignment.
—10. Governance and Accountability
Responsibility is clearly defined:
- Developers are accountable for implementation quality
- System owners are accountable for operational outcomes
- All stakeholders contribute to continuous improvement
Decisions are documented to ensure transparency and continuity.
—Summary
The CARDA Systems Development Methodology combines structured engineering discipline with practical delivery. It ensures that systems are:
- Reliable
- Understandable
- Adaptable
- Aligned with real-world use
This approach reflects the core principles of CARDA and 2EARTH:
Make it make sense. Make it work. Make it reliable.