Software Engineering & Object-Oriented Analysis & Design β Software Process and Requirements, NEC licence examination syllabus (Nepal Engineering Council).
Software Process Models
Waterfall, incremental, spiral, agile β and the question each one answers about risk.
π Where this lives: the models are usually taught as a historical sequence, which hides the actual decision. Every model is an answer to one question: when do you find out you were wrong? Waterfall finds out at the end; iterative models find out every few weeks. That is why safety-critical avionics still uses a waterfall-like process (the requirements genuinely are known, and certification demands documents) while a consumer app uses Scrum (nobody knows what users want until they try it). Choosing by fashion rather than by that question is how projects fail. Search "Winston Royce waterfall paper misread" β the 1970 paper that "introduced" waterfall actually argued against doing it once.
The waterfall model
Sequential phases, each completed and signed off before the next
begins.
REQUIREMENTS
β
DESIGN
β
IMPLEMENTATION
β
TESTING
β
DEPLOYMENT
β
MAINTENANCE
β simple to understand and manage; clear milestones
β heavy documentation β necessary for certification
(aviation, medical, defence)
β works well when requirements are genuinely stable and
understood
β NO WORKING SOFTWARE until late β so no feedback until late
β requirements freeze is unrealistic for most projects
β a requirements error is found at TESTING, where the
cost-of-change curve says it costs 30β70Γ more
β high risk: the first real test of the whole idea comes at
the end
THE V-MODEL is waterfall with testing planned in parallel:
each development phase has a corresponding test phase defined
at the same time.
requirements ββββββββ acceptance testing
design ββββββββ system testing
module design βββββββ integration testing
coding ββββββββ unit testing
β forces you to ask "how will I test this?" while designing β
which catches untestable requirements early
β standard in embedded and automotive (ISO 26262)
WHEN WATERFALL IS THE RIGHT ANSWER: when the cost of changing
direction is higher than the cost of getting it wrong up front.
Building a bridge, or software that must be certified against a
fixed specification.
Incremental and evolutionary models
INCREMENTAL MODEL
deliver the system in slices, each adding function. The first
increment is usually a CORE product.
increment 1: requirements β design β code β test β DELIVER
increment 2: requirements β β¦ β DELIVER
increment 3: requirements β β¦
β working software early β feedback early
β risk spread across increments
β staffing can be lower (no need for everyone at once)
β needs a good architecture up front, or later increments
fight the early design
PROTOTYPING MODEL
build a quick prototype to clarify requirements, then throw it
away (or evolve it).
β excellent when the customer cannot articulate requirements
β resolves interface and usability uncertainty cheaply
β THE CLASSIC DANGER: the customer sees a working prototype
and asks why it cannot ship. A prototype has no error
handling, no security, no performance work β shipping it
creates years of debt. Agree in writing that it will be
discarded.
RAD (Rapid Application Development)
short cycles (60β90 days) with heavy component reuse and
parallel teams working on separate modules.
β very fast when the system decomposes cleanly
β needs modular systems, committed users and enough people
β unsuitable for high technical risk
SPIRAL MODEL (Boehm) β the risk-driven model
iterative, and each iteration passes through four quadrants:
1. determine objectives, alternatives, constraints
2. IDENTIFY AND RESOLVE RISKS β the defining step
3. develop and verify
4. plan the next iteration
Each loop outward produces a more complete system, and each
loop begins by asking "what is the biggest risk right now?"
and attacking it β often with a prototype.
β RISK IS EXPLICIT: the model's whole purpose
β suits large, expensive, uncertain projects
β can incorporate any other model inside a loop
β requires genuine risk-assessment expertise
β heavy for small projects; no clear end condition
THE KEY IDEA WORTH TAKING: attack the riskiest unknown FIRST,
not the easiest work first. Most failing projects did the easy
parts early and discovered the hard part too late.
Agile
The AGILE MANIFESTO (2001) β four value statements, each of the
form "we value X over Y", NOT "Y is worthless":
individuals and interactions OVER processes and tools
working software OVER comprehensive
documentation
customer collaboration OVER contract negotiation
responding to change OVER following a plan
The clause everyone forgets: "That is, while there is value in
the items on the right, we value the items on the left more."
Agile does not say documentation is bad. Misreading that is
the most common cause of "agile" projects with no design at
all.
SCRUM β the dominant framework
ROLES Product Owner (what), Scrum Master (process),
Development Team (how)
ARTEFACTS product backlog, sprint backlog, increment
EVENTS sprint (1β4 weeks), daily standup, sprint planning,
sprint review, retrospective
VELOCITY: story points completed per sprint, used for
forecasting β NOT for comparing teams, since points are
team-relative.
EXTREME PROGRAMMING (XP) β the engineering practices
pair programming Β· test-driven development Β· continuous
integration Β· refactoring Β· simple design Β· small releases Β·
on-site customer
XP is where the technical practices come from; Scrum is a
management framework and specifies no engineering practice at
all. That gap is why "we do Scrum" often coexists with poor
code quality.
KANBAN
visualise the workflow, LIMIT WORK IN PROGRESS, measure cycle
time. No fixed-length iterations.
β suits support and operations work with unpredictable arrival
β WIP limits expose bottlenecks instead of hiding them
AGILE'S HONEST LIMITS:
β hard with fixed-price, fixed-scope contracts
β needs a genuinely available customer representative
β scaling to hundreds of developers is unsolved (SAFe, LeSS
are attempts, all contested)
β "responding to change" can become an excuse for no
architecture, which the cost-of-change curve punishes
β poorly suited where a complete specification must be
certified before build
Waterfall's fatal property is not its sequence β it is that the sequence delays feedback until after the expensive commitments are made. Any model that produces working software early is, in effect, buying information cheaply. That is the same trade as the cost-of-change curve, expressed as a process.
The umbrella activities and process improvement
Whatever model you use, these run THROUGHOUT rather than as
phases:
project tracking and control Β· risk management Β·
quality assurance Β· configuration management Β·
technical reviews Β· measurement Β· reusability management Β·
documentation
THE GENERIC PROCESS FRAMEWORK (Pressman's five activities):
COMMUNICATION β PLANNING β MODELING β CONSTRUCTION β
DEPLOYMENT
Every model above is a different way of ORDERING and REPEATING
these five.
PROCESS ASSESSMENT β how you know your process is any good:
CMMI five maturity levels (covered in ACtE0803)
SPICE ISO/IEC 15504
ISO 9001 quality management, not software-specific
CHOOSING A MODEL β the honest summary:
model requirements risk feedback documents
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
waterfall stable high late heavy
V-model stable medium late heavy
incremental evolving medium early moderate
prototyping unclear low very early light
spiral uncertain LOWEST each loop moderate
RAD stable+modular medium fast light
agile/Scrum volatile low continuous light
In practice most organisations run a HYBRID: agile delivery
inside a phase-gated governance structure, because the
business needs commitments and the engineering needs feedback.
That hybrid is often criticised, and it is what actually
happens.
π Go further: the most useful modern research here is DORA / Accelerate, which measured what actually correlates with software delivery performance across thousands of organisations. The four key metrics are deployment frequency, lead time for change, change failure rate, and time to restore service β and the finding that matters is that speed and stability are not a trade-off: the same practices improve both. That contradicts the intuition behind heavyweight process, and it is backed by data rather than opinion. Search "DORA four key metrics Accelerate book".
π‘ Exam angle: draw and evaluate waterfall (and the V-model with its testing correspondence), incremental, prototyping, RAD, spiral and agile. For the spiral, name the four quadrants and stress that it is risk-driven. Quote the four Agile Manifesto values including the "there is value in the items on the right" clause. The discriminating answer explains model choice by requirement stability and risk, and connects early feedback to the cost-of-change curve.
Syllabus points
Agile Model
V-Model
Iterative Model
Prototype Model
Big Bang Model
Create a free account to tick topics off, take notes as you read, watch the video lessons and get a day-by-day study plan built around your exam date.
Related topics in Software Process and Requirements