XPrince to metodyka tworzenia oprogramowania łącząca takie nurty inżynierii oprogramowania jak: lekki i zwinnym skupiający się na wartości biznesowej danego oprogramowania oraz sformalizowany, oparty na zdefiniowanych procesach i dokumentacji. XPrince kładzie głównie nacisk na zarządzanie procesowe przy jednoczesnym szacowaniu pracochłonności oraz zbieraniu wymagań a także na przewidywalności. Głównym celem tej metodyki jest wyważenie pomiędzy dyscypliną a zwinnością.
Metodyka ta powstała z połączenia takich metodyk jak: RUP, PRINCE2 i XP (Extreme Programming). W swojej specyfikacji łączy najlepsze rozwiązania z podejścia Agile wraz z metodyką PRINCE2. W 2004 roku powstało Konsorcjum XPrince, które jako stowarzyszenie dba o rozwój, promowanie oraz pielęgnację tej metodyki.
Najważniejsze zalety wyróżniające tę metodykę to:
- zwinność - dzięki której tworzenie produktu jest najszybsze w jej przypadku natomiast każdy jeden okres powstawania projektu jest bardzo krótki
- mechanizmy kontroli - kontrola dotyczy różnych etapów procesu projektowego, nadzór obejmuje nie tylko zmiany ale i jakość produktu czy pracy oraz ewentualne ryzyko
- przejrzysta struktura organizacyjna – pomiędzy uczestnikami projektu panuje jasny podział zadań zatem cała odpowiedzialność za procesy związane z tworzeniem projektu są podzielone
- wyposażona jest w jasno sklasyfikowany obraz dla kadry zarządzającej
- wykorzystuje zwinne metody programistyczne, między innymi dotyczy to takich elementów jak: testy jednostkowe, zarządzanie wersjami czy stała ingerencja.
Struktura zespołu deweloperskiego w XPrince jest dość rozbudowana, natomiast możemy wymienić trzy pochodne role w tej metodyce.
- Analityk (Analyst, odpowiedzialny za definiowanie wymagań a także opisanie projektu z punktu widzenia biznesu, oprócz tego bada ryzyko związane z jakością oraz funkcjonalnością produktów).
- Architekt (Architect, odpowiada za kierowanie oraz koordynowanie wykonywania czynności oraz artefaktów technicznych, dodatkowo podejmuje różne decyzje projektowe).
- Menadżer Projektu (Project Manager, zajmuje się środowiskiem pracy za czym stoi rozwiązywanie problemów personalnych, dodatkowo buduje i jednocześnie motywuje zespół).
Etapy projektu w XPrince dzielą się na następuje podpunkty:
- Rozpoczęcie projektu (obejmuje stworzenie pełnej wizji systemu, ustanowienie zespołu Zarządu Projektu oraz zaplanowanie fazy Inicjacji Projektu).
- Inicjacja projektu (etap ten dostarcza projektowi plan i środowisko organizacyjne i dzieli się na: zrozumienie celu danego projektu, propozycję wstępnej architektura jaka ma obowiązywać, plan projektu i uzasadnienie biznesowe, plan fazy elaboracyjnej oraz ustalenie kanałów komunikacyjnych oraz środowiska).
- Elaboracja (związana jest z architekturą, podczas tego etapu zaproponowane zostają mechanizmy architektoniczne przez Architekta i jednocześnie rozpoznane zostaje ryzyko z nimi związane, wszystko to tworzy pewnego rodzaju szkielet projektu).
- Wydanie (składa się z kilku iteracji i kończy się tranzycją po której kolejna wersja zostaje wdrożona i przekazana użytkownikowi końcowemu).
- Zamknięcie projektu (projekt zostaje zamknięty po czym następuje ocena projektu).