Introduction to Software Development Life Cycle
The is a structured methodology used by the software industry to design, develop, and test high-quality software within time and cost estimates. Whether you are a two-person startup shipping an or a 5,000-engineer enterprise coordinating dozens of teams, the SDLC provides a shared language and framework for turning ideas into reliable software.
Without a defined lifecycle, teams fall into common traps: requirements drift mid-build, untested code reaches users, deployments break production, and nobody knows who owns what. The SDLC does not have to be heavyweight - it simply needs to be intentional. The right amount of process depends on your team size, risk tolerance, and regulatory environment.
The Phases
The classical SDLC typically follows a series of distinct phases. Each phase relies on the information from the previous phase to produce its own deliverables.

- Planning and Design: Gathering requirements and architecting the solution.
- Code: The actionable part where developers write the software.
- Verify: Testing the software to ensure it solves the problem and is bug-free.
- Integrate: Combining modules and managing dependencies.
- Release: Packaging and preparing the software for delivery.
- Deploy: Moving the software to production environments.
- Operate: Running the software in the real world.
- Monitor: Observing system health and user behavior.
SDLC Models
There is no single "correct" way to move through these phases. Over the decades, several models have emerged - each optimising for different constraints.
Waterfall
The original sequential model: requirements first, then design, then build, then test, then deploy. Each phase completes fully before the next begins.
- Strengths: Clear milestones, easy to understand, well-suited to projects with fixed and well-understood requirements.
- Weaknesses: Late feedback, expensive to change direction, high risk of building the wrong thing.
Agile (Scrum and Kanban)
methods break work into small increments delivered in short cycles.
- : Time-boxed sprints with defined roles and ceremonies. Best when teams need predictable cadence and clear accountability.
- : Continuous flow with WIP limits. Best when work is interrupt-driven or arrival rates are unpredictable (e.g. support teams, platform teams).
Lean
Inspired by manufacturing, focuses on eliminating waste, delivering fast, and amplifying learning. Build only what is validated by the customer. Lean thinking underpins both Agile and modern startup methodology.
DevOps and CI/CD
is not a separate model but a cultural and technical layer that accelerates any model. By automating integration, testing, and deployment (), teams can deliver changes in minutes rather than months.
Scaled Frameworks
When multiple teams must coordinate, organisations often adopt scaled approaches:
- : Heavy structure for large enterprises with program increments and release trains. Read more here.
- Spotify Model: Autonomous squads grouped into tribes, chapters, and guilds.
- LeSS / Nexus: Lighter-weight scaling of Scrum to multiple teams.
Choosing the Right Model for Your Company Stage
The "best" model is the one your team can actually follow consistently. As a company grows, its process needs evolve.
- Startup: Start with Kanban or lightweight Scrum. You need speed and flexibility above all else. Avoid heavy ceremony - a simple backlog, weekly planning, and continuous deploys will serve you well. The founder or product lead often acts as the Product Owner directly. Focus on validated learning and rapid iteration toward .
- Growth Stage: As the team grows past 8-15 engineers, introduce Scrum with 2-week sprints or a structured Kanban with explicit policies. Define clear roles (Product Manager, Tech Lead, ). Invest in and automated testing to maintain velocity as complexity increases. Start formalising cross-team planning with quarterly roadmaps.
- Established: At scale (50+ engineers, multiple teams), adopt a scaled framework (SAFe, LeSS, or a custom approach). Introduce architecture review boards, formal release management, and compliance gates. The key challenge shifts from speed-to-market to coordination, reliability, and governance - while still preserving team autonomy where possible.
Adopting SAFe or heavy Scrum ceremonies at a 5-person startup adds overhead without value. Conversely, running a 200-engineer organisation on ad-hoc Kanban with no cross-team coordination will lead to chaos. Match the weight of your process to the weight of your organisation.
Key Principles for SDLC Success
Regardless of which model you choose, these principles apply universally:
- Iterative Delivery: Ship small increments frequently. Shorter feedback loops reduce risk and accelerate learning.
- : Move quality activities (testing, security, accessibility) earlier in the lifecycle where they are cheaper to address.
- Continuous Feedback: Build feedback mechanisms at every stage - from user research in planning, to code review in development, to monitoring in production.
- Ownership and Accountability: Every phase needs a clear owner. Ambiguous ownership is the root cause of most process failures.
- Automate the Repetitive: Manual gates slow teams down and introduce human error. Automate builds, tests, deployments, and compliance checks.
- Measure What Matters: Use (deployment frequency, lead time, change failure rate, mean time to restore) to track process health - not developer activity.
The Evolution to AI
While the core principles of SDLC remain constant, the tools and methodologies are evolving. Generative AI is now enhancing each of these stages, offering not just automation but of human capabilities.
Generative AI is revolutionizing the SDLC by:
- Reducing Overhead: Automating documentation and repetitive tasks.
- Predicting Issues: Using historical data to foresee risks in planning or deployment.
- Accelerating Creation: Generating code, tests, and configurations near-instantly.
One issue that software teams often face is questions over the positive impact of AI tools. Jellyfish helps provide productivity insights and usage data to help teams understand the impact of AI tools.
When developing AI-driven technologies, it is often best to follow an iterative development process, cycling through the SDLC phases multiple times before entering the maintenance phase, helping fully refine the technology to real world use cases.