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

Ile kosztuje dowód osobisty

Rząd jako jeden z powodów anulowania przetargu na blankiety e-dowodu podaje brak środków. Sprawdziliśmy, ile kosztowałoby to podatników i jaka jest cena za dokumenty tożsamości na świecie.

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Rekomendacje




Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
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