Professional Documents
Culture Documents
15-RE For Agile
15-RE For Agile
Madalina Cerchia
The bottleneck has moved
• New domain
• Highly innovative product
Challenge 2: “Working software over comprehensive documentation”
• “Just-Good-Enough” requirements
Challenge 3: Dependencies between
geographically distributed teams
-best practices-
Agile practices to gather requirements
(1/4)
Common applications:
Design of an existing business process
Define the upfront roadmap
Common misapplications:
Over specification by "drilling down" into sub processes
with more DFD’s.
Example:
“Order Processing” Data Flow
dfd Order Processing
Webshop
Warehouse
Orders
Order details
Billing
Information
Ship Books
Process Orders Customer address
Customer address
Invoices
Customers
Books
Customer
Invoice details name
Invoice
Collect
Payments
Customers
Payment
Agile practices to gather requirements
(2/4)
Common applications:
Analysis of system functions that are performed by
which actor
Common misapplications:
Identification of usage requirements
Example:
“Manage Users” Use Case diagram
uc ManageUsers
Users Management
Login
Create member
account
User
View account
«extend»
View activ ated
modules
Disable account
Administrator
Agile practices to gather requirements
(3/4)
Artifacts:
1. Business Process Diagram (BPM)
2. Domain Model Diagram (DMD)
3. State Diagram (SD)
1. Business Process Diagram (BPD)- provides a notation that
is intuitive to business users yet able to represent complex
process semantics
Common applications:
Identifying the business process in an intuitive manner
Common misapplications:
Document technical requirements
Example:
“Register Appointment” Business Process
BPMN RegisterAppointment
appointment
Illness occurs
Appointment request
Appointment notification
«Pool»
Doctor
Appointment done
2. Domain Modeling Diagram (DMD)- shows
relationships between entities within system, domain
etc.
Common applications:
Explore domain concepts with project stakeholders
Common misapplications:
Complete data models up front!
Simple tool:
White board, Enterprise Architect, Visio, SmartDraw,
etc.
3. State diagram (SD)- describes the behavior of
complex object
Common applications:
Analyze a complex business process
Common misapplications:
Design the behavior of several objects
Design the behavior of a simple object
Example:
Application releases- state diagram
stm release flow state
Initial
[upload]
Beta
[release]
Released
[eol]
[eol]
End-Of-Life
[archive]
Archiv ed
Final State
Agile practices to gather requirements
(4/4)
Functional:
- Can I save my order and come back to it later?
- Can I change my order before I pay for it?
- Can I see a running total of the cost of what I have chosen so
far?
User Story Example …
Confirmation …. continues
Non-functional: availability:
- Can I place an order at any time (24 hours per day or
24/7/365)?
- Can I view the order at any time (24 hours per day or
24/7/365) up to and including delivery?
Non-functional: security:
- Are unauthorised persons and other customers prevented
from viewing my order?
Useful resources
• http://www.agilemodeling.com/
• http://modernanalyst.com/
• http://www.omg.org/spec/UML/2.2/