The document discusses requirements engineering for a new customer data management system. It describes approaches for identifying business needs, defining internal requirements, and analyzing requirements against external client needs. The key steps outlined include eliciting requirements through workshops, interviews, questionnaires and documentation; analyzing and categorizing requirements; modeling system context and flows; and presenting requirements for validation and change management.
2. http://www.ba-guru.com
Background / Purpose
A new customer data management system is required for my
client. The needs of the business have been identified and a
feasible solution agreed. The delivery must now be scoped out and
detailed requirements defined.
Purpose of workshop to discuss –
• Approach taken to identify business needs
• Proposed approach for defining internal requirements
• Proposed analysis against external client’s requirements
5. http://www.ba-guru.com
DEFINING REQUIREMENTS
Requirements
Design
Development
Roll Out - Benefits
Requirements
Design
Development
Roll Out - Benefits
High Level Requirements
Requirements
Design
Development
Roll Out - Benefits
Requirements
Design
Development
Roll Out - Benefits
18–24Months
WATERFALL
- Traditional Methodology
- Requirements Upfront
- Document Heavy
AGILE
- High Level Requirements
- JIT Development
- Regular Roll Out
6. http://www.ba-guru.com
Engineering Requirements
Communication & Collaboration
- Hugely important
- Book meetings early
- Requirements Repository Software
Elicit &
Document
Requirements
Analyse &
Negotiate
Present &
Validate
Agreed?
Validated?
Implement &
Test
No Yes
Yes
No
START
7. http://www.ba-guru.com
Observation
(SMEs)
+ 1st hand experience
+ Tacit knowledge
+ Less disruptive
- Distracting
- Observation effect
Elicitation Techniques
Workshops
(All business and project
stakeholders)
+ Gains Consensus
+ Creative
+ Resolves conflict early
- Disruptive
- Difficult to arrange
Interviews
(Managers, Owners of
linking systems)
+ Confidential
+ Expert Answers
+ In-depth
- Time consuming
- Expensive
• Questionnaires (Multiple Stakeholders)
+ Large numbers - Poor response rate
8. http://www.ba-guru.com
Requirements Analysis
Categorise
• Functional
• Data entry, data maintenance, Procedure requirements, data retrieval
• Non Functional
• Performance, Security, Access, Backup, Archiving, Maintainability, Availability,
Usability, Capacity, Robustness
• General Business
• Legal, Policy, Constraints, Branding, Cultural, Language, Business Continuity
• Technical
• Hardware, Software, Internet, Interoperability (between systems)
Prioritise
• MoSCoW Scale – decompose the Must Have’s
9. http://www.ba-guru.com
Requirements Analysis
Apply Filters
• Remove overlaps
• Remove ambiguity
• Remove conflicts
• Remove solution requirements
• Ensure feasibility
• Ensure testability
Ensure Quality
• Are traceable
• Within scope
• Consistent detail
• Easy to understand
• No unnecessary information
• Is required
10. http://www.ba-guru.com
Modelling - Context Diagram / Use Case
Identify Patient
<< 3rd Party
System >>
<< Finance
System >>
<< Sales
System >>
Review Patient
Details
Amend Patient
Details
Print Patient Details
<< Extend >>
<< Include >>
<< Include >>
Transfer Data
Team Member
System
Administrator
Patient Management System
+ Shows system boundaries
+ Identifies mandatory features
+ Shows some NF requirements
- Very high level
- May require use case descriptions
11. http://www.ba-guru.com
Modelling - Swim Lane Diagram
+ Various Levels (0-4)
+ Fuels understanding
+ Identify NVA
+ Cross functional
+ Shows decision points
- Multiple Reviews
- Can lead to complex
models
12. http://www.ba-guru.com
Modelling - Data Model
+ Avoids duplication of data
+ Identify associations
+ Identify relationships
+ Systems / Business Analyst
- Restricted to data only
- Constrains later changes