Agile nie sprawdzi się wszędzie. Żeby agile miał sens muszą być spełnione dwa warunki:
- niski koszt wprowadzenia zmian
- niska precyzja wymagań
Zamiast próbować doprecyzować wymagania, taniej jest zrobić cokolwiek i potem wprowadzać poprawki.
Programowanie spełnia oba warunki, a bardzo ważne jest uświadomienie sobie, że drugi warunek spełnia bardziej niż się wydaje. Od wymagań klienta do działającego przyrostu jest mnóstwo kroków. I wiele, naprawdę wiele rzeczy może pójść nie tak. Najlepszy dowód - niemal zawsze "coś" nieprzewidzianego pojawia się na etapie implementacji.
Jeżeli brakuje jednej lub obu warunków, agile się nie sprawdzi:
-
Wysoki koszt wprowadzania zmian - np. w budownictwie pomysłki są kosztowne i lepiej nie musieć wprowadzać żadnych zmian nigdy.
-
Wysoka precyzja wymagań - dla jasno zdefiniowanych zadań lepiej je zrobić i zapomnieć.