© Digital Bananas Technology
Requirement Engineering within an Agile EnvironmentBY KEJI GIWA
© Digital Bananas Technology
DBT Requirement Engineering Process
Epic / User Stories – Product Planning
Sprint
Planning
Initial User Journey & Mockups
BDD / Gherkin Syntax
Business Rules
Logical Process Flow
Functionalities
Non Functional Requirements
Final
Wireframes
Keyscreens
Implement
Test
Release
HLR Workshop
Requirement Catalogue
Use Case
© Digital Bananas Technology
VersionRelease
UAT
QA(Components,
Integration, System)
Back End Development
Software RequirementSpecification
User Story
User Journey
(Wireframes, Key screens)
Phase 1Core Functionality
Phase 2
Improved Functionality
Phase 3Additional Functionality
Prioritisation
Analysis
Test PlanTest Cases
1
2
3
4
5
6
7
8
Customer AcceptanceCriteria &
Expectations
Usability Validation
Usability Evaluation & GUI
FunctionalityCross Browser
TestingCross App Testing
Performance Testing
GUI TestingBrand Guidelines
GUI TestingBrand Guidelines
© Digital Bananas Technology
Scrum & Agile Development
© Digital Bananas Technology
U S 1FiF2F3
AGILE DEVELOPMENT PROCESS
User Story 8
User Story 7
User Story 6
User Story 5
User Story 4
User Story 3
User Story 2
User Story 1
Deliverables 1
Deliverables 2
© Digital Bananas Technology
Collaborative Requirement Gathering
Justify / Translate /
Adjust
Prioritise
Translate
Communicate
© Digital Bananas Technology
1. JUSTIFY, Translate & Adjust
© Digital Bananas Technology
Gathering High Level RequirementsEverything is
BeneficialUndefined
Scope of Work
© Digital Bananas Technology
© Digital Bananas Technology
© Digital Bananas Technology
© Digital Bananas Technology
Stakeholder Analysis
© Digital Bananas Technology
Investigating Situation
• Three stages– Qualitative investigation
• Interviewing
• Workshops
• Observation
– Quantitative investigation
– Documenting results
© Digital Bananas Technology
Requirement Gathering – Agile
Collaborative Requirement Workshops
Daily Scrum Meetings
UAT
© Digital Bananas Technology
Requirement Workshop
• key stakeholders including SME
• Requirement gathering
• Prioritising requirements
• Estimating & costing
• Review
© Digital Bananas Technology
From the Business Case• Deliverables
– Must
– Should
– Could
– Out of Scope
– Business rules
© Digital Bananas Technology
User Led Questionnaires Why
What
Product
Service
Business Rules
How
Technology
Expertise
Relevance
Process
Where
Resource
In house
Off shore
Target Market
Online
Mobile
When
Timeframe
Tolerance
Deadline
Who
Merchant
Customer
Payment gateway
If
© Digital Bananas Technology
Questioning Techniques
• Open Questions
– What, where, how, when, why
• Fact Finding
– Precisely, exactly, elaborate, expand
• Closed Questions
– Yes / No
© Digital Bananas Technology
Bottom Line
Limited Time
Limited Budget
Limited Cost
Limited resources
Prioritise Must - IBVShould - MBVCould - LBVWon’t - NBV
Bigger Picture
© Digital Bananas Technology
Using Spin to ask Qualifying Questions
•Why have you chosen this platform
•What made you decide to invest in…
•Where did the inspiration come from and what are you trying to achieve?
•What’s your overall budget and timeline for this project?
Situation
•What are the current drawbacks….
•What have you found challenging when identifying your core user needs and requirements…
Problem
•In an event that x does not happen what impact will that have on the overall business value?
•If we are unable to complete x and y by this date what implications would it have?
Implication
•If we could deliver a fully functional system and meet the overall business value while avoiding the challenges mentioned and certainly avoiding the possible implications, how will that make you feel?
•What are the key requirements that we need to implement and by what date to avoid ……
Need Pay Off
© Digital Bananas Technology
Focus Groups
• Focus groups helps us identify our target market and establish usability requirements, user experience and potential prototyping– What would you use the system for?– How would you like to use the system?– How would you like to relate with the system?– What functionalities do you expect from the system
(must, should, could, doesn’t matter)?
© Digital Bananas Technology
Target Audience• Mobile users (iphone / adroid)• Use smartphones• Users native apps
– Needs• Convenience• Short burst activities / on the go tasks• Busy lifestyles
– Want– Don’t Mind– Don’t Want
• Blackberry• Windows • Not web based
© Digital Bananas Technology
Target Audience - Enquirers• What are the kind of things I used my mobile phone for?
– Communication– Search for information (both local and global)– Social networking
• What are the apps I use the most• Why do I use those apps• What are the apps I don’t use often
– Why
• What are the apps I don’t use at all– Why
• When I do use any of the above– What do I use them for– How long do I spend using them– What are my expectations when using such apps
© Digital Bananas Technology
Target Audience - Enquirers
• If you had a magic wand, what are the 5 apps you would want and what would you use them for
• How often would you use them– Need– Want– Don’t mind
• What are the best apps you use for interacting and socialising with friends / phone contacts– Why– Needs– Wants– Don’t mind
© Digital Bananas Technology
Target Audience - Enquirers
• Would you use an enquiry based app and Why– Need– Want– Don’t mind– Don’t want
• Would you consider an enquiry based app connected to your phone contacts– Need– Want– Don’t mind– Don’t want
© Digital Bananas Technology
2. PRIORITISE
© Digital Bananas Technology
Getting it right the first time!Quality
In Scope
Customer Acceptance
Criteria
Business
Critical – Must Have
Quality Expectation
Mid Term –Should Have
Long Term – Could Have
Not in Scope
Won’t Have
Options ChoicesStreamline & prioritise client options
Then give them choices
© Digital Bananas Technology
Establishing Business Values based on:• What are the immediate (important and urgent) business
critical requirements based on allocated time, budget and resources – This defines the must have criteria for the scope of the project
Immediate business critical requirements
• What are the short term (not important but urgent or urgent but not important) business requirements based on allocated time, budget and resources – This defines the should have criteria for the scope of the project
Short term business critical requirements
• What are the long term (nice to have’s not important and not urgent) business requirements based on allocated time, budget and resources – This defines the could have criteria for the scope of the project
Long term business critical requirements
© Digital Bananas Technology
SMART
Specific Measurable Achievable RealisticTime
Bound
© Digital Bananas Technology
Using MOSCOW to Prioritise Requirements
Based on Overall Business Value
How much time, budget, resources do we have to achieve x?
© Digital Bananas Technology
Requirement Questionnaires
•Urgent & Important – Business Critical Requirements in order to establish immediate business value based on allocated budget, timeframe and resources.
Must Have
•Not Urgent & But Important or Urgent but Not Important –Business Requirements in order to establish short term business value based on allocated budget, timeframe and resources.
Should Have
•Nice to have’s– Business Requirements in order to establish long term business value based on allocated budget, timeline and resources.
Could Have
•Out of Scope! Not going to implement within the allocated budget, timeframe and resources available.Won’t Have
© Digital Bananas Technology
Must / BV
End User Needs
Should / BV
End User Wants
Could / BV
End User Don’t Mind
Won’t / BV
End User Don’t Want
User Led & Value Based DevelopmentEnd user requirements based on business value (BV)
© Digital Bananas Technology
Prioritising Requirements using MOSCOW
InputBottom
LineBigger Picture
Business Value
Business Needs / Success Criteria
Opinions
Facts
End User / Use Led
User Requirements
Need
Want
Don’t Want
Don’t Mind
© Digital Bananas Technology
Needs Based Analysis using MOSCOW
Must HaveImportant & Urgent
Should Have
Not Urgent But Important
Urgent But Not Important
Could HaveNot Urgent / Not Important
(Nice to Have)
Won’t HaveNot in Scope
Business Critical Requirements
Time, Budget, Resources / Benefits
© Digital Bananas Technology
Quality AssuranceCustomer
Acceptance Criteria
Time
Budget
Benefit
Resources
Customer Expectation
Time
budget
Benefit
Resources
Defines the scope of the project
© Digital Bananas Technology
Defining the Scope of the Project
Scope
Acceptance Criteria
Must
Must be implemented within the allocated time,
budget and resources
Quality Expectations
Should
Only to be implemented if there is spare time,
budget or resources from allocation
Could
Only to be implemented if allocated time, budget or
resources can be extended
Not In Scope
Won’t
Will not be implemented within
the scope of work
© Digital Bananas Technology
Project Management
Benefit & Business Value
Time
Cost
In Scope
Risks
Resources
Changes
QualityAcceptance
CriteriaQuality
Expectation
© Digital Bananas Technology
Gathering High Level RequirementsPrioritised Benefits
In Scope
Resources
Time
Budget
Quality & Risk
Phased release Development
Business Value
Immediate Business Critical Needs
Allocated Cost
© Digital Bananas Technology
Phased Released Development•Version 1: Immediate Business Critical Requirements
•Must Have’s
•Core Functionalities Phase 1
•Version 2: Mid Term Business Critical Requirements
•Important But Not Urgent / Urgent But Not Important
•Improve on Existing Functionalities / Add Should / Could Have’s Phase 2
•Version 3: Long Term Business Critical Requirements
•Nice to have’s
•Additional Functionalities – Must Be Pushed Out of Scope Based for Phase 1and Phase 2!
Phase 3
© Digital Bananas Technology
3. TRANSLATE
© Digital Bananas Technology
TranslationHigh Level
Requirement Gathering
© Digital Bananas Technology
Translation Process
Analysis
• Use Case, ERD, Logical Process Flow
• Breakdown Structure
• User Stories > User Journey > Requirement Specification
Design
• Wireframes
• Key screens
Implement
• Sprint Planning Process
• Sprints
Test
• Test Plan
• Test Case
© Digital Bananas Technology
Requirement Specification
User Story & User Journeys
Functions / Features
Tasks / Sub Tasks Task Descriptions
Proposition Risks and Mitigating
Actions
Branding Illustrations /
Guidelines
© Digital Bananas Technology
Business Rules
© Digital Bananas Technology
Requirement Catalogue
• key stakeholders including SME
• Requirement gathering
• Prioritising requirements
• Estimating & costing
• Review
© Digital Bananas Technology
Req id Requirement Priority Success Criteria Dependency
Requirement Catalogue
© Digital Bananas Technology
Use Cases
• Visual representation of the interaction between the user and the system
© Digital Bananas Technology
Epic Stories
• A collection of user stories.
• A Scrum epic is a large user story. There's no magic threshold at which we call a particular story an epic. It just means “big user story.”
• Epic – The Movie – Animated –action packed adventure for the family.
© Digital Bananas Technology
User Centred Development…
© Digital Bananas Technology
User-Led Requirement Gathering• Story boarding
• User Stories
© Digital Bananas Technology
The User (Entities)
© Digital Bananas Technology
Thinking like a usability Expert
© Digital Bananas Technology
The User
Performance Issues
Individuals / GorupsInvolved
Task Relation / Sequence
UI Influences
© Digital Bananas Technology
Thought Pattern
• How does the user know what to do next?
• How will the user connect the description of the action to he/she is trying to do?
• On the basis of the system response – will the user know if he has made the wrong or right choice?
© Digital Bananas Technology
User Stories
• A user story is simply what a user wants.
• The story of how the user will perform a particular action to get an expected result
© Digital Bananas Technology
User Centred Design within an Agile Environment• Usability is King!
• Adaptability
• Flexibility
• Embracing change within controlled environment
• Involving the users and the client
• Cross functional team
• Constant collaboration
• Developing and deploying applications on an iterative and incremental basis
© Digital Bananas Technology
User-Led Requirement Gathering• Story boarding
• User Stories
© Digital Bananas Technology
User-Led Requirement Gathering
© Digital Bananas Technology
Examples
© Digital Bananas Technology
Examples
© Digital Bananas Technology
Let’s elaborate more…
© Digital Bananas Technology
User-Led Requirement Gathering
© Digital Bananas Technology
User stories and Gherkin
• The type of user (or role) and the goal are mandatory. The reason field is optional if the reason is indeed obvious.
• To create a useful user story, one of the best practices is to ensure that it will consider the INVEST principles.
• A user story should:– be Independent– be Negotiable– be Valuable– be Estimable– be Small– have Tests
© Digital Bananas Technology
Gherkin Syntax
• Given that.... Have forgiven me
• When... I call you
• Then... You should pick up my calls
© Digital Bananas Technology
Data Validation & Verification
© Digital Bananas Technology
System Messages – User Actions
© Digital Bananas Technology
User-Led Requirement Gathering• As a (role) I want to (activity) so that I
can (reason)
– Conditions
– Events
– Outcome
Functionalities
– Tasks 1
1. Task 2
» Sub Tasks
© Digital Bananas Technology
Success CriteriaAcceptance
Criteria
Expected Results
Actual Results
© Digital Bananas Technology
Flow Chart
Flow charts are from the top downLogical explanation ofUser Stories, functionalitiesUse cases and class diagrams
© Digital Bananas Technology
Entity Relationship Diagram
© Digital Bananas Technology
Story Boarding – Development Process
© Digital Bananas Technology
Examples
© Digital Bananas Technology
Functional Requirements
• Do you remember this?
© Digital Bananas Technology
Non Functional Requirements
• Things you don’t physically see but needs to be in place to conveniently and safely use the application
© Digital Bananas Technology
Wireframes
• Visual sketch of how what the application will look like – buttons, tabs, icons, images etc
© Digital Bananas Technology
Wireframes
page schematic or screen blueprint. Visual guide that represents the skeletal framework of a website
© Digital Bananas Technology
Keyscreens
• Actual key design templates that all other pages / screens will be built on
© Digital Bananas Technology
4. COMMUNITCATE & ADJUST
© Digital Bananas Technology
Embracing Change Within a Controlled Environment
Business Benefit / Business Case
© Digital Bananas Technology
Project Issues
Change Request
Off Specification
Concern
Embracing Change within the Scope of Work.
FLEXIBLE
ADAPTABLE
© Digital Bananas Technology
InputBottom
LineBigger Picture
Business Value
Success Criteria
Opinions
Facts
Use LedUser
Requirements
Need
Want
Don’t Want
Don’t Mind
Resolving conflict & avoiding scope creep
© Digital Bananas Technology
Top Related