Zwinne programowanie, czyli o metodologii Agile

Subskrybuj RSS A A A
30 sierpnia 2010 12:08
Łukasz Rycharski

Termin Agile Software Development jest używany w odniesieniu do metodologii wytwarzania oprogramowania umożliwiających jak najszybszą odpowiedź na zmienne potrzeby rynku. Termin ten upowszechnił się po 2001 r.

Wówczas to powstał http:// agilemanifesto.org/" target="_blank" class="link" title="Manifest Agile Software Development">Manifest Agile Software Development wyrażający cztery podstawowe wartości, na których bazują metodologie Agile. Te wartości to:

  • ludzie i ich wzajemne oddziaływania ponad procesy i narzędzia,
  • działające oprogramowanie ponad obszerną dokumentację,
  • współpraca z klientem ponad negocjowanie kontraktów,
  • reakcja na zmianę ponad realizację planu.


Czytając manifest możemy odnieść wrażenie, że zdecydowanie marginalizuje on znaczenie procesów i narzędzi, dokumentacji, twardych negocjacji z klientem oraz postępowania zgodnie z planem. Wrażenie to jest dodatkowo wzmocnione sposobem, w jaki zapisano każde z tych zdań. Odczucie to jest jak najbardziej słuszne. Należy jednak pamiętać, że manifest nie neguje zasadności istnienia tych elementów, lecz kładzie nacisk na te aspekty wytwarzania oprogramowania, którym dotychczas nie poświęcano wystarczającej uwagi lub pomijano w klasycznej metodzie wodospadowej (waterfall).

Każdy z czterech punktów zostanie rozwinięty poniżej w celu przedstawienia ogólnej charakterystyki metodologii wytwarzania oprogramowania typu Agile.

Ludzie i ich wzajemne oddziaływania ponad procesy i narzędzia

W klasycznym podejściu zgodność z procesem lub narzędziem jest często celem samym w sobie i jest postrzegana jako kryterium sukcesu projektu. Proces zwykle jest bardzo sztywny i trudny do zmiany. Zauważalną tendencją jest również bezkrytyczne wdrażanie procesu w danym projekcie, nawet jeżeli nie adresuje on jego potrzeb. Dodatkowo, w klasycznym podejściu do wytwarzania oprogramowania, komunikacja jest bardzo sformalizowana i odbywa się poprzez dokumenty lub systemy.

Zwinne metodologie traktują procesy i narzędzia jako wsparcie dla ludzi w podejmowaniu decyzji, zapewnianiu jakości, czy utrzymaniu kontroli nad projektem, które, jeżeli zachodzi taka potrzeba, mogą w części lub całości zostać zmodyfikowane, lub w skrajnych przypadkach pominięte. Zwinne metodologie kładą nacisk na bezpośredni kontakt miedzy ludźmi jako najefektywniejszą formę przekazywania informacji. Ponadto promują wspólne, zespołowe podejmowanie decyzji w przeciwieństwie do eksperckich decyzji w klasycznym podejściu. Np.: szacowanie rozmiaru wymagań, czasu realizacji danego wymagania, wyboru technologii lub zewnętrznego komponentu są dokonywane gremialnie, w oparciu o rzeczową dyskusję. Zaletą takiego podejścia jest podejmowanie lepszych decyzji, nie bazujących na jednej, ale na wielu różnych perspektywach, a także poprawa integracji w zespole i identyfikacji z projektem.

Działające oprogramowanie ponad obszerną dokumentację

Na wstępie pragnę zaznaczyć, że nie chodzi tu o dokumentację końcową produktu dostarczaną klientowi w postaci przewodnika dla użytkownika.

Wodospadowy model wytwarzania oprogramowania zakłada długą fazę analizy wymagań oraz projektowania całości systemu, która owocuje dużą ilością dokumentacji opisującą implementację w bardzo szczegółowy sposób. Niestety, na etapie planowania bardzo często umysł ludzki nie jest w stanie ogarnąć wszystkich aspektów złożoności oprogramowania jak i ograniczeń wybranej technologii. Kiedy przychodzi do fazy wytwarzania oprogramowania okazuje się, że cześć udokumentowanego projektu jest niemożliwa, bądź bardzo trudna do implementacji, co wymusza zmiany zarówno w projekcie, jak i w istniejącej już dokumentacji, co z kolei powoduje dodatkowy narzut czasowy. Dodatkowo, zazwyczaj zmiany architektury projektu w jednym miejscu pociągają za sobą zmiany w innej, zależnej części. To z kolei sprawia, że czas potrzebny na aktualizację dokumentacji znacząco się wydłuża. Ostatecznie okazuje się, że nie jesteśmy w stanie odzwierciedlić w dokumentacji wszystkich zmian architektonicznych, co czyni ją nieaktualną, a czas poświęcony na szczegółowe projektowanie jest czasem zmarnowanym (nie mamy ani aktualnej dokumentacji ani działającego kodu).

Więcej o narzędziach IBM i programowaniu na serwisie My Developer Works.

1  2  3  dalej »

Oceń artykuł

średnio: 4 liczba ocen: 3

Komentarze (3)

~kavka

03-06-2010 13:10

Sam (niepoprawny!) tytuł artykułu skutecznie zniechęca do czytania jego treści.

~Michał

02-06-2010 09:52

Genialne jest zestawienie słów: "... nie mamy ani aktualnej dokumentacji ani działającego kodu. Więcej o narzędziach IBM i programowaniu na serwisie My Developer Works. " Nic dodać, nic ująć (brałem udział w takich projektach z wykorzystaniem narzędzi IBM)

~Prof. Miodek

01-06-2010 14:11

"...zwinne metodologie..." -> Drogi Autorze, metodologia to nauka o różnych metodykach...powinno być "zwinne metodyki"


Najnowsze

MAC, czyli ministerstwo reformowania rządzenia

Premier wspiera lojalnie w kryzysie najbliższego współpracownika, Michała Boniego, przyjmując na siebie atak oburzonych internautów podczas debaty o ACTA.

Nowe, unijne zamówienia publiczne

Komisja Europejska proponuje ważne zmiany prawa wspólnotowego w obszarze zamówień publicznych. Warto im się przyjrzeć bo to jeden z elementów nowej perspektywy finansowej UE. Warto zatem przyjrzeć się owej propozycji bliżej.

Bezpieczeństwo rządowych stron - analiza

Zespół zadaniowy ds. ochrony portali rządowych opublikował wytyczne. Trudno stwierdzić, że to najlepsze rekomendacje, jakie można było przy okazji zaistniałych ataków wypracować.

DEBATA: Kiedy walka polityczna w sieci przemienia się w cyberterroryzm?

Skuteczny atak cybernetyczny przyniesie opłakane skutki dla państwa i gospodarki. Boleśnie się o tym przekonaliśmy, gdy nie można było dostać się na strony internetowe najważniejszych instytucji w Polsce.

Czy MSW chce unieważnienia przetargu na pl.ID?

Rośnie ryzyko całkowitego unieważnienia przetargu na nowe dowody osobiste. Krajowa Izba Odwoławcza odrzuciła odwołanie firmy Sygnity, która nie zgadzała się na wydłużenie o trzy miesiące terminu składania ofert na dostawę blankietów nowych dowodów osobistych. Wydłużenie całego postępowania o trzy miesiące może spowodować skargi uczestniczących w nim firm, a w konsekwencji unieważnienie przetargu.

Garść rad dla roztropnego szefa IT

Trudne czasy w gospodarce to okres, kiedy szczególnego znaczenia nabiera hasło: Jak cię widza, tak cię piszą. Osłabienie rynku przekłada się na oszczędności w przedsiębiorstwie, a oszczędności najłatwiej szukać w działach, które, w opinii zarządu, nie są bezpośrednio związane z prowadzoną działalnością - czyli również w dziale IT.

Sprzeczne wizje e-dowodu

Koncepcja elektronicznego dowodu osobistego powstała w Polsce wiele lat temu. Starsze są koncepcje elektronicznego systemu świadczeń ochrony zdrowia. Mimo to, nadal są w trakcie budowy.

Rekomendacje


Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88