Software Development Life Cycle (SDLC): A Value Driven Approach
A departmental approach to delivering successful digital solutions.
TL;DR Our SDLC is a value-driven framework for delivering and managing digital solutions that are fast, safe, and centred on real user needs. It balances strategy, structure, and agility - empowering teams to build meaningful, evolving products through continuous quality, collaboration, and purpose.
Start with WHY
To deliver and manage better digital solutions - faster, safer, and with purpose.
Driven by our values
At its heart, an SDLC is not just about writing code or following process. It’s about solving real problems for real people - through technology that’s responsive, inclusive, and sustainable.
- Customers first: We build with, not just for, our users - placing their needs at the centre of every decision.
- Ideas in action: We test, learn, and adapt quickly - embracing iteration and innovation to deliver what works.
- Unleash potential: We empower teams to own their craft, grow their capabilities, and challenge the status quo.
- Be courageous: We challenge outdated practices and simplify where complexity holds us back.
- Empower people: We build systems that serve people - our colleagues, stakeholders, and the communities we support.
What is a SDLC?
Before we try to define how to implement SDLC, we should unpack what it is.
- Software: Not just code, but a digital product created to solve real problems.
- Delivery: The act of placing something tangible and desirable into the hands of those who want it, when they need it.
- Life: The digital product is alive. It does not exist in a vacuum. It should evolve, adapt, and respond to its environment.
- Cycle: Development is not linear but cyclic. It will move and loop through various phases during its existence.
SDLC can be described as a combination of strategy, framework, and methodology.
- SDLC as a strategy: The organisational intent and purpose behind how products are delivered sustainably and successfully.
- SDLC as a framework: The structure that outlines the stages of software development from idea to retirement.
- SDLC as a methodology: The practices used to develop and deliver software solutions. Tools and processes like Agile, Waterfall, DevOps, Lean, HCD, SAFE, etc.
“The SDLC is the whole process by which a digital solution is imagined, created, delivered, and evolved - to bring ongoing value to the people who use it.”
Guiding Principles
- Solutions must be valuable and usable: We listen to real users and measure success through adoption, not just delivery.
- Speed is nothing without safety: We release small and often, backed by automation, QA, and safe-to-fail practices.
- Change is expected: Systems must be built for adaptability - technically, culturally, and procedurally.
- Quality is everyone’s job: Testing, review, and validation are embedded everyday activities, not infrequent and gated.
- Collaboration beats handover: Designers, developers, testers, stakeholders and users work together throughout. It’s a team sport, not a relay.
- Simplicity supports flow: Complexity breeds confusion, delay, and waste. We reduce unnecessary gates, zones, and clutter. Just enough, just in time.
Pillars of Success
- User-centred: We co-design with users and validate ideas early and often.
- Outcome-focused: Success is measured through community value, not feature completion.
- Continuous quality: Quality is integrated from the start, supported by automated testing and shared ownership.
- Fast, safe releases: We deploy often, using strategies like canary, blue/green, and feature flags.
- Smaller is smarter: We break work into manageable chunks for speed, learning, and risk control.
- Sustainable change: Architecture, documentation, and ops are built for evolution—not just the next release.
- Lean governance: Approval processes are right-sized to risk. Readiness is part of the work, not a gate at the end.
- Environments that enable: Deployment pipelines and environments are streamlined for speed, safety, and self-service.
SDLC: A Brief History
Before we explore modern SDLC practices, it’s useful to reflect on how far we’ve come and why change is necessary.
- 1970 – Waterfall model: Inspired by physical engineering, the Waterfall model followed strict, sequential phases with upfront requirements and rigid gates. It gave executives predictability and control - ideal for large, hierarchical environments.
- 1980 – Iterative thinking: Barry Boehm’s Spiral Model introduced risk-driven loops and early forms of iteration - acknowledging that change is inevitable.
- 1990 – Lightweight Methods: Frameworks like RAD and DSDM emerged to speed up delivery and reduce software bloat. These methods embraced prototyping and user involvement.
- 2000 – The Agile manifesto: Seventeen practitioners met in Snowbird, Utah, and redefined delivery - valuing individuals, collaboration, and working software over documentation and process.
- 2010 – Continuous delivery & DevOps: CI/CD pipelines, feature flags, and cloud-native tooling allowed teams to release frequently and safely. DevOps blurred the line between build, test, and operate - bringing a culture of shared responsibility.
- 2020 – Human-centred, outcome-driven: Focus shifted from shipping features to delivering lasting value. HCD, lean experimentation, and product thinking became essential - especially in digital public service delivery.
As we reflect on this journey, it’s clear that change isn’t just inevitable, it’s essential. Each evolution of the SDLC has responded to new challenges, technologies, and expectations. To deliver meaningful digital services today, our SDLC must remain flexible, human-centred, and ready to adapt.
Practices Over Phases
Historically, a ‘step by step’ phased approach has been taken to deliver software. While this suited mainframes, punch cards and burning CD-ROMs – it is no longer fit-for-purpose in today’s fast-moving environment. Rather a ‘best practice’ mindset should be adopted that aligns with our goals and values. Practices aren’t linear steps to follow - they’re disciplines we cultivate to deliver and evolve digital solutions with confidence, quality, and care.
Core Practices of SDLC
These are not phases to follow, but practices we engage in - intentionally, iteratively, and continuously. Each practice reflects a mindset and discipline that supports sustainable, user-centred delivery. They can occur in parallel, loop back, or fade in and out depending on the context. What matters most is that we actively engage in each practice, at the right time, for the right reason.
- Discovering: Understanding people, problems, and possibilities through research and exploration.
- Defining: Creating clarity of purpose, goals, priorities, and value.
- Designing: Exploring and validating ideas through prototypes, feedback, and co-design.
- Developing: Crafting working software through collaboration, code, and configuration.
- Testing: Ensuring quality, usability, and safety throughout the delivery cycle.
- Deploying: Delivering working software into the hands of users - early, safely, and often.
- Operating: Supporting and observing live systems to ensure reliability, performance, and trust.
- Learning: Measuring impact, gathering insights, and continuously improving outcomes.
Let’s take a detailed look at each of these in turn, and review what methodologies, processes, and tools best support each endeavour.