This document discusses requirements in agile projects. It begins by explaining that agile focuses on discovering requirements through collaboration rather than big upfront modeling. It then discusses different types of requirements like functional, non-functional, and quality attributes. The document also outlines an agile requirements management process that emphasizes communication, accepting change, and prioritization. Key techniques in agile requirements include user stories, prioritization frameworks like INVEST, and traceability.
4. Discover
Requirements
Design the
Solution
Build the Solution
Requirements
Specification
Design
Specification
Project Blastoff - feasibility
study
Discovery of Business
Requirements
External & Architecture
Internal Design
Development
Testing
Time
TESTING
?
5. Simplified V Model
Business requirements
specifications
System requirements
specifications
High level design
Low level design and
coding
Coding
Unit (component)
testing
Integration testing
System testing
Acceptance testing
Validation
Verification
6. Big Modelling
Up Front
Traditional approach works with
other disciplines like civil engineering
Demand of accurate estimates, law,
contract constraints
Standard for many organisations,
highly paid specialists
Domain knowledge not shared with
programmers
8. Misunderstood
”Agile”
No documentation
Estimations are not accurate
No requirement management process – it should be
so good to accept a change
Trust does not mean lack of control
Working together does not mean sitting together –
communication is key
Customer satisfaction is a consequence not a primary
objective
9.
10. Requirements type
Functional and
capability
requirement
Software system
inputs and outputs
Interfaces between
the software
system and other
systems
Software-driven
alarms, warnings
and operator
messages
Security
requirements
Usability
engineering
requirements
Data definition and
database
requirements
Installation and
acceptance
requirements
Requirements
related to methods
of operation and
maintenance
User documentation
to be developed
User maintenance
requirements
Regulatory
requirements
11. Levels of requirements
Business level
User level
Product level
Business
Requirements
User
requirements
Business
Rules
Quality
Attributes
Constraints
Nonfunctional
Requirements
Data
Requirements
Functional
Requirements
External
interfaces reqs
Requirements
Specification
Why is the project undertaken?
What the users will be able to do?
What the team needs to build?
Product
Vision/
Scope
Use case
document
12. Agile
Requirement
Management
Process
Key characteristics:
• Enables communication
• Accepts change
• Supports reusability
• Built-in traceability
• Enables review, grooming and
decomposition
• Helps with prioritization and planning
• Collective wisdom, living stories –
acknowledging extras
• Use agile to build your agile process
13. Agile Requirement Management Process
Pull vs. Push
High priority
More detail
New work items
continuously added and
processed
15. User Stories
User Stories are short, simple description of a
feature told from the perspective of the person
who desires the new capability, usually a user or
customer of the system. They typically follow a
simple template:
As a <type of user>, I want <some goal> so that
<some reason>.
As a patient, I want to select a doctor so that I can
schedule a visit.
18. Checklist for Requirements, User stories,
Product Backlog Items v.2.0
• Necessary?
• Complete?
• Consistent with all other requirements?
• Free of unverifiable terms?
• Traceable?
• Feasible?
• Clear & Concise?
• Free of implementation?
• Current?
• Modifiable?
• Written in a good style and format?
• …
20. Agile Modelling
Use agile tools and techniquesUse
Envision non-functional requirementsEnvision
Document continuously and “late”Document
Single source of information, collaboration spaceSingle
Do not block communicationDo not block