Wielkość buforów w projekcie

Bufor? Tak! Ale jak można go oszacować? Oto jest pytanie!

Poprzedni tekst prezentujący budowę i monitorowanie projektu z wykorzystaniem buforów zakończyliśmy pytaniem: jak określić wielkość bufora? Dziś przyszedł czas na odpowiedź.

Istnieją i są stosowane w praktyce trzy podstawowe metody określania wielkości bufora. Najpierw więc  je zwięźle przedstawię, potem zaś zastanowię się nad ich silnymi i słabymi punktami.

Pierwsza z nich, przedstawiona została przez Eliyahu Goldratta w książce „Łańcuch krytyczny”. Jest bardzo prosta, gdyż polega po prostu na policzeniu długości łańcucha zadań (szacowanych metodą 50%) i podzieleniu tej długości przez 2. Stąd też można ją nazwać metodą połowy łańcucha. Wg tej metody jeśli mamy 10 zadań oszacowanych metodą czasów agresywnych (50%) na 10 dni, to bufor – dla tego ciągu zadań – wyniesie 50 dni ((10 * 10)/2). Tym samym czas trwania projektu wyniesie 150 dni: 100 dni na realizację zadań i 50 dni  bufora. Metoda prosta? Tak. Łatwo zrozumiała? Tak. Ale czy nie za prosta i czy nie prowadzi do zbyt dużych buforów? Ano właśnie – to bardzo dobre pytanie.

Pozostałe dwie metody wykorzystują dwa oszacowania, o których czytaliście w poprzednim tekście na temat buforów: oszacowanie agresywne (tzw. 50 %-owe) oraz oszacowanie bezpieczne (tzw.  90 %-owe).

Druga metoda określania wielkości  bufora polega na podzieleniu przez 2 sumy różnic oszacowań bezpiecznych i agresywnych.
Bufor = Σ( tbi – tai)/2

Stąd też można ją nazwać metodą połowy marginesu bezpieczeństwa, lub w skrócie połową bezpieczeństwa. Przecież tak naprawdę różnica miedzy oszacowaniem bezpiecznym (90%-owym), a oszacowaniem agresywnym (50 %-owym) stanowi margines bezpieczeństwa „wbudowany” w oszacowanie zadania przez szacującego jego czas trwania wykonawcę.  Jeśli więc w łańcuchu zadań mamy 10 zadań i ich oszacowania wynoszą – odpowiednio:

Oszacowania bezpieczne: 30 -20 - 20 -15 – 10 -20 – 20 – 20 – 20 -25 (razem: 200 dni)
Oszalowania agresywne:   12 -10 – 8 - 10 – 5 - 5 – 10 – 5 – 10 -15 (razem 90 dni),
to sumaryczny margines bezpieczeństwa wynosi  110 dni, a wielkość  bufora wynosi – zgodnie z tą metodą - połowę marginesu bezpieczeństwa, czyli: 110/2 – a więc 55 dni.

Wreszcie metoda trzecia. Wg niej bufor łańcucha zadań jest równy pierwiastkowi sumy kwadratów różnic między oszacowaniami 90%-owymi,  a oszacowaniami 50%-owymi  zadań tworzących łańcuch zadań.  Podstawą tego podejścia są dwa następujące stwierdzenia. Pierwsze mówiące o tym, że chcielibyśmy, by bufor łańcucha zadań dawał taki sam poziom bezpieczeństwa, jak oszacowanie bezpieczne zadań (czyli 90%) oraz, że różnica między oszacowaniem bezpiecznym, a agresywnym wynosi około dwa odchylenia standardowe (czyli: 2σ = tb – ta).  Na tej podstawie można stwierdzić, że bufor powinien wynosić właśnie dwa odchylenia standardowe, czyli:

2σ = 2 * √(( tb1 – ta1)/2)2 +(( tb1 – ta1)/2) 2 + ….+  (( tb1 – ta1)/2) 2

I w konsekwencji:
2σ =  √( tb1 – ta1)2 +( tb1 – ta1) 2 + …. + ( tb1 – ta1) 2

Stąd metoda ta nazywa jest także SRSS (Square Root of Sum of Squares).

Jeśli teraz metodą SRSS określimy wielkość bufora dla łańcucha 10 zadań z poprzedniego przykładu (metoda druga – połowa bezpieczeństwa), to dla tych samych oszacowań zadań można najpierw policzyć różnice między czasem bezpiecznym i agresywnym dla każdego zadania oraz kwadrat tych różnic:

Różnice oszacowań: 18 – 10 – 12 – 5 – 5 – 15 – 10 – 15 – 10 – 10
Kwadrat różnic: 324 – 100 – 144 – 25 – 25 – 225 – 100 – 225 – 100 – 100 (razem 1368).

Stąd SRSS wynosi 37, a czas trwania łańcucha zadań to 90 plus bufor wielkości 37, co razem daje 127 dni.

Metody obliczania bufora już znamy. Czas na zasadnicze pytanie: którą z tych metod i kiedy stosować?

Od razu powiem, że jestem zwolennikiem jednej z dwóch metod, wykorzystujących dwa oszacowania: bezpieczne i agresywne.  Po pierwsze dlatego, że – w przeciwieństwie do pierwszej metody („Połowa łańcucha”) – uwzględniają przy określaniu wielkości bufora stopień niepewności w każdym z zadań (czyli różnicę między tb i ta). Ponadto skłaniają do dyskusji i rozmowy na temat tych oszacowań i analizy warunków realizacji zadania.  Coś tak jak w metodach „zwinnych”, gdzie właśnie dialog i rozmowa o projekcie i oszacowaniach user stories odgrywa tak fundamentalną rolę.

Główną zaletą metody („Połowa łańcucha”) jest jej prostota. I dlatego jest stosowana często w pierwszej fazie wprowadzania tej nowej metody harmonogramowania i monitorowania projektu.

I jeszcze jedna kwestia dotycząca odpowiedzi na pytanie którą z opisanych metod stosować.  To typ projektu, związany z tym, czy jest on bardziej horyzontalny (rozciągnięty na osi czasu, czyli wiele zadań sekwencyjnych), czy też bardziej wertykalny (czyli wiele zadań, lub etapów projektu jest realizowanych równolegle). Którą metodę stosować w przypadku projektu „horyzontalnego”, a którą „wertykalnego”? Tym razem odpowiem: spróbujcie sami znaleźć odpowiedź.

Macie podobne doświadczenia z buforami? A może krańcowo inne? A może stosujecie jeszcze inne podejście do określania ich wielkości?  Jeśli tak, to zapraszam do dyskusji.

Znajdź nas na Linked In!