L07: Agile Requirements Engineering Flashcards
What are requirements in IID?
Iterative and incremental development methods are more dynamic
- Better able to avoid requirements specification becoming outdated quickly
- IID methods inherently support changing requirements
Agile methods use incremental requirements engineering and user stories
- Scrum, Kanban, etc
This is helpful for a number of business systems but potentially problematic for others
What is a user story?
Agile development typically captures requirements as user stories, with a focus on conversations with customers
Short, simple description of a desired feature from a user perspective
- Role of user / persona (Who)
- What they want
- Why
Focus on conversations with customers rather than precise specifications
- How to provide value to customers
Smallest unit of work in agile development
What is the standard form of a user story?
Typically of the form:
As a (role), I want to (action), [so that (benefit)]
Examples
- As a customer, I want to use a search facility so that I can quickly find items of interest
- As a lecturer, I want to download a list of all students in my module so that I can allocate them to groups
How do we write user stories?
- User stories can be recorded on index cards, post-its or using project management software
- This makes it easier to move them around and organise them
-User stories can be organised through story maps
- This provides a holistic view of overall user experience and plan releases
What is the acceptance criteria for user stories?
‘Definition of done’
- Requirements for marking a user story as complete
- As a (role), I want to (action), [so that (benefit)]
- Scenario (description)
- Given (context / starting point)
- When (action is taken)
- Then (expected outcome)
Example of acceptance criteria (read)
User story
- As a lecturer, I want to download a list of all students in my module so that I can allocate them to groups
Acceptance criterion
- Scenario: Lecturer obtains list of students to do group allocation for assignment
- Given that I have accessed my module on MMS and navigated to the Students tab
- When I click on download button
- Then a file with details of students is downloaded to my device
What are some desired qualities of user stories?
INVEST
- Independent
- Negotiable
- Valuable
- Estimable
- Small
- Testable
How do user stories fit into agile development?
- Anyone in the agile development team can write user stories
- User stories can be added throughout development
- Backlogs contain items including user stories and bug fixes
- Each user story is usually assigned an abstract score or points based on estimated complexity of time required to complete it
- A user story can be completed in a single sprint
What are some limitations of user stories?
- Quality of stories can be a problem
- Scaling to large projects -> lots of index cards
- Non-functional requirements are not typically captured
- Can be specified as additional user stories of acceptance criteria for ‘functional’ user stories but may need global scope
- Gap between user stories and technical system development