Masterclass - Agility with Use Cases

18
Amsterdam 16-11-2016 Masterclass - Agility with Use Cases How to keep requirements up to date without losing “just-enough” and “just-in-time” principles

Transcript of Masterclass - Agility with Use Cases

Page 1: Masterclass - Agility with Use Cases

Amsterdam 16-11-2016

Masterclass - Agility with Use Cases

How to keep requirements up to date without losing “just-enough” and “just-in-time” principles

Page 2: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Roadmap

• Agile manifesto

• The need for documentation

• WS1: Connecting stories to the big picture

• Use case slices

• WS2: Find the missing stories

• When more details are required

• WS3: Analysing a user story (slice)

• Just-in-time

• WS4: Find the right level of detail

• Takeaways

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 3: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Manifesto for Agile Software Development

Working software

Responding to change

Individuals and interactions

Customer collaboration

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 4: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Manifesto for Agile Software Development

Working software

Responding to change

Individuals and interactions

Customer collaboration

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 5: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Documentation

1. Requirements – Statements that identify attributes, capabilities, characteristics, or qualities of a system. This is the foundation for what will be or has been implemented.

2. Architecture/Design – Overview of software. Includes relations to an environment and construction principles to be used in design of software components.

3. Technical – Documentation of code, algorithms, interfaces, and APIs.

4. End user – Manuals for the end-user, system administrators and support staff.

5. Marketing – How to market the product and analysis of the market demand.

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 6: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Stakeholders for requirements

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Developers

Testers

Business

Maintenance

Page 7: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

The need for documentation

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

• Complexity

• Lifecycle of solution

• Number of teams

• Team size

• Geographical locations

• Domain knowledge team

• Accessibility domain experts (PO)

• Legislation / severity of errors

• Number of Stories

Page 8: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Connecting stories to the big picture

1. Study the provided UC model

2. Study the brief descriptions

3. Study the provided user stories

4. Connect each user story to one or more use cases

30 minutes

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 9: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

• Is created by selecting one or more stories for implementation

• …, acts as a placeholder for all the work required to complete the implementation of the stories

• …, and evolves to include the equivalent slices through design, implementation and test.

• Is described by a set of structured stories inthe form of:

• A use-case narrative containing flows and special requirements

• And a set of matching Test Cases

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Use case slices

Use-Case SliceUse Case

Page 10: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Align Backlog and Use Cases

Actor 01

(from

Actors)

Actor 02

(from

Actors)

Actor 03

(from

Actors)

(from Heavy Molecule)

Use Case 01

(from Heavy Molecule)

Use Case 02

(from Heavy Molecule)

Use Case 03

(from Heavy Molecule)

Use Case 04

Actor 06

(from

Actors)

Actor 05

(from

Actors)

«include»

Connect backlog stories to

Use cases

Divide Use Cases into

slices and compare them to

backlog stories

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 11: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Find the missing stories

1. Study the bulleted outline versions of the provided use cases• UC01 Register birth (BO)

• UC05 Register change of address (BO)

• UC09 Register demise (BO)

2. Study the provided user stories

3. Find the missing stories for each provided bulleted outlines

30 minutes

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 12: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

When more details are required

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

• Complexity • Ambiguity

• Requirements exceed use cases • Number of scenario’s

• Safety, financial or legal requirements

• Relationships between glossary items

Page 13: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Supporting Information

Logical flow of adding details

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Supplementary

RequirementsTest scenario's

Glossary Domain model Business rulesUse Case

Narrative

Use Case

Realisation

Page 14: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Analysing a user story (slice)

1. Study the essential outline versions of the provided use cases• UC01 Register birth (Ess)

• UC05 Register change of address (Ess)

2. Study the provided user stories

3. For each story• Identify part of narrative that (might) need more details

• If details are needed

• Choose suitable way / form to add details if needed

• When would you add these details?

30 minutes

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 15: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Just-in-time

Just-in-time is a subjective concept

• Just-in-time could be:• Sequential flow of Requirements, Development and Test

• Parallel flow of Requirements, Development and Test

• Any other combination

• Just-in-time could be influenced by:• Maturity of organization / team in agile processes

• Organizational structure (hierarchical culture)

• Focus on what you “really” need at a particular moment

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 16: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Just-in-time and Just-enough

Just-in-time and Just-enough are related

• The level of detail is dependent on the moment that you need it• What’s needed later, might blur your vision at this moment

• What’s needed now, could well be insufficient at a later moment

• Don’t add details because you can

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 17: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

Find the right level of detail

1. Study the provided documentation on Work products and States

2. Find for each Work product the appropriate State for the following situations / scenario’s

• The initial version of the product backlog (to be created)

• The initial version of the architecture (to be created)

• The end of a sprint where a complex story was developed

• The release of the first version of the product

20 minutes

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases

Page 18: Masterclass - Agility with Use Cases

ww

w.d

ive

tro

.nl

What are the take aways? What did you learn?

© DiVetro 2016 20161116 - Masterclass - Agility with Use Cases