Rozwój oprogramowania metodami agile oznacza zredefiniowanie znaczenia jakości. W tradycyjnym podejściu, trójkąt zarządzania projektem przedstawiany jest jako zależność parametrów projektu, czyli zakresu, czasu i kosztów, które wspólnie wpływają na jakość. Parametry te są od siebie zależne w ten sposób, że zmiana jednego wpływa na zmianę pozostałych – zerknijcie na poniższy rysunek:
Tradycyjnie, projekt był uznawany za sukces, jeśli przebiegł z uwzględnieniem ograniczeń czasowych, kosztów i dostępności zasobów a produkty dostarczone w ramach projektu miały akceptowalny poziom jakości [Cobb]. Nie została uwzględniona wartość dla biznesu klienta [Kaczor]. Inaczej mówiąc, jeśli dostarczone zostało oprogramowanie w czasie, zakresie i budżecie przewidzianym na początku projektu, to taki projekt oznaczał sukces nawet jeśli z dostarczonego produktu nie można było skorzystać, gdyż nie spełniał rzeczywistych wymagań klienta. Czyli nie ważne co i czy użyteczne, ważne że zgodne ze specyfikacją, kosztem i terminem 😉
W dzisiejszym świecie, aby osiągnąć sukces, należy wyjść poza tradycyjny trójkąt, przestać skupiać się wyłącznie na harmonogramach i kosztach, a większą uwagę skupić na osiągnięciu wyników biznesowych. Oznacza to konieczność zmiany perspektywy- otwarcie się na elastyczność, dostosowanie do niepewnego otoczenia i zmieniających się potrzeb klienta, a także zwiększenie szybkości dostarczania gotowego do użycia oprogramowania [Cobb] – a w rezultacie przebudowanie znaczenia „jakości”.
Jim Highsmith zaproponował trójkąt zarządzania projektami agile, w którym wartość produktu do wydania, jakość produktu oraz ograniczenia projektu są kluczowymi elementami sukcesu projektu:
Rysunek: Trójkąt zarządzania projektami agile, źródło: opracowanie własne na podstawie Agile Project Management, J. Highsmith,
Wartość wyznacza nie cały zaplanowany produkt, tylko jego część aktualnie przeznaczona do wydania. Jakość to produkt przetestowany, niezawodny i adaptowalny – również w sensie łatwości refaktoringu kodu źródłowego. Ograniczenia określane sągłównie przez koszty i czas. Tylko przy spełnieniu tych trzech elementów wykonywana część produktu spełni oczekiwania klienta.