Competing or Collaborating Approaches to Discovering Requirements:
Books and Websites

Elements used
in Approach
(Chapters of Discovering Requirements)

How this Approach
Describes Need
Schools of Thought
Favouring this Approach
Books and Websites
on this Approach
Disadvantages of Using
this Approach Alone
Stakeholder Analysis
(Chapter 2)
Identifies the political, economic, social, and cultural forces which drive design Soft Systems Methodology (CATWOE*, informal models such as rich pictures).
Note that SSM precedes system development, and could identify a need for several products. 

Checkland: Soft Systems Methodology
Checkland: Systems Thinking, Systems Practice
Alexander: Taxonomy of Stakeholders

No precise, verifiable description of system requirements; unsuitable for contracts
Goal Modelling
(Chapter 3)
Says what stakeholders want KAOS (logical goal decomposition);

i* (goal modelling language)

Lamsweerde: Requirements Engineering
Sutcliffe: User-Centred Requirements Engineering, chapter 3
Betty Cheng: Goal Modelling (tutorial)
Hard to express timing relationships (scenarios) between goals; danger of diving into design without considering alternatives
Event-Driven Analysis
(in Chapter 4)
Identifies events at interfaces, and says how to handle them Event-Driven methods Wiley: Essential System Requirements
Robertson: Mastering the Requirements Process
Assumes context is well-defined: does not attend to soft systems issues or conflicting stakeholder goals
Scenario Analysis
(Chapter 5)
Says how design will deliver results to human operators Cockburn-style Use Cases;
Agile (user stories)
Cockburn: Effective Use Cases
Cohn: User Stories Applied
Alexander & Maiden: Scenarios, Stories, Use Cases
Over-emphasis on product behaviour; risk of ignoring qualities and constraints from non-operational stakeholders; danger of diving into interaction and user interface design without justification or clear priorities
Reuse – Standards & Templates
(in Chapter 6)
Defines generally needed qualities, constraints, and procedures for achieving them Standardisation,
Regulation,
Quality Assurance
Volere (Template) Functions and innovative aspects specific to the new product are not covered
Rationale Modelling
(Chapter 7)
Explains why design is needed, or what is needed to make it safe Compendium project and tool (informal rationale diagrams)

GSN, CAE (safety case diagrams)

Dewar: Assumption-Based Planning
Kirschner: Visualizing Argumentation
Toulmin: The Uses of Argument
Dick: Rich Traceability
As for goal modelling, lacks timing (scenarios); danger of deciding on a solution and devising reasons that support it
Data Modelling
(in Chapter 8)
Defines the data, rules and relationships to ensure business works properly UML class modelling;
traditional entity-relationship data modelling

Fowler: UML Distilled
Maciaszek: Requirements Analysis & System Design

Lack of vision of end-to-end behaviour (scenarios), context, purpose
Measurement
(Chapter 9)
 
Shows exactly what results the design must provide Traditional; (list of “The system shall…” requirements) Alexander & Stevens: Writing Better Requirements
Gilb: Competitive Engineering
Requirement wording has to carry whole burden of defining terms, context, scenarios, timing; easy to lose sight of stakeholders, goals and purpose
Priorities,
Trade-offs
(Chapters 10, 14)
Shows which design features are needed most, or would be most profitable Business Case;
Benefit/Cost Analysis;
Value Engineering (spreadsheets)
Davis: Just Enough Requirements Management Suggests requirements are independent and can be compared financially; tends to ignore context, purpose, qualities, constraints, non-financial beneficiaries

 *CATWOE (in Soft Systems Methodology):

Discovering Requirements


(c) Ian Alexander 2009