3. Requirements Gathering Flashcards
Customers may :
- may not know what is realistic
- may not know how to explain what they want
- change their minds frequently
- may not be reliable
Developers responsibility
- managing their expectations and our own workload
- be flexible about requirement changes but also be realistic
- be prepared to say that something is not possible
- customers to deliver their commitment
Objectives for requirement gathering
- get to know customers and businesses for planning
- decide on rules for engagement
- establish primary contact (product owner)
- clarify overall goals
- customers big picture
- realistic goals within the scope
- high level features to be implemented
- minimum viable product
Preparation for requirement gathering
- review literature and survey market solutions to understand project scope and develop awareness of existing solutions
- identify key stakeholders
- identify significant requirements/constraints/risk
- system boundary
- technologies to use
- meeting the customer
Project stakeholders
- user
- customers
- beneficiaries
- partners
- external services
- regulators
Non-functional requirements
usability
error handling
documentation
performance
storage capacity
compatibility
availability
environmental
security
resources
What is Effective Requirement gathering
- clear agenda and meeting goals
- use visual aides to focus customer attention
- use customer meetings to highlight complex decisions, follow up later
- describe requirements/ features with structured techniques (user stories)
- use visual walkthroughs
Setting Agenda
- summarise the agenda at the start of the meeting
- agenda should be specific to the project
- summarise specific work
- business understanding
- models
- plans for next sprint - key questions for customers
Why is Time boxing needed
- estimate time needed for each agenda and record
- help team decide how best to use time
- help chair decide when to pause discussion of an agenda
- discussions that over run should be paused
- make tasks to resolve after offline
- use extra time is available
Setting goals
- decide goals for first release
- what can be achieved by the next meeting
- what feature/ prototype can you show?
Attributes/ workstyle, choose 2 out of 3
- quick
- high quality
- complete
Ways to describe requirement
- natural language
- structured natural language
- use case diagram
- pseudo code
- view frames
- algebraic languages
User stories flow
As an [actor]
I want to [action on system]
so that I can [rationale]
Roles for meeting
- meeting chair
- product owner
- note taker
- checker
- lead demonstrator
How to manage discussions
Balance needs to be maintained between
- ensuring useful ideas and suggestions
- not deviate too much from agenda
Chair has authority over who talks
- interrupt speaker if he dominates too much
- ask customer to elaborate more if unclear
- ask someone to contribute to stimulate discussion