XPrince
Plan prezentacji:
Krótka definicja
Krótki opis PRINCE 2
Krótki opis XP
Krótki opis RUP
Dyscyplina
Zwinność
Minusy
Plan prezentacji :
Rozwiązanie problemu
Źródła XPrince
Równowaga między adaptacyjnością a
dyscypliną
wyjątkowość XPrince
Cykle życia wg różnych metodyk
Konsorcjum XPrince
Podsumowanie
Definicja
XPrince to nazwa elastycznej metodyki
wytwarzania oprogramowania, której
celem jest wyważenie między
zwinnością i dyscypliną. Nazywa się
XPrince (eXtreme PRogramming IN
Controlled Environments) i bazuje na
trzech innych metodykach: XP,
PRINCE2 oraz RUP.
PRINCE 2
To metodyka zarządzania projektami
oparta na pozytywnych i negatywnych
doświadczeniach uzyskanych przez
kierowników projektów z krajów
anglosaskich. Zastosować ją można do
zarządzania i sterowania projektami
wszelkiego rodzaju i wszelkiej wielkości.
Nazwa jest skrótem ang. słów: Projects
In a Controlled Environment
XP - eXtreme Programming
To paradygmat i metodyka
programowania mające na celu wydajne
tworzenie małych i średnich "projektów
wysokiego ryzyka", czyli takich, w
których nie wiadomo do końca, co się tak
naprawdę robi i jak to prawidłowo zrobić.
Przyświeca temu koncepcja prowadzenia
projektu informatycznego, wywodząca się
z obserwacji innych projektów, które
odniosły sukces.
XP - eXtreme Programming
Podstawą ekstremalnego
programowania jest synergia
wynikająca ze stosowania rozmaitych
praktyk, które same w sobie mają wiele
zalet, lecz mogą być trudne w
zastosowaniu. Łączne użycie tych
praktyk ma zapewniać wyeliminowanie
niedogodności każdej z nich.
RUP -Rational Unified
Process
Proces RUP nie jest pojedynczym, ściśle
określonym procesem, ale raczej
szablonem procesu. Został on
zaprojektowany w celu przystosowania
do charakteru konkretnej organizacji
(przedsiębiorstwa), konkretnego zespołu
projektowego lub nawet charakteru
konkretnego projektu. Z szablonu RUP
można wybrać elementy w zależności od
konkretnych potrzeb.
XPrince:
Równoważenie
zwinności i
dyscypliny
Podejście bazujące na
dyscyplinie
Wymag
.
Projekt
Kod
Testy
ISO 9000
IEEE Std
IEEE Std
IEEE Std
1
2
3
4
5
XP
Extreme Programming
Extreme Programming
(XP)
(XP)
=
=
lekka(zwinna
lekka(zwinna
)
)
metodyka rozwoju
metodyka rozwoju
oprogramowania
oprogramowania
Cenne praktyki XP
Cenne praktyki XP
:
:
Silna orientacja na klienta
Silna orientacja na klienta
Przyrosty i krótkie wydania
Przyrosty i krótkie wydania
Testy przed kodowaniem
Testy przed kodowaniem
Refaktoryzacja
Refaktoryzacja
Minusy:
Dyscyplina
(Celebra )
• Nadmiar papierów
• Powolny proces
decyzyjny
• Mała elastyczność
• Opór przed zmianą
Minusy
Zwinność
(XP)
• Założenie „on-site
customer”
• Brak spisanej
dokumentacji
• Zbyt krótka perspektywa
planu
Rozwiązanie:
„każde skuteczne
przedsięwzięcie w
zmieniającym się
świecie wymaga
zarówno
zwinności,
jak i
dyscypliny
”
Źródła XPrince
XPrince
e
X
treme
Pr
ogramming
in
c
ontrolled
e
nvironments
XP
RUP
PRINCE
2
Równowaga między
adaptacyjnością
a
dyscypliną
Nie ma jedynego złotego rozwiązania
metodyki tworzenia oprogramowania i każde z
podejść, zarówno adaptacyjne jak i
zorientowane na dyscyplinę, mają swoje zalety
i wady. Metodyki zorientowane na dyscyplinę
są zazwyczaj krytykowane ze względu na
nadmierną pracę papierkową, małą
elastyczność, powolne procesy podejmowania
decyzji i niezdolność dostosowania się do
zmian w trakcie trwania projektu.
Równowaga między
adaptacyjnością
a
dyscypliną
Słabe strony Programowania Ekstremalnego
to wymóg, aby klient pracował razem z
zespołem, brak dokumentacji papierowej oraz
czasami zbyt krótka perspektywa planowania.
Celem, który przyświecał stworzeniu metodyki
XPrince, było rozwiązanie problemów
związanych ze słabościami XP oraz
zachowanie adaptacyjności. W związku z tym
metodyka ta integruje metodykę zarządzania
projektem (PRINCE2) z metodyką
wytwarzania oprogramowania (XP).
Na czym polega
wyjątkowość
XPrince?
Jest zwinna
XPrince przyjmuje podstawowe założenie
metodyki XP – jest nastawiona na jak
najszybsze
stworzenie
działającego
produktu, etapy są w niej krótkie, a
zarządzanie
zmianami
praktykowane
przez cały czas trwania projektu. Dzięki
temu klient otrzymuje szybko kolejne
wersje produktu i ma stałą kontrolę jego
zakresu.
Posiada mechanizmy
kontroli
XPrince kontroluje projekt na
różnych poziomach. Kontrolowane są
zmiany, kontrolowane jest ryzyko,
kontrolowana jest jakość produktu a
także jakość pracy kierownika
projektu, w tym sensie nawiązuje do
metodyki PRINCE2.
Zachowuje optymalny
poziom dokumentacji
technicznej
XPrince zakłada dokumentowanie
wymagań w postaci przypadków
użycia systemu oraz wykorzystanie
UML. Są to metody sprawdzone i
popularne, dzięki czemu skraca się
czas wdrożenia metodyki.
Ma prostą i efektywną
strukturę organizacyjną
XPrince wprowadza przejrzysty podział ról w
procesie. Hierarchia w jest zminimalizowana,
a odpowiedzialność za elementy procesu
praktycznie podzielona. Wprowadzone są np.
role głównego analityka, odpowiadającego za
biznesowe czynniki ryzyka i architekta,
odpowiadającego za ryzyko technologiczne
(obie role zaczerpnięto z metodyki RUP). Ich
zwierzchnikiem jest kierownik projektu, który
zarządza ryzykiem całego projektu, kierując
się sygnałami od obu specjalistów.
Jest przejrzysta dla kadry
zarządzającej
Struktura organizacyjna XPrince ułatwia
spojrzenie na projekt z poziomu wyższej kadry
zarządzającej. Zarząd przedsięwzięcia, jako
ciało decyzyjne, jest odseparowany od
codziennej pracy w projekcie i kontroluje go
na podstawie informacji od kierownika
projektu. Dodatkowo, rzetelność informacji
przekazywanych przed kierownika projektu
jest weryfikowana przez kontrolę projektu
(podobnie, jak w metodyce PRINCE2) .
Wykorzystuje zwinne praktyki
programistyczne
XPrince zaczerpnęło z XP zestaw dobrych
praktyk programistycznych. Zarządzanie
wersjami, ciągła integracja, testy
jednostkowe, testy akceptacyjne,
implementacja kierowana testami to
praktyki zapewniające wysoką jakość
produktu. Z XP przejęte zostało także
opracowanie rozwiązań próbnych, które w
XPrince stosuje się na początku projektu,
w fazie opracowania architektury.
Cykle życia wg
różnych
metodyk
Cykl życia wg PRINCE2
16.10
27.11 23.01
8.04 27.05 17.06
1.07
Przy
g.
założ
.
proj.
Inicjow
anie
projekt
u
Etap
1
Etap
2
Etap
3
Etap
4
Zamk
.
Proje
ktu
Cykl życia wg XP
Wydanie 2
Wydanie 1
Przyrost
1
Przyrost
2
Przyrost
1
Przyrost
2
Fazy wg RUP
Rozpocz
ęcie
Rozpracow
Rozpracow
anie
anie
Konstruk
cja
Wdrożen
ie
Cykl życia wg XPrince
16.10
27.11
23.01
8.04
27.05
17.06
8.07
Przyg
.
założ.
proj.
Cel i
zakres
Archite
k tura
Wyda
nie 1
Wyda
nie 2
Wyda
nie 3
Zamkn
.
Projek
tu
Modelo
wanie
biznes
owe
Przyro
st 1
Przyro
st 1
Przyro
st 1
Przyro
st 1
Zakres Przyro
st 2
Przyro
st 2
Przyro
st 2
Przyro
st 2
Wdroż
.
Wdroż
.
Wdroż
.
Konsorcjum XPrince
Koncepcja metodyki XPrince została
zaproponowana przez Jerzego Nawrockiego z
Instytutu Informatyki Politechniki Poznańskiej i
jest rozwijana przez zespół Inżynierii
Oprogramowania. Pod koniec 2004 roku do tego
projektu akademickiego przyłączyła się grupa
firm wytwarzających oprogramowanie i zostało
powołane Konsorcjum XPrince, które przejęło
patronat nad rozwijaniem i promowaniem
metodyki XPrince. Aktualnie metodyka XPrince
jest wdrażana w przedsiębiorstwach będących
członkami konsorcjum.
Podsumowanie
Kombinacja
Kombinacja
zwinnej
zwinnej
metodyki
metodyki
(XP)
(XP)
ze
ze
zdyscyplinowaną
zdyscyplinowaną
(PRINCE2
(PRINCE2
i
i
RUP)
RUP)
jest
jest
możliwa
możliwa
Wsparcie narzędziowe (UC Workbench)
Wsparcie narzędziowe (UC Workbench)
jest ważne
jest ważne
Elastyczne podejście do programowania
Elastyczne podejście do programowania
parami
parami
Kombinacja powtórnego użycia z
Kombinacja powtórnego użycia z
test-
test-
first coding
first coding
.
.
KONIEC!