Iteracja to ustalony okres w ramach projektu, podczas którego tworzona jest stabilna, działająca wersja produktu. Zawiera skrypty instalacyjne, towarzyszącą dokumentację i inne artefakty niezbędne do korzystania z tej wersji.
W skrócie
Działająca wersja produktu pozwala pokazać interesariuszom rzeczywisty rozwój projektu. Podczas demonstracji zespół programistów może uzyskać informację zwrotną na temat tego, co należy zrobić, aby lepiej zrozumieć potrzeby i jak je wdrożyć. Następna iteracja opiera się na poprzedniej. Otrzymany produkt jest o krok bliżej produktu końcowego. Iteracja to czas ograniczony. Innymi słowy, harmonogram jest dość sztywno ustalony. Aby dotrzymać tego harmonogramu, treść przedziału czasowego może ulec zmianie.
Funkcje
Iteracja to dobrze zdefiniowany okres. Sam rozwój projektu ma starannie zaplanowane celeczas trwania przedziału czasowego jest stały. Podczas regulacji każda iteracja ustala własne kryteria oceny. Jednocześnie obowiązki i zadania są wyraźnie rozdzielone pomiędzy uczestników zaangażowanych w projekt. Dodatkowo prowadzone jest badanie obiektywnych wskaźników rozwoju projektu. Iteracja to okres obejmujący pewną liczbę przeróbek. Należy powiedzieć, że wszystkie są przeprowadzane w sposób ustrukturyzowany.
Integracja
Każda prosta iteracja powinna uwzględniać prawdopodobne zagrożenia, które są ważne dla projektu, a także wdrażać elementy pracy o wysokim priorytecie. W rezultacie istnieje pewność, że każdy okres wnosi maksymalną wartość dla interesariuszy na tle zmniejszonej niepewności. Zazwyczaj programowanie iteracyjne łączy się z ciągłą lub częstą integracją. Innymi słowy, gdy komponenty przejdą testy jednostkowe, zostają one zintegrowane z całym projektem. Po montażu i testach przeprowadzane są. W ten sposób możliwości zintegrowanych produktów wzrastają w całej iteracji w stosunku do celów, które zostały określone podczas planowania. Regularne kompilacje (codzienne lub częstsze) pozwalają rozdzielić problemy i zadania integracji i testowania, równomiernie je rozmieścić w całym cyklu rozwojowym. Często przyczyną upadku projektów jest to, że wszystkie trudności są odkrywane w jednym momencie w ramach jednego procesu integracyjnego odbywającego się w dniufinałowy etap. W takim przypadku jeden problem zatrzymuje cały zespół.
Perspektywy
Ze względu na złożoność używanego obecnie oprogramowania nie zawsze jest możliwe konsekwentne projektowanie, definiowanie wymagań, testowanie, wdrażanie, wybór architektury, prawidłowe wykonywanie tych i innych kroków. Rozwiązanie iteracyjne pozwala, na koniec każdego okresu, dać zainteresowanym stronom dostęp do możliwości projektu. W takim przypadku, podczas tworzenia, zespół szybko i okresowo otrzymuje informację zwrotną. To z kolei pozwala na rozwiązywanie ulepszeń i problemów przy niższych kosztach, jeśli w czasie i budżecie projektu oraz na długo przed rozwojem postępów na tyle daleko, że mogą być wymagane znaczące poprawki. Iteracja pozwala uzyskać aktualny kod. Można go aktywować, oceniać i dostosowywać w kierunku rozwoju projektu. Z reguły czas trwania tego okresu wynosi cztery tygodnie. Istnieją jednak zespoły, które pracują przez siedem dni lub dłużej, nawet do półtora miesiąca.