36
Estimation: from waterfall to agile Mikkel Bo Hansen, Strategic Client Manager

Hvorfor arbejde med agil udvikling når du arbejder med web?

Embed Size (px)

Citation preview

Page 1: Hvorfor arbejde med agil udvikling når du arbejder med web?

Estimation: from waterfall to agileMikkel Bo Hansen, Strategic Client Manager

Mikkel Bo Hansen
Del ud i flere slides
Mikkel Bo Hansen
en tom backlog = fejlet projekt!
Mikkel Bo Hansen
customer close to the process
Page 2: Hvorfor arbejde med agil udvikling når du arbejder med web?

Agenda● Who is Adapt?● Why agile?● Estimation● Results● Where is the Client?● Questions

Page 3: Hvorfor arbejde med agil udvikling når du arbejder med web?

Who is

Page 4: Hvorfor arbejde med agil udvikling når du arbejder med web?

is a digital agency that unites business understanding, design and technology

Page 5: Hvorfor arbejde med agil udvikling når du arbejder med web?

● We create solid results for leading international brands (since 1998)

● Experience with launching 2000+ digital solutions

● 80+ passionate employees

● We unite business understanding, design and technology

● You are not just another project. You are a part of a team.

Page 6: Hvorfor arbejde med agil udvikling når du arbejder med web?

Offices in Copenhagen, Kaunas, Vilnius, Barcelona & Boston

LOCATIONS

Page 7: Hvorfor arbejde med agil udvikling når du arbejder med web?

Strategy, insights & design

Web

Business analysis

User Experience

User surveys

Visual identity / design

Go-to-market strategy

Concept

Mobile strategy

Developing apps for:Business

PromotionsSocial media

Games

IOS, Android, Windows

Usability testing

Think-aloud-tests

Focus groups

Concept testing

Eye tracking

Brand perception

Card sorting

Personas

MobileE-commerce

SERVICES

Complete e-commerce platforms

Integration (ERP, CRM, PIM)

Omni channel

Personalization

Customer engagement

Corporate sites

Campaign sites

Intranet

Extranet

Backend systems

Page 8: Hvorfor arbejde med agil udvikling når du arbejder med web?

Mikkel Bo HansenStrategic Client ManagerMail: [email protected]

● Copenhagen Business School

● Cand.Merc.dat● (+DTU 2 years)

● PHP programmer (not drupal)● Specialised in…

○ Agile Methods○ UX

Page 9: Hvorfor arbejde med agil udvikling når du arbejder med web?

Why did we go agile

• We’ve tripled both in company size and average project size over the last three years

• From our own developed Perl platform to developing on a global platform that is moving all the time

• Agile methods has become acknowledged as the optimal methodfor software development.

Page 10: Hvorfor arbejde med agil udvikling når du arbejder med web?

Design

Specification

Implementing

Integration

Test

Installation

Maintenance

3-6 months

Waterfall approach

Page 11: Hvorfor arbejde med agil udvikling når du arbejder med web?

Why agile?

Page 12: Hvorfor arbejde med agil udvikling når du arbejder med web?

SCRUM Kanban XP LEAN

Page 13: Hvorfor arbejde med agil udvikling når du arbejder med web?

anno2001

Individuals and interactions

over processes and tools

Working software over comprehensive documentation

Customer collaboration

over contract negotiationResponding to change

over following a plan

The Manifesto

Page 14: Hvorfor arbejde med agil udvikling når du arbejder med web?

Design

Specification

Implementing

Integration

Test

Installation

Maintenance

2-4 weeks

The Iterative Model

Page 15: Hvorfor arbejde med agil udvikling når du arbejder med web?

Build what you need

Never used

Always

Often

Sometimes

Rarely

Page 16: Hvorfor arbejde med agil udvikling når du arbejder med web?

Create the product that the user needs. And do it fast!

Test - Build - Adjust

Page 17: Hvorfor arbejde med agil udvikling når du arbejder med web?

User Stories

Condition

I must be able to change my email

I need to see a sorted list of products

I must be able to create a ticket to the

system admins

I must be able to register a bug

Perspective

As an editor

As a new user

As a teacher

As a registered customer

Value Statement

So that I am always updated with the

latest info

So that I don’t need to contact an

administrator

So that I don’t need to spend time filling out all information every

time.

As a <type of user>, I want <some goal>, so that <some reason>

Page 18: Hvorfor arbejde med agil udvikling når du arbejder med web?

As a <type of user>, I want <some goal> so that <reason>.

User Story

Backlog

The Backlog

Sprint

2-4 weeks

ProductOwner Scrum

Master

Page 19: Hvorfor arbejde med agil udvikling når du arbejder med web?

EstimationFortune telling

Page 20: Hvorfor arbejde med agil udvikling når du arbejder med web?

We tend to break down tasks and estimate the subtasks when we have the least knowledge!

Time

Unce

rtain

ty+

-

- Task Breakdown- Estimating

Time - Risk - Knowledge

Page 21: Hvorfor arbejde med agil udvikling når du arbejder med web?

Scope Buffer

How can I know something that I don’t?!You can’t!!! But you can know that you don’t know it! …. and you can accept it

User Story 1 User Story 2 User Story 3 User Story 7User Story 4 User Story 5 User Story 6

Scope BufferUser Story 1 User Story 2 User Story 3 User Story 7User Story 4 User Story 5 User Story 6

Total Budget

…. and THEN make it work for you!

Scope BufferUser Story 1 User Story 2 User Story 3 User Story 7User Story 4 User Story 5 User Story 6

Tim

e

Know what you don’t know

Page 22: Hvorfor arbejde med agil udvikling når du arbejder med web?

Story points vs time

● “How complicated is the task compared to the other task”

● It is way easier for the human brain to compare two elements than describe an isolated element

● Gives more valid estimates

How to handle what you don’t know?

So how long will it take to do this?

I don’t know….150-250 hoursfrom what i know now

Ok so 150 hours !!! !!

VS

● The value of the Story Points will be variable through the project. (only a problem if you forget it!)

Story Points

Page 23: Hvorfor arbejde med agil udvikling når du arbejder med web?

Which one will take the longest time?? How long will it take to assemble?(No, we don’t have the manual)?

x4

x16x32

x8

x2

Page 24: Hvorfor arbejde med agil udvikling når du arbejder med web?

The great guessing game!

So we have the user story [...]

5

8

5

3

13

We need to make a lot of customisation and create our own modules

But there are some good modules that can solve 95% of the wishes out of the box.

5

8

8

5

8

8 it is!

Planning Poker

Page 25: Hvorfor arbejde med agil udvikling når du arbejder med web?

63 hours

Backlog

The Backlog

81224415

8218158

1321885

13

813482

33 SP

Story Points

= 1,9Velocity

Budget: 150 hours / 1,9 = 79 SP

Business value

Mikkel Bo Hansen
Tilføj business value
Mikkel Bo Hansen
Hvor langt når vi i vores backlog for budget
Mikkel Bo Hansen
medtag pointe med en tom backlog => fejlet projekt
Page 26: Hvorfor arbejde med agil udvikling når du arbejder med web?

Results

Page 27: Hvorfor arbejde med agil udvikling når du arbejder med web?

Accurate estimation

• When estimating tasks at sprint startup we bring our learnings from the project so far into consideration

• When doing planning poker as a team we support knowledge sharing. This also makes the estimates more precise since we commit to the story point as a team.

Page 28: Hvorfor arbejde med agil udvikling når du arbejder med web?

But there’s always a but

Implementing agile methods is hard work.• Get the customer on board• Some customers are simply not ready for agile• On smaller projects it can be difficult to implement

- Not enough time to learn

Page 29: Hvorfor arbejde med agil udvikling når du arbejder med web?

No two organisations are the same!

Customize!

One slide to rule them all

Page 30: Hvorfor arbejde med agil udvikling når du arbejder med web?

Where is the customer???

Page 31: Hvorfor arbejde med agil udvikling når du arbejder med web?

Right in the middle

Page 32: Hvorfor arbejde med agil udvikling når du arbejder med web?

Knowledge is neededAs a <type of user>, I want <some goal> so that <reason>.

User Story

Backlog

Sprint

Page 33: Hvorfor arbejde med agil udvikling når du arbejder med web?

Role of the customer

• Adding business value

• Close relation to Product Owner (maybe even be the product owner)• Sorting the Backlog• Testing

Page 34: Hvorfor arbejde med agil udvikling når du arbejder med web?

Do you have any questions?

Page 35: Hvorfor arbejde med agil udvikling når du arbejder med web?

Upcoming events

• 18. November 2015: “Kom til tops i Google med Søgemaskineoptimering”

• 27. Januar 2016: “Optimer din forretning med fokus på konvertering”

• Hvis du ønsker at høre mere om vores kommende events kan du tilmelde dig vores nyhedsbrev på adapt.dk eller efterlade dit visitkort

• Hjælp os med at blive bedre. I vil efter præsentationen modtage en anmodning om at give feedback på præsentationen

Page 36: Hvorfor arbejde med agil udvikling når du arbejder med web?

Mikkel Bo HansenStrategic Client ManagerMail: [email protected]