24
#NoEstimates Tommaso Torti

Presentazione noestimates

Embed Size (px)

Citation preview

#NoEstimatesTommaso Torti

Perche si stima / customer

• Forecast: predire i costi di sviluppo dato un budget

Perche si stima / customer

• solitamente si sottostimano i costi

• solitamente si sovrastimano i benefici

NoEstimates suggerisce di basarsi su feedback generati da esperimenti o prototipi

Perche si stima / manager

• Aderenza al piano

strategie: agire di scope,

aggiungere risorse,

overtime,

cambiare la definition of done

Perche si stima / manager

NoEstimates suggerisce di analizzare i rischi di progetto e prevedere attività per mitigare il

rischio

Perche si stima / developer

• E’ una scusa per iniziare l’analisi dell’attività da svolgere

Strategie di stima

la più diffusa: per analogia

Quanto ci metti a leggere un libro di 150 pagine? per un altro libro di 50 pagine ci ho messo 1 ora , ergo => 3 ore!

Storicamente

mesi uomo =

2.4 *(migliaia di righe di codice)1.05

32000 righe di codice : 91 mesi uomo

126500 (Kirivo): 385 mesi uomo

Storicamente

In Agile

story points

• e’ una misura relativa

• (in teoria) piu facile da condividere: quanto ci vuole a percorrere a corsa un tratto? al posto di 5 o 10 minuti si afferma che un tratto è lungo il doppio

In Agile

ideal time

• lavori solo su una attività , senza interruzioni

• hai a disposizione tutte le risorse necessarie

In Agile

Hofstadter’s Law

It always takes longer than you expect, even when you take into account Hofstadter's Law.

Parkinson’s Law

no work will ever be completed before the time allocated to it.

Complessita intrinseca

Quanto e’ complessa l’attività di per se

Complessita accidentale

Problemi organizzativi, capacita nella programmazione

Critiche

• Complessità accidentale preponderante

• 50 % delle user story del backlog non verranno mai implementate

• Il focus e’ sul costo e non sul valore

• goal-displacement (al posto di consegnare valore, seguire un piano)

Responding to change over following a plan

• Selezionare la funzionalità più importante basandosi sul valore

• Spezzare il lavoro in task a rischio “neutro” ovvero se falliscono non distruggono il progetto.

• Sviluppare ogni task

• Iterare e rifattorizzare tracciando i risultati reali

System of development

Valutare la catena di persone coinvolte per portare una idea in produzione

System of development

Ha la sua :

Potenza di fuoco

e

Stabilita

Se il sistema è all’incirca stabile puoi applicare #NoEstimates

Arlo Belshee - Naked Planning

• fixed queue of 7 minimal marketable features (MMF) - senza stima

• si traccia il giorno che entrano e che escono

• Disneyland wait time - la media nel tempo

“in software, you get better results by prioritizing based solely on value than you get by including cost. This is because software is a highly-leveraged domain where cost is distributed linearly and value is distributed exponentially.”

Vasco Duarte

Nimbus

Nautilus

Antani

Fonti

• Agile Adria 2014 / Vasco Duarte: "How to improve estimates for software: The #NoEstimates view” (youtu.be/7ud-4bKJr8k)

• bit.ly/NoEstimatesProjectsDB elenco di progetti analizzati

• Arlo Belshee - Naked Planning

• Mike Cohn - Agile Estimating on Vimeo (vimeo.com/43548633)

• Fundamental Theorem of Agile Software Development - J. B. Rainsberger - vimeo.com/79106557

• http://startedworkingdone.blogspot.fi/2015/03/assumptions-behind-no-estimates.html