Trójkąt czas-koszt-jakość w informatyce

Tekstów na temat trójkąta czas-koszt-jakość można znaleźć w Internecie co najmniej tyle, ile wariacji i modyfikacji samego trójkąta istnieje. Niektórzy uważają, że stosowanie go ma sens jedynie w przypadku dużych projektów informatycznych. My, w gaman.pl sądzimy inaczej. Metodologia ta może i powinna być stosowana do wyceny kosztochłonności i czasochłonności projektów informatycznych każdej skali, nawet prostych stron WWW.

Trójkąt

Przykładowy trójkąt czas-koszt-jakość (z artykułu Udręki młodego Menedżera):

Trójkąt czas-koszt-jakość

Czas, koszt i jakość to warunki brzegowe każdego większego projektu (nie koniecznie informatycznego). Każdy taki projekt może uzyskać maksymalne wartości dwóch wybranych warunków brzegowych, przy jednoczesnej minimalnej wartości trzeciego warunku. Przykładowo, można więc uzyskać wysoką jakość przy niskim koszcie, ale wtedy czas realizacji będzie również maksymalnie długi. Trójkąt pozostaje więc zawsze w równowadze, a jego warunki brzegowe są zawsze ze sobą powiązane -- nie można zmienić jednego aspektu bez wpływu na pozostałe.

Istnieją alternatywne wersje trójkąta. Np. Microsoft feruje wersję, w której jakość znajduje się w środku trójkąta, jako czwarty element, na który wpływają trzy pozostałe. Natomiast, wśród warunków brzegowych zamiast jakości występuje zakres prac niezbędnych do wykonania.

Kilka przykładów na to, jak trójkąt czas-koszt-jakość pozostaje w równowadze:

  • by przybliżyć zakończenia projektu (czas), można zwiększyć nakłady (koszt) lub zmniejszyć wymagania (jakość),
  • by zwiększyć wymagania (jakość), trzeba wydłużyć harmonogram prac (czas) lub zwiększyć liczbę pracowników (koszt); ewentualnie oba jednocześnie,
  • by zmniejszyć budżet (koszt), można zlikwidować nadgodziny lub personel i ukończyć projekt w późniejszym terminie (czas) bądź ponownie ograniczyć wymagania (jakość).

W większości projektów co najmniej jeden bok trójkąta jest stały i nie może zostać zmieniony. Wówczas menedżer projektu, zmieniając dwa pozostałe boki musi doprowadzić trójkąt do równowagi.

Pamiętajmy, że trójkąt czas-koszt-jakość powinien jak najbardziej przypominać trójkąt równoboczny lub wręcz nim być. Co wcale nie oznacza, że tak jest zawsze. W zbyt wielu projektach informatycznych przypomina on trójkąt równoramienny (gdzie czas wykonania i jakość są przeciętne, a koszty giną za horyzontem). I zbyt wiele osób odpowiedzialnych lub decyzyjnych akceptuje taki stan rzeczy.

Optymalizacja ramion

Jak już wiadomo, w trójkącie czas-koszt-jakość można jednocześnie utrzymać stałą długość maksymalnie dwóch ramiona. Trzeci zawsze musi ulec zmianie. Dlatego też -- optymalizacja trójkąta zależy od tego, które z ramion menedżer projektu może zmieniać.

Optymalizacja czasu -- ścieżka krytyczna

Ścieżka krytyczna (ang. Critical Path Method, CPM) to w teorii zarządzania projektami ciąg takich zadań (podzadań projektu), że opóźnienie któregokolwiek z nich opóźni zakończenie całego projektu. Menedżerowie projektu (lub inne osoby decyzyjne w nim) powinny zwrócić szczególną uwagę na zadania znajdujące się na ścieżce krytycznej, gdyż od nich zależy terminowość całego przedsięwzięcia.

Podstawową metodą stosowaną w takich sytuacjach jest eliminowanie niektórych zadań na ścieżce. Np. proces wdrożenia produktu informatycznego nie musi zawierać w sobie stworzenia dokumentacji, czy promocji i reklamy. Są to elementy niezbędne w cyklu życia produktu, ale nie muszą znajdować się na ścieżce krytycznej -- mogą zostać zainicjowane już po wprowadzeniu pierwotnej wersji produktu na rynek.

Proszę zwrócić uwagę, że nie jest to stosowanie trójkąta czas-koszt-jakość, gdyż usunięcie pewnych zadań nie jest permanentne (w związku z czym, nie wpływa na zmniejszenie się jakości produktu). Są one jedynie przesuwane poza ścieżkę krytyczną projektu.

Jeżeli eliminacja zadań ze ścieżki krytycznej projektu nie jest możliwe lub nie przynosi efektów, to następną stosowaną metodą jest skorzystanie z trójkąta czas-koszt-jakość. Jest on w tym przypadku jednym z narzędzi, które umożliwiają skrócenie ścieżki krytycznej w sytuacjach, w których terminowa realizacja projektu jest zagrożona.

Podstawowym działaniem jest tu zwiększenie zasobów wykonawczych. Pozwala to nałożenie na siebie zadań, w celu umożliwienia jednoczesnej pracy nad nimi lub skrócenie czasu wykonywania zadań na ścieżce krytycznej. Oba działania zwiększają więc koszt projektu, ale zapewniają zachowanie jakości i czasu realizacji na niezmienionym poziome. Idea trójkąta jest więc zachowana.

Ścieżka krytyczna będąca najdłuższą sekwencją czynności niezbędnych do wykonania projektu, wyznacza jednocześnie najkrótszy czas realizacji projektu. Składa się z czynności krytycznych, w przypadku realizacji których zapas czasu jest najmniejszy (często -- zerowy).

Optymalizacja budżetu

To najtrudniejsza z metod utrzymania (przywrócenia) równowagi trójkąta czas-koszt-jakość. W większości projektów największą część budżetu stanowią nakłady dotyczące zasobów -- stałe i oparte na stawkach koszty związane z ludźmi, sprzętem i materiałami. Utrzymanie się w granicach budżetu może wymagać dokonywania trudnych wyborów.

W tym, m.in.:

  • sprawdzenie, czy alokacja zasobów jest optymalna względem wykonywanych zadań,
  • zmniejszenie zakresu (jakości) projektu w celu ograniczenia liczby i długości zadań,
  • upewnienie się, że stawki są adekwatne do pracy, a nadgodziny -- uzasadnione,
  • zastąpienie drogich zasobów tańszymi -- zatrudnienie mniej wykwalifikowanych, ale za to tańszych wykonawców, zastąpienie płatnych komponentów projektu, darmowymi itp.

Odzyskanie równowagi trójkąta, poprzez redukcje budżetu może spowodować przesunięcie terminu zakończenia prac lub zmniejszenie jego zakresu (jakości). Na przykład, w wyniku redukcji lub usunięcia nadgodzin termin realizacji projektu może się wydłużyć. Z kolei ograniczenie zakresu projektu może spowodować, że faktyczny termin zakończenia wypadnie wcześniej, ale jakość produktu finalnego ulegnie zmniejszeniu.

Optymalizacja jakości (zakresu)

Czy w celu zaoszczędzenia pieniędzy można zbudować most krótszy o kilka metrów od szerokości rzeki? Można! Pytanie -- jaki jest tego sens? W niektórych sytuacjach zakresu projektu nie można zmienić, w związku z czym konieczne jest podjęcie innych działań:

  • dodanie zasobów w celu zagwarantowania wykonania wszystkich zadań,
  • dodanie zadań lub zwiększenie czasu ich trwania,
  • wydłużenie terminu, w celu ukończenia wszystkich.

Dwa pierwsze rozwiązania zwiększają koszty przy tej samej jakości i czasie realizacji. Ostatnie -- zwiększa czas realizacji, przy zachowaniu bieżących kosztów i jakości.

Jeżeli optymalizacja jakości jest możliwa, to z reguły oznacza redukcję zakresu funkcjonalności lub zapewnienie końcowemu użytkownikowi zbliżonej funkcjonalności zrealizowanej przy użyciu mniej kosztochłonnych i czasochłonnych rozwiązań (co też jest redukcją jakości z pewnych punktów widzenia).

Trójkąt w praktyce

Wiedząc, jak działa trójkąt czas-koszt-jakość, zleceniodawca (przede wszystkim, ale również potencjalny wykonawca) powinien pamiętać, aby tworzenia opisu zlecenia określić oba priorytetowe parametry. Dzięki temu wszystkie otrzymane oferty będę uwzględniały te same warunki realizacji oraz równowagę trójkąta. W większości zapytań podawany jest jedynie zakres prac, przez co wykonawca ma utrudnioną wycenę -– pojawia się podstawowe pytanie czy lepiej zaproponować dłuższy czas realizacji i niższy koszt, czy może wyższy koszt, a krótki czas.

Zachowując niezmienny jeden z boków trójkąta (jakość, zakres prac) oferent nie wie, które z dwóch pozostałych ramion ma dla zleceniodawcy większe znaczenie? Czy jest to koszt, czy czas realizacji?

Trzeba sobie jednocześnie uświadomić, że nie istnieją projekty, które byłyby precyzyjnie oszacowane pod względem czasowym, kosztowym i bez kompromisów na jakości.

Dlatego że przed rozpoczęciem każdego projektu dokonuje się jedynie mocno przybliżoną estymację wstępną. Dlaczego tylko przybliżoną? Gdyż dokładna estymacja byłaby zbyt... kosztowna i pracochłonna. A i tak co najwyżej o kilkanaście procent dokładniejsza niż trafna zgrubna estymacja wstępna. W praktyce więc, w przypadku każdego projektu jesteśmy skazani na niedoszacowanie któregoś z trzech ramion trójkąt czas-koszt-jakość. Możemy też być prawie pewni pojawiania się rzeczy nieprzewidzianych wcześniej.

Dlatego też najpóźniej w połowie projektu doświadczony menedżer projektu staje przed pytaniem: co ma ucierpieć?

Czy powinien:

  • obniżyć jakość (zmniejszenie ilości testów, redukcja funkcjonalności),
  • zwiększyć koszt (godziny nadliczbowe, dodatkowi pracownicy),
  • zwiększyć czas potrzebny na dokończenie prac projektowych?

Dobry menedżer projektów zna te pytania jak modlitwę. Są one jego religią oraz przekleństwem jednocześnie.

Krytyka

Większość krytyków trójkąta czas-koszt-jakość przywołuje jako koronny dowód, że "Toyota nie stosuje tego trójkąta i jakoś daje sobie radę z cięciem kosztów przy jednoczesnym zapewnieniu wysokiej jakości produktów" -- więc, po co on nam?

Na taką argumentację można przytoczyć wiele kontrargumentów, wśród których najważniejsze to fakt, że Toyota znacząco zmniejszyła wpływ trójkąta na swoją filozofię produkcji (zastępując go podejściem procesowym i filozofią Kaizen), co wcale nie oznacza, że wyeliminowała go zupełnie. Mało tego, był to proces trwający latami, a nie ot, tak podjęta decyzja, że od dziś nie stosujemy trójkąta czas-koszt-jakość wcale. Dlatego, dla projektów bieżących lub uruchamianych w najbliższej przyszłości (a nie "za kilka lat") odrzucanie trójkąta na rzecz filozofii podobnej do stosowanej przez Toyotę mija się zupełnie z celem.

Podsumowanie

Na koniec, nieco humoru. Fotografia znaleziona w artykule Trójkąt ograniczeń:

Inne spojrzenie na trójkąt czas-koszt-jakość

Parafrazując na rynek IT: Projekty dobre i szybko realizowane (najwyższa półka) nie są tanie. Projekty dobre i zarazem tanie (średnia półka, najczęściej oczekiwane przez klientów, najrzadziej spotykane) nie zostaną szybko zrealizowane. Zaś projekty szybkie i tanie (studenci, Hindusi, Chińczycy) nigdy nie będą dobre.

Bibliografia

Niniejszy artykuł oparto na poniższych tekstach:

Trójkąt czas-koszt-jakość w informatyce

Zostaw komentarz