Skip to content
Ameen Abozaid
SRC-001

Requirements engineering

  • 7 Lessons
  • 4 h practice (estimate)
On this page 9 topics

Overview

Topics

  • Functional vs nonfunctional requirements
  • constraints
  • assumptions

Learn first

4 h of practice (estimate)

Learning outcomes

  1. Elicit functional and nonfunctional requirements from stakeholders who state goals, not requirements.
  2. Separate requirements, constraints, and assumptions, and record each explicitly.
  3. Write quality-attribute scenarios (source, stimulus, environment, response, measure).
  4. Identify missing, conflicting, and untestable requirements and resolve them with stakeholders.

Lessons

  1. 01Why systems fail at the requirements stage
  2. 02Functional vs nonfunctional requirements
  3. 03Constraints and assumptions
  4. 04Stakeholder interviews that surface real needs
  5. 05Quality-attribute scenarios
  6. 06Conflicts and trade-off conversations
  7. 07Demo: turning "orders must never be lost" into testable requirements

Lab and exercises

Lab

SRC-001-LAB1 · Requirements for 10×

Outcomes: 1–4 · Time: ~2 h

  1. Role-play product, finance, and operations interviews (record them); a peer or assessor plays each stakeholder.
  2. Extract functional and nonfunctional requirements; separate constraints and assumptions into their own register.
  3. Write at least eight quality-attribute scenarios (source, stimulus, environment, artifact, response, measure) covering availability, latency, durability, scalability, security, and operability.
  4. List missing, conflicting, and untestable items; assign an owner to each conflict and propose options.
  5. Assemble the requirements document.

Acceptance: every scenario is measurable; conflicts listed with owners.

Exercises (case-based; six exercises)

IDOutcomeTask
SRC-001-EX011Product says "checkout must be fast and scalable". Write six interview questions that convert it into requirements.
SRC-001-EX022Classify ten statements about the order subsystem as requirement, constraint, or assumption and name an owner for each assumption.
SRC-001-EX033Write a six-part scenario for "order tracking stays available during a database failover".
SRC-001-EX043Rewrite three vague scenarios ("quick", "highly available", "secure") so each has a measure.
SRC-001-EX054Find the missing, conflicting, and untestable requirements in a given draft list of eight items.
SRC-001-EX064Prepare a trade-off conversation: 99.95% availability vs a flat infrastructure budget. Present two options with cost, risk, and recommendation.
Show solutions
  • EX01 Examples: Which actions? What response time at which percentile? Peak load and when? What does a minute of downtime cost? What may degrade first? Who decides trade-offs?
  • EX02 Constraints are fixed (PostgreSQL as system of record, EU data residency); assumptions are beliefs to verify (peak 6× average); requirements need an owner and a measure.
  • EX03 Source: operations-triggered failover; stimulus: primary database loss; environment: peak hour; artifact: tracking API; response: reads served from replica, stale data flagged; measure: 99.9% of tracking requests succeed during a 60 s failover, staleness under 30 s.
  • EX04 "Quick" becomes p99 under 800 ms at 600 req/s; "highly available" becomes 99.95% monthly measured at the load balancer excluding planned maintenance; "secure" becomes a named threat and a response, e.g. credential stuffing blocked after 5 attempts per minute.
  • EX05 Missing: retention and recovery targets; conflicting: zero downtime deploys vs no extra environment; untestable: "user friendly". Resolve each with stakeholders and record the answer.
  • EX06 Option A second region (higher cost, meets target), option B multi-AZ with automated failover and a 15-minute recovery (cheaper, risk of regional outage); recommend by quantifying outage cost with Finance; record the decision and owner.

Outcome 1 is also covered by the interview recording in the lab; outcome 2 by the lab register.

Workplace evidence: a requirements or design document you wrote that changed scope or a target after stakeholder discussion.

Quiz

Outcomes: O1 eliciting requirements · O2 requirements, constraints, assumptions · O3 quality-attribute scenarios · O4 missing, conflicting, untestable requirements.

A self-check for you: nothing is graded, saved or sent anywhere. Choose an answer, then check it. You can try again as often as you like.

  1. 1A stakeholder says "make it scalable". The best first move is to:O1
  2. 2Which interview question best surfaces a real need?O1
  3. 3"PostgreSQL remains the system of record" is a:O2
  4. 4"Peak traffic is about 6× the daily peak" not yet verified is a:O2
  5. 5What should every recorded assumption have?O2
  6. 6Which part of a scenario makes it testable?O3
  7. 7Which is a well-formed measure?O3
  8. 8"99.95% availability" and "no budget for extra infrastructure" are:O4
  9. 9"The UI must be user friendly" is mainly:O4
  10. 10Who should resolve a conflict between two stakeholders' requirements?O4

Practical part

Six case exercises SRC-001-EX01 to EX06 plus the lab, with a recorded role-played interview. Pass: at least five of six exercises correct, quiz at least 8/10, and a requirements document passing the rubric (all scenarios measurable, conflicts with owners).

Common mistakes

Accepting "fast" and "scalable" as requirements; hidden assumptions; designing before asking.

Assessment

Requirements review against a rubric; interview role-play recorded.

Workplace evidence

A requirements or design document you wrote that changed scope or a target after stakeholder discussion.

Career relevance

Requirements discovery for architects (ARC-003).

Type to search levels, phases, modules and lessons.