Software Development Life Cycle (SDLC): Phases, Waterfall & Agile Models Explained for SSS 3 Students | Digital Technologies

 


Software Development Life Cycle (SDLC)


Introduction

Think about the last time you used a banking app like GTBank or Opay on your phone. Did you ever wonder how that app was built? Who planned it? How did the developers know what features to add, and in what order? The answer lies in something called the Software Development Life Cycle, or SDLC.

Every software application — from the school management system your school might use to the JAMB CBT portal where thousands of Nigerian students sit their exams — was built by following a structured process. That process is what we call the SDLC.

As an SSS 3 student preparing for WAEC, NECO, or even a future career in technology, understanding SDLC is not just important for your exams. It is the foundation of how real-world software is made. Nigeria's tech industry, home to companies like Flutterwave, Paystack, and Andela, runs entirely on the principles you are about to learn.

In this lesson, we will break everything down step by step — in plain English, with examples from everyday Nigerian life.


Learning Objectives (NERDC Style)

By the end of this lesson, students should be able to:

  1. Define the Software Development Life Cycle (SDLC) and explain its purpose in software engineering.
  2. Identify and describe the key phases of the SDLC in correct sequence.
  3. Explain the Waterfall model and its characteristics with practical examples.
  4. Describe the Agile model and how it differs from the Waterfall approach.
  5. Compare the advantages and disadvantages of both the Waterfall and Agile models.
  6. Apply SDLC concepts to real-life Nigerian software development scenarios.

What Is the Software Development Life Cycle (SDLC)?

The Software Development Life Cycle (SDLC) is a step-by-step process or framework that software developers and teams follow when planning, creating, testing, and delivering a software application.

Think of it like building a house. Before a builder lays even one brick, there is a plan — an architect draws a blueprint, the materials are gathered, the foundation is laid, walls are built, the roof is added, and then the house is inspected before anyone moves in. Software development works in a very similar way.

The SDLC ensures that software is built in an organized, efficient, and high-quality manner. Without it, developers would be working randomly, missing important steps, and producing software full of errors.

Why Is SDLC Important?

  • It reduces the risk of project failure.
  • It saves time and money by catching problems early.
  • It ensures the final software meets the user's needs.
  • It makes it easier for teams to collaborate and communicate.
  • It produces software that is reliable and easy to maintain.

The Phases of the Software Development Life Cycle

The SDLC is made up of six main phases. Let us go through each one carefully.


Phase 1: Planning

This is where everything begins. Before any code is written, the development team and the client sit down to answer some basic but very important questions:

  • What problem are we trying to solve?
  • What resources (people, money, time) do we have?
  • Is the project even feasible?

Nigerian Example: Imagine a Lagos-based entrepreneur who wants to create a delivery app similar to Chowdeck or Glovo. The planning phase is where she would meet with her development team to decide how much the project will cost, how long it will take, and whether it can actually be built.

A proper plan at this stage saves the team from wasting months of work on a project that was never going to succeed.


Phase 2: Requirements Analysis

Once the project is approved, the team digs deeper. In this phase, developers work closely with the client and end users to understand exactly what the software should do.

These requirements are divided into two types:

  • Functional Requirements — What the software should do (e.g., "Users should be able to track their food order in real time").
  • Non-functional Requirements — How the software should perform (e.g., "The app must load within 3 seconds on a 4G network").

Nigerian Example: If a Nigerian university wants to build a student portal, the requirements analysis phase would involve interviewing students, lecturers, and the school's administrative staff to find out what features they need — like checking results online, paying school fees, or viewing lecture timetables.

This phase produces a document called the Software Requirements Specification (SRS), which serves as a guide throughout the rest of the project.


Phase 3: System Design

Now that the team knows what to build, they plan how to build it. The design phase creates the blueprint for the entire software system.

This includes decisions about:

  • System architecture — How different parts of the software will connect.
  • Database design — How data will be stored and organized.
  • User interface (UI) design — What the screens will look like.
  • Technology choices — Which programming languages, tools, and frameworks will be used.

Nigerian Example: Building a fintech app like a loan platform would require the design team to decide how user data will be securely stored, how the loan calculation engine will work, and what the dashboard will look like for customers.


Phase 4: Implementation (Coding)

This is the phase most people picture when they think of software development — the actual writing of code. Developers use the system design documents to begin building the software.

The work is usually divided among different team members:

  • Frontend developers build what users see on the screen.
  • Backend developers build the logic and database behind the scenes.
  • Mobile developers build the app version for phones.

Nigerian Example: At a company like Andela or a startup on Yaba's "Silicon Lagoon," this phase is where engineers sit down and start writing the actual lines of code that make the software work.


Phase 5: Testing

Before software is released to the public, it must be thoroughly tested to find and fix any bugs or errors. A bug is a mistake or flaw in the code that causes the software to behave in an unexpected way.

Types of testing include:

  • Unit Testing — Testing individual parts of the software.
  • Integration Testing — Testing how different parts work together.
  • User Acceptance Testing (UAT) — Real users test the software to confirm it meets their expectations.
  • Performance Testing — Checking how the software performs under heavy use.

Nigerian Example: Before the JAMB CBT platform goes live for national examinations, the system is tested with thousands of simulated users to make sure it does not crash on the day of the exam.


Phase 6: Deployment and Maintenance

Once testing is complete and the software is approved, it is released — or deployed — to the end users. But the work does not stop there. The maintenance phase involves:

  • Fixing bugs that users report after launch.
  • Updating the software to add new features.
  • Improving performance based on user feedback.
  • Keeping the system secure against hackers.

Nigerian Example: When Opay releases an update to its mobile app, that is part of the maintenance phase. The original software was already deployed, but the team continues to improve it based on customer feedback and changing technology trends.


SDLC Models: Choosing the Right Approach

Now that we understand the phases, it is important to know that there are different ways to move through those phases. These different approaches are called SDLC models. The two most important ones for SSS 3 are the Waterfall Model and the Agile Model.


The Waterfall Model

What Is the Waterfall Model?

The Waterfall Model is one of the oldest and most straightforward SDLC models. It follows a strict linear and sequential approach — meaning each phase must be fully completed before the next one begins, and you cannot go back to a previous phase once it is done.

Imagine a waterfall — water flows downward in one direction and never flows back up. That is exactly how this model works.

Phases of the Waterfall Model

  1. Requirements
  2. System Design
  3. Implementation
  4. Testing
  5. Deployment
  6. Maintenance

Each stage flows into the next, one at a time.

Advantages of the Waterfall Model

  • Simple and easy to understand — The structure is clear, making it easy for teams to manage.
  • Well-documented — Each phase produces detailed documentation, which is useful for future reference.
  • Works well for fixed projects — Ideal when the requirements are very clear from the beginning and will not change.
  • Easy to measure progress — Because of its linear nature, project managers can easily track where the team is.

Disadvantages of the Waterfall Model

  • Inflexible to change — If requirements change after the project starts, it is very difficult and costly to go back.
  • Late testing — Testing only happens after the coding is complete, which means problems are discovered late.
  • Not suitable for complex projects — In today's world, most projects involve changing requirements, which makes Waterfall a poor fit.
  • Poor for long-term projects — By the time the software is delivered, the client's needs may have already changed.

When Is Waterfall Best Used?

  • When requirements are well-defined and unlikely to change.
  • For small, short projects with a fixed scope.
  • Government and military software projects where strict documentation is required.
  • Construction or manufacturing software where processes are predictable.

The Agile Model

What Is the Agile Model?

The Agile Model is a modern and flexible SDLC approach. Rather than completing the entire project at once, Agile breaks the project into small cycles called sprints or iterations, each typically lasting 2 to 4 weeks.

At the end of each sprint, a working version of part of the software is delivered and reviewed. The team gets feedback from the client and uses it to improve the next sprint. This continues until the full software is built.

The word "agile" means quick and adaptable — and that is exactly what this model is designed to be.

Core Principles of Agile

The Agile model is guided by four key values from the Agile Manifesto:

  1. Individuals and interactions over processes and tools.
  2. Working software over comprehensive documentation.
  3. Customer collaboration over contract negotiation.
  4. Responding to change over following a fixed plan.

How Agile Works in Practice

  • The project is divided into smaller parts called user stories (what users need).
  • These stories are grouped into sprints (short work cycles).
  • At the end of each sprint, the team reviews the work with the client.
  • Feedback is collected and incorporated into the next sprint.
  • The process repeats until the product is complete.

Advantages of the Agile Model

  • Highly flexible — Changes can be made at any point in the process without major disruption.
  • Continuous delivery — Working software is delivered in stages, giving clients something to use early.
  • Better quality — Continuous testing and feedback throughout development leads to higher quality software.
  • Strong collaboration — Regular meetings between the development team and the client keeps everyone on the same page.
  • Faster response to market — Especially valuable for startups that need to launch quickly and improve later.

Disadvantages of the Agile Model

  • Difficult to predict costs and timelines — Because the scope can change, it is hard to give a fixed budget from the start.
  • Requires constant client involvement — The client must be available regularly, which is not always possible.
  • Less emphasis on documentation — This can cause problems later when maintaining or updating the software.
  • Not ideal for all projects — Very large or complex projects may be hard to manage in small sprints.

When Is Agile Best Used?

  • When requirements are expected to change or evolve.
  • For startups and tech companies that need to launch and iterate quickly.
  • For mobile app development, web platforms, and SaaS products.
  • When the client wants to be heavily involved throughout the process.

Nigerian Example: A Lagos-based healthtech startup building a telemedicine app would benefit from Agile. They can launch a basic version first, collect feedback from Nigerian doctors and patients, and then improve the app sprint by sprint — adding features like prescription management, health records, and video consultations over time.


Waterfall vs. Agile: A Side-by-Side Comparison

Feature Waterfall Model Agile Model
Approach Linear and sequential Iterative and flexible
Flexibility Low — hard to change High — welcomes change
Client Involvement Mostly at the beginning Throughout the project
Testing Done after coding Done throughout
Documentation Heavy Light
Delivery One final product Multiple small releases
Best for Fixed, well-defined projects Dynamic, evolving projects
Risk Management Risks found late Risks found and resolved early

Practical Applications in Nigeria

The SDLC is not just a theoretical concept — it is actively used by Nigerian tech companies every day. Here are some real-world examples:

1. Flutterwave — Nigeria's payment infrastructure giant uses Agile development to continuously improve its payment API and launch new features for merchants across Africa.

2. JAMB CBT System — The JAMB examination platform would have used a structured SDLC approach (likely Waterfall-influenced) to build a reliable system that handles hundreds of thousands of exam candidates simultaneously.

3. NIRSAL Microfinance Bank's Digital Platform — Government-backed financial platforms often follow a careful, documented development process that mirrors the Waterfall model.

4. Ride-hailing Apps in Nigeria — Companies building apps like Bolt's Nigerian version or local alternatives use Agile to quickly adapt their apps to Nigerian road conditions, payment methods like USSD, and language preferences.

5. School Management Systems — Private schools across Nigeria that deploy portals for result checking, fee payment, and lesson scheduling are using software built through the SDLC process.


Ethical Considerations in Software Development

As future software developers and ICT professionals, Nigerian students must understand that the SDLC comes with ethical responsibilities:

  • Data Privacy: Any software that collects user data — such as BVN details, phone numbers, or health records — must handle that data responsibly and securely. Nigeria's NDPR (Nigeria Data Protection Regulation) governs this.
  • Accessibility: Good software should be usable by everyone, including people with disabilities. Developers have a responsibility to build inclusive products.
  • Security: Cutting corners during the testing phase can lead to software vulnerabilities that hackers can exploit, causing harm to users.
  • Honesty in Requirements: Developers must accurately represent what a system can and cannot do to clients and stakeholders.
  • Environmental Responsibility: Data centres consume electricity. Writing efficient code reduces energy consumption — which matters in a country like Nigeria where power supply is a critical concern.

Classroom and Home Activities

Activity 1: Map Your Favourite App

Choose any Nigerian app you use (Opay, PiggyVest, Cowrywise, Jumia, etc.). Write a short paragraph describing what you think each phase of the SDLC looked like when that app was being built.

Activity 2: Role Play a Sprint

In groups of four or five, simulate an Agile sprint. Assign roles: Product Owner (the client), Scrum Master (project manager), and Developers. Choose a simple project (e.g., "Build a school fee payment app"). Plan your first two-week sprint and present your goals to the class.

Activity 3: Waterfall vs. Agile Debate

Divide the class into two groups. One group argues in favour of the Waterfall model, the other argues for Agile. Each group should use real Nigerian examples to support their position.

Activity 4: Draw the SDLC Diagram

Using pen and paper or any drawing tool, create a clear diagram showing the six phases of the SDLC. Label each phase and write one sentence describing what happens at that stage.


Assessment Questions

Section A: Objective Questions

1. Which of the following best describes the Software Development Life Cycle (SDLC)?

  • A. A programming language used to build apps
  • B. A structured process for planning, building, and maintaining software
  • C. A type of computer hardware
  • D. A database management system

Answer: B


2. In the Waterfall model, which phase comes immediately after the Requirements phase?

  • A. Implementation
  • B. Testing
  • C. System Design
  • D. Deployment

Answer: C


3. Which SDLC model divides development into short cycles called sprints?

  • A. Waterfall Model
  • B. Spiral Model
  • C. Agile Model
  • D. V-Model

Answer: C


4. Which of the following is a disadvantage of the Waterfall model?

  • A. Too much client involvement
  • B. Difficult to go back and make changes once a phase is complete
  • C. Software is delivered in too many small versions
  • D. Lack of documentation

Answer: B


5. What document is produced at the end of the Requirements Analysis phase?

  • A. Source code
  • B. Test report
  • C. Software Requirements Specification (SRS)
  • D. Deployment manual

Answer: C


Section B: Theory Questions

1. Explain the six phases of the Software Development Life Cycle (SDLC). Use a Nigerian example to describe what happens at each phase.

2. Compare and contrast the Waterfall model and the Agile model. In your answer, mention at least three advantages and two disadvantages of each model.

3. A Nigerian startup wants to build a mobile app for booking mechanics in Lagos. Advise the startup on whether they should use the Waterfall or Agile model, giving clear reasons for your recommendation.


Summary

Here is a quick recap of everything we have covered in this lesson:

  • The SDLC is a structured framework used to plan, create, test, and deliver software.
  • It has six phases: Planning, Requirements Analysis, System Design, Implementation, Testing, and Deployment/Maintenance.
  • The Waterfall Model is a linear approach where each phase must be completed before the next begins — best for fixed and well-defined projects.
  • The Agile Model is a flexible, iterative approach that works in short sprints and welcomes change — best for dynamic projects where requirements may evolve.
  • Both models have their strengths and weaknesses, and the choice between them depends on the nature of the project.
  • SDLC concepts are actively used by Nigerian tech companies like Flutterwave, JAMB, and countless startups across the country.

Conclusion

The Software Development Life Cycle is more than just a topic in your computer studies textbook — it is the backbone of how every digital product in use today was brought to life. From the apps on your phone to the systems that power Nigeria's financial sector, SDLC provides the structure that turns a great idea into a working, reliable, and secure piece of software.

As Nigeria continues its journey towards becoming a major player in the global digital economy, the young professionals who understand how software is properly built will be the ones who lead that transformation. Whether you go on to become a software developer, a project manager, a business analyst, or an entrepreneur, the knowledge of SDLC will serve you well.

Take your time to understand each phase and each model. Draw the diagrams. Practise with the activities. Ask your teacher questions. The future of Nigeria's technology industry could very well depend on the foundation you are building right now.


Frequently Asked Questions (FAQ)

Q1: What is the full meaning of SDLC? SDLC stands for Software Development Life Cycle. It is a process used by software development teams to plan, design, build, test, and maintain software applications.


Q2: How many phases does the SDLC have? The standard SDLC has six phases: Planning, Requirements Analysis, System Design, Implementation (Coding), Testing, and Deployment and Maintenance. Some models may group or sub-divide these differently.


Q3: What is the difference between Waterfall and Agile? The Waterfall model is linear and rigid — phases must be completed in order and it is difficult to go back. The Agile model is flexible and iterative — work is done in short cycles (sprints) and changes can be made at any point based on feedback.


Q4: Which SDLC model is best for Nigerian startups? Most Nigerian startups are better suited to the Agile model because the market moves fast, user needs change frequently, and early delivery of a working product helps attract funding and users. However, Waterfall may work for government projects with fixed requirements.


Q5: Is SDLC relevant to WAEC and NECO? Yes. SDLC is a core topic in the Computer Studies curriculum for WAEC and NECO. Students should be able to define SDLC, list and explain its phases, and describe the Waterfall and Agile models with their advantages and disadvantages.


Q6: Can SDLC be applied to non-software projects? The principles of SDLC — planning, designing, building, testing, and maintaining — can be applied broadly to many types of projects, though the term is specifically used in software and systems development.


This article was written in alignment with the Nigerian NERDC Computer Studies curriculum for Senior Secondary School 3 (SSS 3). It is suitable for classroom use, self-study, and preparation for WAEC and NECO examinations.

Post a Comment

0 Comments