SlideShare une entreprise Scribd logo
1  sur  10
Télécharger pour lire hors ligne
Agile Estimating and Planning
Tomasz Szulik
• Dokładność estymacji zawodzi
• Estymacja ma wpływ na pracę programisty
• Za mało czasu - źle
• Za dużo czasu – też źle 
Czy potrzebujemy estymację?
„Prediction is very difficult,
Especially about the future.”
Niels Bohr
• Biznesowy model projektów
• Planowanie oparte na szacunkach
• Przerost formy nad treścią!
Możemy zrezygnować z szacowania?
„To achieve great things, two things are needed:
A plan, and not quite enough time.”
Leonard Bernstein
• Szybkie szacunki – szacujemy intuicyjny rozmiar
zadań
• Rozmiar zadania szacowany relatywnie
względnie innych zadań
• Autokorekta estymacji
Szacujemy rozmiar
• Jednostka – story points
• Skala
• Ciąg Fibonacciego: 1, 2, 3, 5, 8 …
• Potęgi dwójki: 1, 2, 4, 8, 16
• Wybór punktu odniesienia
• Najmniejsze zadanie
• Średni rozmiar
Szacujemy rozmiar
Dokładność szacunków
0
0,5
1
Dokładność
Włożony wysiłek
• Intuicja i wiedza eksperta
• Jedna z wyższych dokładności (jeśli mamy eksperta)
• Przez analogię
• Łatwiej się szacuje w porównaniu do czegoś
• Przez podział
Techniki estymacji
• Angażujemy cały zespół: programiści, testerzy,
graficy, analitycy…
• Łączymy różne techniki estymacji
• Badania wykazały, że średnia
z estymacji daje lepsze rezultaty niż
dochodzenie do porozumienia
przez dyskusję
Let’s play Poker
• Szacować małe zadania
• Szacować przez osoby wykonujące
• Szacować przez osoby wykonujące coś podobnego
wcześniej
• Prezentować przedział +/- 30% (praktycznie 19%)
Tips
„Planning is everything. Plans are
nothing.”
Field Marshal Helmuth Graf von Moltke

Contenu connexe

En vedette

Dlaczego git to nie svn oraz dlaczego to dobrze ?
Dlaczego git to nie svn oraz dlaczego to dobrze ?Dlaczego git to nie svn oraz dlaczego to dobrze ?
Dlaczego git to nie svn oraz dlaczego to dobrze ?XSolve
 
Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)adamhmetal
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryXSolve
 
Grafowa baza danych i integracja z symfony
Grafowa baza danych  i integracja z symfonyGrafowa baza danych  i integracja z symfony
Grafowa baza danych i integracja z symfonyXSolve
 
How to be agile at Agile Hack?! - agilehack.pl
How to be agile at Agile Hack?! - agilehack.plHow to be agile at Agile Hack?! - agilehack.pl
How to be agile at Agile Hack?! - agilehack.plXSolve
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8XSolve
 
Mongo db baza danych zorientowana dokumentowo
Mongo db  baza danych zorientowana dokumentowo Mongo db  baza danych zorientowana dokumentowo
Mongo db baza danych zorientowana dokumentowo XSolve
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...3camp
 
xlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJSxlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJSXSolve
 
Xlab #2: wzorce projektowe
Xlab #2: wzorce projektoweXlab #2: wzorce projektowe
Xlab #2: wzorce projektoweXSolve
 
Piątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPPiątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPXSolve
 
PHPCon 2016: PHP7 by Witek Adamus / XSolve
PHPCon 2016: PHP7 by Witek Adamus / XSolvePHPCon 2016: PHP7 by Witek Adamus / XSolve
PHPCon 2016: PHP7 by Witek Adamus / XSolveXSolve
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developeraTomasz Borowski
 
Continuous integration and delivery and deployment
Continuous integration and delivery and deploymentContinuous integration and delivery and deployment
Continuous integration and delivery and deploymentRubén Sospedra
 
Introduction to Clean Code
Introduction to Clean CodeIntroduction to Clean Code
Introduction to Clean CodeJulio Martinez
 

En vedette (18)

Dlaczego git to nie svn oraz dlaczego to dobrze ?
Dlaczego git to nie svn oraz dlaczego to dobrze ?Dlaczego git to nie svn oraz dlaczego to dobrze ?
Dlaczego git to nie svn oraz dlaczego to dobrze ?
 
Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)
 
Piątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous DeliveryPiątek z XSolve - TravisCI & Continuous Delivery
Piątek z XSolve - TravisCI & Continuous Delivery
 
Grafowa baza danych i integracja z symfony
Grafowa baza danych  i integracja z symfonyGrafowa baza danych  i integracja z symfony
Grafowa baza danych i integracja z symfony
 
Wzorce projektowe
Wzorce projektowe Wzorce projektowe
Wzorce projektowe
 
How to be agile at Agile Hack?! - agilehack.pl
How to be agile at Agile Hack?! - agilehack.plHow to be agile at Agile Hack?! - agilehack.pl
How to be agile at Agile Hack?! - agilehack.pl
 
Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8Xlab #1: Advantages of functional programming in Java 8
Xlab #1: Advantages of functional programming in Java 8
 
Mongo db baza danych zorientowana dokumentowo
Mongo db  baza danych zorientowana dokumentowo Mongo db  baza danych zorientowana dokumentowo
Mongo db baza danych zorientowana dokumentowo
 
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
W poszukiwaniu procesu doskonałego. Wdrożenie Scruma, Continuous Integrations...
 
xlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJSxlab #7 - ReactJS & NodeJS
xlab #7 - ReactJS & NodeJS
 
Xlab #2: wzorce projektowe
Xlab #2: wzorce projektoweXlab #2: wzorce projektowe
Xlab #2: wzorce projektowe
 
Piątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTPPiątek z XSolve - Bezpieczne nagłówki HTTP
Piątek z XSolve - Bezpieczne nagłówki HTTP
 
PHPCon 2016: PHP7 by Witek Adamus / XSolve
PHPCon 2016: PHP7 by Witek Adamus / XSolvePHPCon 2016: PHP7 by Witek Adamus / XSolve
PHPCon 2016: PHP7 by Witek Adamus / XSolve
 
What the Hack?!
What the Hack?!What the Hack?!
What the Hack?!
 
Paleta możliwości web developera
Paleta możliwości web developeraPaleta możliwości web developera
Paleta możliwości web developera
 
PHP 7
PHP 7PHP 7
PHP 7
 
Continuous integration and delivery and deployment
Continuous integration and delivery and deploymentContinuous integration and delivery and deployment
Continuous integration and delivery and deployment
 
Introduction to Clean Code
Introduction to Clean CodeIntroduction to Clean Code
Introduction to Clean Code
 

Plus de XSolve

Jak migrować kod legacy do Symfony? Tips & tricks
Jak migrować kod legacy do Symfony? Tips & tricksJak migrować kod legacy do Symfony? Tips & tricks
Jak migrować kod legacy do Symfony? Tips & tricksXSolve
 
How to Create an Agile Office
How to Create an Agile OfficeHow to Create an Agile Office
How to Create an Agile OfficeXSolve
 
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy Spring
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy SpringXlab #10: Integracja zewnętrznych API z wykorzystaniem platformy Spring
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy SpringXSolve
 
How to build a Tesla car for the price of a Chevrolet
How to build a Tesla car for the price of a ChevroletHow to build a Tesla car for the price of a Chevrolet
How to build a Tesla car for the price of a ChevroletXSolve
 
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Bootxlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring BootXSolve
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideXSolve
 
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasingPrezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasingXSolve
 

Plus de XSolve (7)

Jak migrować kod legacy do Symfony? Tips & tricks
Jak migrować kod legacy do Symfony? Tips & tricksJak migrować kod legacy do Symfony? Tips & tricks
Jak migrować kod legacy do Symfony? Tips & tricks
 
How to Create an Agile Office
How to Create an Agile OfficeHow to Create an Agile Office
How to Create an Agile Office
 
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy Spring
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy SpringXlab #10: Integracja zewnętrznych API z wykorzystaniem platformy Spring
Xlab #10: Integracja zewnętrznych API z wykorzystaniem platformy Spring
 
How to build a Tesla car for the price of a Chevrolet
How to build a Tesla car for the price of a ChevroletHow to build a Tesla car for the price of a Chevrolet
How to build a Tesla car for the price of a Chevrolet
 
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Bootxlab #8 - Architektura mikroserwisów na platformie Spring Boot
xlab #8 - Architektura mikroserwisów na platformie Spring Boot
 
How to outsource Scrum projects - a guide
How to outsource Scrum projects - a guideHow to outsource Scrum projects - a guide
How to outsource Scrum projects - a guide
 
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasingPrezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
Prezentacja firmy XSolve - programowanie, e-commerce, bodyleasing
 

Agile estimating and planning

  • 1. Agile Estimating and Planning Tomasz Szulik
  • 2. • Dokładność estymacji zawodzi • Estymacja ma wpływ na pracę programisty • Za mało czasu - źle • Za dużo czasu – też źle  Czy potrzebujemy estymację? „Prediction is very difficult, Especially about the future.” Niels Bohr
  • 3. • Biznesowy model projektów • Planowanie oparte na szacunkach • Przerost formy nad treścią! Możemy zrezygnować z szacowania? „To achieve great things, two things are needed: A plan, and not quite enough time.” Leonard Bernstein
  • 4. • Szybkie szacunki – szacujemy intuicyjny rozmiar zadań • Rozmiar zadania szacowany relatywnie względnie innych zadań • Autokorekta estymacji Szacujemy rozmiar
  • 5. • Jednostka – story points • Skala • Ciąg Fibonacciego: 1, 2, 3, 5, 8 … • Potęgi dwójki: 1, 2, 4, 8, 16 • Wybór punktu odniesienia • Najmniejsze zadanie • Średni rozmiar Szacujemy rozmiar
  • 7. • Intuicja i wiedza eksperta • Jedna z wyższych dokładności (jeśli mamy eksperta) • Przez analogię • Łatwiej się szacuje w porównaniu do czegoś • Przez podział Techniki estymacji
  • 8. • Angażujemy cały zespół: programiści, testerzy, graficy, analitycy… • Łączymy różne techniki estymacji • Badania wykazały, że średnia z estymacji daje lepsze rezultaty niż dochodzenie do porozumienia przez dyskusję Let’s play Poker
  • 9. • Szacować małe zadania • Szacować przez osoby wykonujące • Szacować przez osoby wykonujące coś podobnego wcześniej • Prezentować przedział +/- 30% (praktycznie 19%) Tips
  • 10. „Planning is everything. Plans are nothing.” Field Marshal Helmuth Graf von Moltke