user story estimation with agile architectures

24
User Story estimation with Agile Architectures R. Garofalo - IFC @raffaeu

Upload: raffaele-garofalo

Post on 29-Jan-2018

1.896 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: User story estimation with agile architectures

User Story estimation with Agile

Architectures

R. Garofalo - IFC

@raffaeu

Page 2: User story estimation with agile architectures

Agenda

Agile Architecture

User Story

Common Estimation Mistakes

Views and Viewpoints

Introduce Viewpoints in User Story estimation

Agile R.O.I.

The Estimation Game

Page 3: User story estimation with agile architectures

Who I am

Raffaele Garofalo

Software Architect

IASA Member

Kitesurf addict

Contacts

Twitter: @Raffaeu

Blog: http://blog.raffaeu.com/

Mail: [email protected]

Page 4: User story estimation with agile architectures

Introduction to Agile Architecture

What is agile architecture?

Agile Architecture key objectives

Agile Architecture principles

Page 5: User story estimation with agile architectures

What is Agile Architecture?

What?

The main concept that stays behind Agile Architecture is:

“Bring agility to architecture”

“Bring architecture into the Agile world”

Why?

There are two major problems when we adopt Agile methodologies and bring them into our environment:

Agile assumes that a software needs to be developed

Agile assumes that we have a sort of control on how the system is and will be built

How?

First of all we should be able to keep our agility while staying focus on the main picture, by bringing architecture into agile and vice-versa

Most Agile teams

believe that an

Architect is not

required

Page 6: User story estimation with agile architectures

Agile Architecture key objectives

Also Agile Architecture has its own key objectives:

Deliver working solutions (a Diagram is not a working solution …)

Maximize Stakeholders’ values

Find a solution that meets the goals of all the Stakeholder

Enable the next effort

Being able to Manage changes and complexity

Page 7: User story estimation with agile architectures

Agile Architecture principles

Value People

Communicate

Less is more

Embrace changes: plan and deliver

Choose the right solution for the Enterprise, not for your User Story

Deliver quality

Model and documentation in an Agile fashion

Page 8: User story estimation with agile architectures

User Story

What is a User Story?

How can we add details to a User Story?

How you estimate a User Story?

Pitfalls of a User Story

Page 9: User story estimation with agile architectures

What is a User Story?

User stories are short, simple description of a feature told from the perspective of the

person who desires the new capability, usually a user or customer of the system.

They typically follow a simple template:

“As a user, I can buy and sell stocks that are in my portfolio”

“As a portfolio manager user, I can act on portfolios for which I have permissions”

“As a user, I can reports that analyze my portfolios’ status”

Page 10: User story estimation with agile architectures

As a USER, I can buy

and sell

STOCKS in my

Portfolio

Page 11: User story estimation with agile architectures

How can we add details to a User Story?

Details can be added to user stories in two ways:

By splitting a user story into multiple, smaller user stories.

By adding “conditions of satisfaction.”

“When a relatively large story is split into multiple, smaller agile user stories, it is natural to assume that detail has been added. After all, more has been written”

“The conditions of satisfaction is simply a high-level acceptance test that will be true after the agile user story is complete”

Page 12: User story estimation with agile architectures

As a USER, I can buy

and sell

STOCKS in my

Portfolio

As a USER, I can buy

and sell

STOCKS in my

Portfolio

As a USER, I can buy

and sell

STOCKS in my

Portfolio

Pending …

User

auth.

Port.

Mgmt

Stock

SearchBuy

mech.

Docu

ment.

Test

QA

42

168

User Story estimation

Page 13: User story estimation with agile architectures

What are the pitfalls of a User Story?

Even the best written user story leave room for interpretation and interpretation is not

design

Design is bring to the stakeholder when it’s ready and that’s the first time the

Stakeholder can start to ask for changes

The format of the user story is too agnostic. “As a User …”: which, how, when?

Sometimes stories become very big and the whole architecture is described in the

story details.

Unfortunately a User Story is not a technical document and it should not replace it

Page 14: User story estimation with agile architectures

Common Estimation Mistakes

Don’t use Fibonacci, use the technique that fits your team (i.e. Power of 2 scale)

4 Values are more than enough to estimate a story

Define a size scale and stick on that

Vote independently

Always over estimate, never underestimate cause you will always forget about a

requirement or impediment

No laptops/tablets and ask for participation

Page 15: User story estimation with agile architectures

Views and Viewpoints

Definitions

Different Views for different audience

Page 16: User story estimation with agile architectures

Definition

An Architecture View is

“Architecture views are representations of the overall architecture that are meaningful to one or

more stakeholders in the system”

An Architecture Viewpoint is

“A Viewpoint is an abstract model that can describe part of a View or a View in a specific context”

So in essence each viewpoint is an abstract model of how all the

stakeholders of a particular type see the overall system

Page 17: User story estimation with agile architectures

Architecture Views and Viewpoints

This is what most of the Stakeholders will understand

Page 18: User story estimation with agile architectures

Architecture Views and Viewpoints

This is what most of the Developers will understand

Page 19: User story estimation with agile architectures

Merge Architecture into Agile

Page 20: User story estimation with agile architectures

Some Numbers - ROI

Return of Investment

” The term "return on investment" (ROI) is frequently used to describe the benefit derived

Formula:

ROI = (V1 – V0)

_____________

I

V0 Initial Value

V1 Later Value

I Capital invested

Example:

Team cost (month): 50,000 $

Current rev.: 300,000 $

Estimated: 550,000 $

Project est. : 26

Team Velocity (be-week): 5

Result:

(550,000 – 300,000) / ((26/5*2)/4.5 * 50,000)

26/5*2 = num of weeks/ 4.5 = num of months

211% we spend 115K but gain 250K

Page 21: User story estimation with agile architectures

The estimation game

Provide to an Agile Team few stories in the form of Comics

Provide a simple View of the Architecture

Ask the teams to use a common estimation scale

Give two hours to provide viewpoints with estimation on it

Page 22: User story estimation with agile architectures

An effective estimation technique

Page 23: User story estimation with agile architectures

TOGAF and estimation

PHASE A PHASE B PHASE

C

PHASE D PHASE E PHASE F PHASE G PHASE H

Vision Business System Technology Opport. Migration Govern. Change

Mgmt

GUESSING

LEARNING

EXPERTISE

ALGHORIT.

Page 24: User story estimation with agile architectures

SCRUM and estimation