Metodyka XPrince

Z Encyklopedia Zarządzania

XPrince (Extreme Programming in Controlled Environments) jest jedną ze zwinnych metodyk wytwarzania oprogramowania, której celem jest wyważenie między zwinnością i dyscypliną.[1] Bazuje na trzech innych metodykach takich jak Extreme Programming (XP), PRINCE2 oraz Rational Unified Process (RUP). Jest ona metodyką zwinną, zawierającą jednak elementy kontroli przedsięwzięcia (w aspektach jakości, ryzyka, pracy) oraz niezbędny poziom wymaganej dokumentacji (z wykorzystaniem niektórych diagramów UML).[2] Podobnie jak w metodyce PRINCE2 w XPrince do kontroli projektu dochodzi na różnych poziomach.

Historia powstania

Twórcą metodyki XPrince jest prof. Jerzy Nawrocki z Instytutu Informatyki Politechniki Poznańskiej. Jego celem było stworzenie metodyki, która pozwoli zachować równowagę pomiędzy adaptacyjnością, a dyscypliną. Żeby go zrealizować prof. Nawrocki zintegrował metodyki wytwarzania oprogramowania Extreme Programming (XP) i RUP z metodyką zarządzania projektem PRINCE2. Wybrał najlepsze cechy z powyższych metodyk oraz starał się wyeliminować ich wady. Dzięki temu udało się wykorzystać W roku 2004 zostało założone Konsorcjum XPrince, którego celem jest rozwój i promocja tej metodyki. W skład konsorcjum weszła Politechnika Poznańska oraz grupa firm produkujących oprogramowanie. Także w 2004 roku twórcy metodyki XPrince przygotowali narzędzie UC Workbench, które wspiera proces inżynierii wymagań. Jest ono w pełni zgodne ze sposobem specyfikacji przypadków użycia określonym w metodyce. W 2007 roku została wydana druga wersja tego narzędzia. Program UC Workbench zawiera następujące funkcje:

  • Edytor przypadków użycia dający możliwość zautomatyzowania renumeracji kroków w głównym scenariuszu
  • Automatyczne przeglądy posiadające opcję wykrywania potencjalnych błędów
  • Generowanie makiet funkcjonalnych na podstawie zebranych przypadków użycia. Makieta generowana jest automatycznie i posiada dwa okna. Pierwsze z nich to okno scenariusza, które przedstawia aktualnie animowany przypadek użycia, drugie to okno ekranów, na którym widać projekt wyglądu formularzy aplikacji. W oknie ekranów mogą także znajdować się diagramy BPMN w przypadku procesów biznesowych.
  • Komponowanie dokumentu specyfikacji wymagań, które opiera się na standardzie IEEE 830-1998. Specyfikacja wymagań generowana jest w programie UC Workbench z przypadków użycia.
  • Kalkulator pracochłonności bazujący na metodzie UC Points, który wspomaga Grę Planistyczną z metodyki XP. W metodyce Prince planowanie prowadzone jest na trzech poziomach. Najniższy z nich to metoda UC Points podająca domyślne szacunki, które mogą później być dostosowane przez ekspertów. Drugi poziom to metoda delficka, która używana jest aby oszacować pracochłonność. Najwyższy poziom to Gra Planistyczna, która ma na celu uzgodnienie pomiędzy programistami, a klientem i Analitykiem zakresu kolejnego wydania.[3]

Zespół projektowy

W metodyce XPrince istnieje zespół zarządzający projektem oraz zespół wykonawczy.

Zespół zarządzający projektem

  • Dyrektor - reprezentuje interesy inwestora
  • Główny użytkownik - kieruje końcowymi użytkownikami oraz jest odpowiedzialny za użyteczność programu
  • Główny dostawca - reprezentuje wykonawcę

Zespół wykonawczy

  • Menadżer projektu - odpowiada głównie za środowisko pracy, jego zadaniem jest rozwiązywanie problemów personalnych oraz oraz budowanie i motywacja zespołu. Jego rola wzorowana jest na metodyce PRINCE2 połączonej z rolą trenera z metodyki XP ukierunkowaną na zarządzanie zespołem.
  • Architekt - odpowiada ze podejmowanie decyzji projektowych, koordynuje oraz kieruje wykonywaniem czynności i artefaktów technicznych, jest również głównym projektantem. Jego rola została zaczerpnięta z metodyki RUP. Posiada także elementy trenera z metodyki XP ukierunkowanego na aspekty techniczne.
  • Analityk - odpowiada ze biznesową analizę projektu i kontroluje ryzyko związane z funkcjonalnością oraz jakością produktów. Rola ta pochodzi z metodyki RUP oraz zawiera funkcję klienta z metodyki XP.
  • Programiści

Cykl życia projektu

Metodyka XPrince łącze w sobie wybrane elementy cyklu życia projektu z metodyk XP, PRINCE2 oraz RUP.

Rozpoczęcie projektu Inicjacja projektu Elaboracja
Wydanie 1
Przyrost 1.1 Przyrost 1.2
...
Wydanie k
Przyrost k.1 Przyrost k.2
Zamknięcie projektu

Rys. Schemat cyklu życia projektu w metodyce XPrince

Cele w poszczególnych fazach życia projektu:

  • Rozpoczęcie projektu - wybór zespołu zarządzającego projektem, przygotowanie wizji i koncepcji systemu, zaplanowanie fazy Inicjacji projektu.
  • Inicjacja projektu - faza przeprowadzana przez Menadżera Projektu, Analityka i Architekta, przygotowanie i dostarczenie planu projektu, propozycja wstępnej architektury, dopracowanie biznesowego uzasadnienia projektu, stworzenie środowiska organizacyjnego, wyznaczenie kanałów komunikacyjnych, sporządzenie listy potrzebnych narzędzi, zaplanowanie fazy Elaboracji. Faza ta łączy elementy fazy Rozpoczęcia z metodyki RUP oraz z Inicjacji z metodyki PRINCE2.
  • Elaboracja - faza dotycząca głównie architektury, Architekt przedstawia opracowania mechanizmów architektonicznych z uwzględnieniem dotyczących ich ryzyk i przygotowuje szkielet projektu, Analityk doprecyzowuje wymagania projektu, a Menadżer projektu dopracowuje plan projektu.
  • Wydanie - etap ten zawiera kilka przyrostów (iteracji), które kończą się fazą tranzycji. Architekt wspólnie z Programistami produkuje kod oraz implementuje przypadki testowe, Analityk przygotowuje testy akceptacyjne i sprawdza zgodność kodu z wymaganiami. Po tranzycji następuje wdrożenie produktu lub zmian i przekazanie kolejnej wersji użytkownikom końcowym. Faza ta jest podobna do fazy Wydania z metodyki XP.
  • Zamknięcie projektu - następuje sprawdzenie kompletności projektu, przygotowanie dokumentacji technicznej oraz ocena projektu. Faza wzorowana na metodyce PRINCE2

Bibliografia

Ł. Olek, J. Nawrocki, M. Jasiński, B. Paliświat, B. Walter, B. Pietrzak, P. Godek, Równowaga między zwinnością a dyscypliną z wykorzystaniem XPrince, Politechnika Poznańska

M. W. Mastalerz, (2015), Zeszyty Naukowe Uniwersytetu Szczecińskiego. Studia Informatica

M. Miłosz, M. Borys, M.Plechawska-Wójcik, (2011), Współczesne technologie informatyczne. Metodyki zwinne wytwarzania oprogramowania, Politechnika Lubelska 2011

M.Młotkowski, (2017), Metodyki zwinne wytwarzania oprogramowania, wykład

Autor: Łukasz Sęk

  1. M. W. Mastalerz, (2015), Zeszyty Naukowe Uniwersytetu Szczecińskiego. Studia Informatica, str.81
  2. M. Miłosz, M. Borys, M.Plechawska-Wójcik, (2011), Współczesne technologie informatyczne. Metodyki zwinne wytwarzania oprogramowania, Politechnika Lubelska, str. 19
  3. Ł. Olek, J. Nawrocki, M. Jasiński, B. Paliświat, B. Walter, B. Pietrzak, P. Godek, Równowaga między zwinnością a dyscypliną z wykorzystaniem XPrince, Politechnika Poznańska, str. 8