Requirements Engineering
Overview
Requirements Engineering is about reducing ambiguity before it leaks into design and code. The practical workflow I follow:
- Establish a ubiquitous language and domain glossary early (DDD mindset).
- Capture goals as outcomes, not features; write acceptance criteria in business terms.
- Validate requirements with quick prototypes or examples (spec-by-example).
- Track decisions and constraints; close feedback loops with stakeholders every iteration.
- Prefer living documentation (tests, ADRs, concise diagrams) over long-form docs.
Key Bibliography
โข Requirements Engineering and Agile Software Development Version 1 โข Requirements Engineering and Agile Software Development Version 2 โข Agile Requirements Engineering: A systematic literature review โข Naming the Pain in Requirements Engineering Contemporary Problems, Causes, and Effects in Practice โข Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys โข A systematic literature review on agile requirements engineering practices and challenges โข Software Engineering by Sommerville โข Shape Up by Ryan Singer โข Integrated Requirements Engineering: A Tutorial