WEBESTEEM | BATTLE AREA | FORUM
art & design
webesteem magazine | numery archiwalne | nr 10 | design
art & design
art & design

Zaprezentowany tekst
Zarządzanie projektami w erze e-biznesu - Cz. III - Czołowa metodyka adaptacyjna eXtreme Programming (XP), jest trzecim
z cyklu
artykułów
poświęconych zagadnieniom związanym z zarządzaniem projektami. Następne zostaną opublikowane w kolejnych numerach naszego magazynu.

Zarządzanie projektami

Zarządzanie projektami w erze e-biznesu
Cz. III - Czołowa metodyka adaptacyjna eXtreme Programming (XP)

 

Zmienność zakresu projektu i ciągłe uzależnienie od zewnętrznych czynników (konkurencji, rynku, rozwoju technologii) utrudnia zachowanie tradycyjnych zasad zarządzania projektami (zwłaszcza w zakresie wytwarzania aplikacji internetowych).

 

Jeszcze niedawno taka zmienność traktowana była jako przeszkoda w realizacji projektu, natomiast dziś traktowana jest jako normalne zjawisko. Do nowych warunków próbują dostosować się koncepcje zarządzania. Myślenie tradycyjne „zaplanuj, wykonaj, wdróż, kontroluj” zastępowane jest przez myślenie zarządzania adaptacyjnego „spekuluj, wykonaj, spekuluj, popraw itd.”

Przypomnijmy: istotą zarządzania adaptacyjnego jest budowanie zespołów o prostej, płaskiej strukturze, z efektywnymi mechanizmami komunikacji oraz wyznaczonymi dla nich ramowymi zasadami planowania (a właściwie spekulowania na temat planów), współtworzenia produktów (kolaboracji) i zespołowego uczenia się.

Ważnym elementem tych zespołów jest wyraźnie ukształtowane przywództwo oraz współdzielenie odpowiedzialności za sensowność (czyli jakość i użyteczność) powstających produktów (aplikacji).

Jedną z czołowych metodologii, prezentujących takie podejście, jest Extreme Programming (XP). Metodyka ta nazywana jest również metodyką „lekką”.

Czym jest XP?

To zbiór prostych i odwiecznych reguł oraz praktycznych uwag, trudnych do przyjęcia w codziennej praktyce bez wewnętrznej zgody. Metodologię tę wykorzystuję się głównie w projektowaniu aplikacji bazodanowych (internetowych) i projektowaniu oprogramowań informatycznych itp.

Powstała na drodze obserwacji i zbierania tych praktyk, które sprzyjają powstawaniu oprogramowania w sposób prosty i efektywny. Przyjmuje perspektywę programisty. Praca według XP pozwala programistom na dużą swobodę (w warunkach bardzo silnej dyscypliny), która zorientowana jest na szybkie dostarczanie korzyści dla klienta (użytkownika).

Autorami eXtreme Programming są: Kent Back, Ward Cunningham i inni.

"XP is a lightweight methodology for small to medium sized teams developing software in the face of vague or rapidly changing requiremente" - Kent Back

Podkreślić należy, iż XP nie stanowi wsparcia do działań ad hoc i uznania chaosu jako właściwego stylu realizacji projektów. Porządek i przewidywalność wprowadzane są jednak zupełnie innymi mechanizmami.

Wartości XP

Prostota

  • unikanie dodawania zbędnych czynności i artefaktów do procesu wytwarzania
  • kod programów powinien być prosty

Komunikacja

  • niedotrzymanie terminów, brak potrzebnej funkcjonalności ma korzenie w tym, że ktoś nie powiedział komuś w odpowiednim momencie (czasie) czegoś bardzo ważnego.

Sprzężenie zwrotne

  • wszystkie zmiany muszą produkować sprzężenie zwrotne
  • sprzężenie zwrotne jest ważniejsze niż sprzężenie „w przód”

Odwaga i agresywność

  • dyscyplina wymaga odwagi. Jeśli praktykujesz poprzednie trzy wartości, to zyskujesz odwagę, by robić je lekko!

"XP is a lightweight, low–ceremony, hight-discipline metodology" - Alistair Cockburn

Podstawowe cechy eXtreme Programming

1. Metodyka XP oparta jest na prostych regułach rządzących czterema głównymi praktykami procesu wytwórczego: planowanie, projektowanie, kodowanie, testowanie.

2. Ważne jest, aby funkcjonalność dostarczana była w krótkich (do trzech tygodni) okresach projektowych (inkrementach), sterowanych częściowymi wymaganiami (opowieść użytkownika).

3. Wszystkie sprawy formalne (organizacyjne) załatwiane są w krótkich codziennych spotkaniach "na stojąco" trwających góra 15-20 min.


4. Bardzo istotną cechą jest "Refaktoring", czyli upraszczanie kodu.

5. Użytkownicy są aktywnymi członkami zespołu projektowego.

Reguły XP

Planowanie
  • opowieści użytkownika są spisywane
  • planowanie wydania buduje harmonogram
  • częste wydania
  • tempo projektu jest mierzalne
  • projekt składa się z iteracji
  • planowanie iteracji jest początkiem iteracji
  • ruchy w zespole (przegrupowania)
  • spotkania na stojąco
  • przywróć XP jeśli się załamuje
Kodowanie
  • użytkownik jest zawsze dostępny
  • kod spełnia uzgodnione reguły formalne
  • napisz najpierw test, potem kod programu
  • programowanie parami
  • integruj często
  • kolektywna własność kodu
  • nie optymalizuj do ostatniej chwili
  • nie ma nadgodzin
Projektowanie
  • prostota
  • wymyśl metaforę systemu
  • używaj kart CRC*
  • twórz rozwiązania dla redukcji ryzyka
  • nie twórz funkcjonalności przedwcześnie
  • dokonuj refaktoringu zawsze i wszędzie
Testowanie
  • każdy kawałek programu musi mieć test
  • cały kod przechodzi wszystkie testy jedn.
  • po znalezieniu błędu buduj odp. test
  • testy akceptacyjne są wykonywane często

*ang. Class, Responsibilities and Collaboration - opisują poszczególne klasy, ich odpowiedzialność i relacje, by zaprojektować system jako zespół współpracujących jednostek.
Więcej na stronie: www.php.pl/.../projektowanie

XP – projekt i iteracja


Główny cel wytwórczy
  • Zbieranie wymagań (opowieść użytkownika)
  • Planowanie kawałka programu
  • Iteracja
  • Testowanie akceptacyjne
  • Oddanie kawałka funkcjonalności


Jedna iteracja
  • Zaczyna się od planu iteracji uwzględniającego bieżące zadania i poprzednie problemy procesu wytwórczego
  • Dostarczanie nowej wersji systemu – jego częściowej realizacji

XP – wspólnota kodu i programowanie parami


Proces wytwarzania to:
  • Praca dzień po dniu
  • Zadania na jeden dzień ustalane są na krótkich spotkaniach
  • Powstający kod jest wspólną własnością zespołu
  • Powstają codziennie kawałki kodu
  • Błędy są poprawiane na bieżąco


Wspólna własność kodu powstaje:
  • Dzięki programowaniu parami
  • Dzięki nieustannemu upraszczaniu (refaktoringu) kodu przez wszystkich członków zespołu
  • Dzięki bezustannej codziennej integracji

eXtreme Programming (XP) jest przemyślanym i metodycznym podejściem do rozwoju oprogramowania. Mimo, że ma około ośmiu lat, sprawdził się w wielu firmach i różnych gałęziach przemysłu na całym świecie.

XP odniósł sukces, ponieważ zwraca szczególną uwagę na zadowolenie klienta. Metodologia jest tak skonstruowana, aby dostarczać tylko aplikację, która jest niezbędna twojemu klientowi i tylko wtedy, gdy jest mu ona potrzebna.

XP umożliwia deweloperom reagowanie na zmiany wymagań klienta, nawet w późnych etapach projektu.

Metodologia ta podkreśla również rolę pracy zespołowej. Kierownicy, klienci i deweloperzy - wszyscy są częścią jednego zespołu, którego zadaniem jest dostarczanie wysokiej jakości aplikacji (oprogramowania).

Trudno dziś powiedzieć, jak wiele problemów zarządzania projektami znajdzie faktyczne rozwiązanie w koncepcjach zarządzania adaptacyjnego takim metodami, jak np. XP. Na pewno stanowią one rezultat dojrzałej refleksji nad kilkudziesięcioletnią historią stosowania zasad zarządzania projektami w obszarze szybko rozwijających się technologii.

W kolejnej części cyklu przedstawiona zostanie następna metodologia - "lekka" (adaptacyjna) – "Crystal Light Method".

Karolina Ćwirzeń


Źródła:

 

art & design
webesteem magazine | nr 10 webesteem magazine is a part of webesteem.pl  |  copyright © 2001-2004 webesteem.pl  
art & design