“Smaller Stories”

Why we need them & How we get them

Marco Alabruzzo

Engineering Manager

marco.alabruzzo@gmail.com

Gentrack - Hydra team day

28 June 2023

Why we need smaller stories

1) Focus

2) Transparency

3) Predictability

4) Flexibility

5) Risk

Focus

Why we need smaller stories

Divide et Impera

Smaller problems are easier to solve, since is easier to focus on something smaller.

Herodotus, Philip II of Macedon, Julius Caesar, Sun Tzu, Machiavelli, Napoleon, Sir Francis Bacon, Thomas Jefferson, Immanuel Kant etc.

Transparency

Why we need smaller stories

We will know sooner when there is a problem

Consider a estimation that is 20% too short.

 

If we do a single task of 10 days, we will know that the original estimate was short after 12 days.

 

If we split that in 5 stories of 2 days, we will know that we are late after 2-3 stories.

A week before.

Predictability

Why we need smaller stories

Having to break down the work in smaller chunks will force more work in the early stage how the process

CODING

REVIEW / TEST

PLANNING

Predictability

Why we need smaller stories

Lightweight planning - Bigger stories

Detailed planning - Smaller stories

*these are both extreme views

CODING

REVIEW / TEST

PLANNING

CODING

REVIEW / TEST

PLANNING

Flexibility

Why we need smaller stories

SPRINT CAPACITY

SPRINT CAPACITY

How small is small enough?

Predictability

Why we need smaller stories

Ideally one day per ticket

We don't need to be perfect form day one.

We can start with aiming at 3-4 days maximum, then iterate.

How to do smaller stories

Vertical and Horizontal

How to do smaller stories

FRONT END

BACK END

DATABASE

Horizontal

One story per layer of the stack

Vertical

One story per feature

NO!

YES!

Acceptance criteria

How to do smaller stories

Given some precondition

When I do some action

Then I expect some result

Scenario: Forgot password

Given: The user navigates to the login page

When: The user selects <forgot password> option

And: Enters a valid email to receive a link for password recovery

Then: The system sends the link to the entered email

Given: The user receives the link via the email

When: The user navigates through the link received in the email

Then: The system enables the user to set a new password

Happy Path vs Unhappy Path

How to do smaller stories

First story Happy Path

Everything goes right

Then a story for each failure scenario

Ordered by Probability

Simple First

How to do smaller stories

First story

Prototype with slow/ugly code

Following stories

Improve one aspect at the time

There are other ways

How to do smaller stories

These are just few examples,

google around and you will find more!

Thank you for listening!

Questions?

Small stories

By Marco Alabruzzo

Small stories

  • 238