Two teams must build the same app. One writes down every need first, builds step by step and never goes back. The other builds a small working piece, shows it, listens and changes the next piece. These are the Waterfall and Agile models. The book asks you to know both, with their benefits and limitations.
Unit 1 of the PECTAA Computer Science 11 book is Introduction to Software Development. Section 1.3 covers software development methodologies. This note is for FSc Part 1 (1st year, Class 11) students in Lahore, Faisalabad, Sargodha, Rawalpindi, Multan, Gujranwala and the other Punjab boards. Gujrat district comes under the Gujranwala board. PECTAA writes the books. Your own board sets your paper.
What to know
Software process models. The book calls them abstract representations of the processes in the Software Development Life Cycle (SDLC). They give a framework for planning, structuring and controlling the development of software. The book lists two gains:
- Predictability. A defined process lets teams predict outcomes and manage risks better.
- Efficiency. Structured methods reduce wasted effort.
Waterfall model (section 1.3.1.1). Each phase must be completed before the next one starts. The model is linear and sequential. You do not go back to earlier phases once they are done. The six phases are:
- Requirements. Gather and document what the software needs to do.
- Design. Decide how the software will be built and how it will look.
- Implementation. Write the actual code.
- Testing. Check for and fix problems or bugs.
- Deployment. Release the software for users.
- Maintenance. Make updates and fix issues that come up after the software is in use.
Agile methodology (section 1.3.1.2). A flexible and adaptive approach. It delivers small, functional parts of the software quickly and adapts to changes as the project goes on. The main idea is to work in short cycles called iterations or sprints. These help teams deliver parts rapidly and gather feedback early.
Key points
Agile practices named in the book.
- Continuous integration. Regularly merge code changes into a central repository, to find and fix issues early.
- Test-driven development. Write the tests before the code, so you know the software works as expected.
- Pair programming. Two developers share one workstation. One writes the code and the other reviews it as it is written.
Side by side.
| Waterfall | Agile | |
|---|---|---|
| Flow | Linear and sequential | Short cycles (iterations or sprints) |
| Going back | Difficult and costly | Changes allowed even after work has started |
| Benefits | Simple and easy to understand; one phase at a time, easy to track; suits small projects with clear, fixed requirements | High flexibility; the book also lists improved customer satisfaction through regular updates |
| Limitations | Inflexible; not ideal for complex projects; risky if requirements are not all known at the start | Hard to scale to large projects with many teams; needs active participation from all stakeholders; less predictable timeline and scope |
Choosing a model. The book does not say one model is always better. Waterfall gives clear phases and easy tracking when requirements are fixed. Agile gives flexibility and early feedback when needs may change. Your answer should name the project condition first, then the model.
Worked examples
Example 1. Write the Waterfall phases in order.
- Requirements.
- Design.
- Implementation.
- Testing.
- Deployment.
- Maintenance.
Example 2. A small project has clear, fixed requirements and changes are unlikely. Which model does the book favour?
- The book says Waterfall suits small projects with clear, fixed requirements.
- So Waterfall is the better fit.
Example 3. A project's needs may change after coding starts. Which model fits?
- Agile allows changes in requirements even after development has started.
- So Agile is the better fit.
Example 4. Match each statement to an Agile practice.
- "Write the test first." This is test-driven development.
- "Merge code into a central repository often." This is continuous integration.
- "Two developers, one workstation." This is pair programming.
Common mistakes in the exam
- Calling Waterfall iterative. It is linear and sequential.
- Adding a phase that is not in the book list. The book gives six phases for Waterfall.
- Mixing up the benefits and limitations. "Inflexible" is a Waterfall limitation. "High flexibility" is an Agile benefit.
- Writing "sprints" for Waterfall. Sprints and iterations belong to Agile.
- Naming one Agile practice for all three. Know all three: continuous integration, test-driven development and pair programming.
- Leaving out the figure. Figures 1.2 and 1.3 show the two models. Redraw them if the question asks for a diagram.
Exam technique
- For "compare" questions, draw a two-column table, as above.
- For "explain" questions, define the model first in one sentence, then list the phases or practices.
- Use the book's words for benefits and limitations. Examiners look for them.
- Check your board's notice for the sections in your paper.
Practice questions
- Define the Waterfall model. Answer: A linear, sequential approach where each phase is completed before the next one begins, with no return to earlier phases.
- Name two limitations of Waterfall. Answer: Inflexibility, because going back is difficult and costly, and it is not ideal for complex projects or for projects where requirements are not all known at the start.
- What are iterations or sprints? Answer: The short cycles in which Agile teams deliver parts of the software and gather feedback early.
- Name two limitations of Agile. Answer: Any two of: scaling challenges, the need for active participation from all stakeholders, and a less predictable timeline and scope.
- Which Agile practice has two developers at one workstation? Answer: Pair programming.
Ready to practise this? Continue in 1st Year Computer Science.