L07: Agile Requirements Engineering Flashcards

1
Q

What are requirements in IID?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a user story?

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the standard form of a user story?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do we write user stories?

A
  • 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the acceptance criteria for user stories?

A

‘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)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Example of acceptance criteria (read)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are some desired qualities of user stories?

A

INVEST
- Independent
- Negotiable
- Valuable
- Estimable
- Small
- Testable

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How do user stories fit into agile development?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are some limitations of user stories?

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly