| Techniki lekkie w tradycyjnym podejściu do zarządzania projektem IT |
|
|
| Wpisany przez Marcin Szczotok | ||||||||||||||||||||||||
| Piątek, 26 Czerwiec 2009 11:24 | ||||||||||||||||||||||||
|
Celem niniejszego opracowania jest próba wskazania możliwości połączenia najlepszych praktyk wykorzystywanych w tradycyjnych metodykach zarządzania projektami takimi jak PRINCE2 TM czy PMBoK ® z podejściem opisywanym przez popularne w ostatnim czasie metodyki adaptacyjne z rodziny „Agile” wykorzystywane przy prowadzeniu projektów branży IT. Niniejszy artykuł stanowią fragmenty pracy dyplomowej Autora, obronionej w ramach V edycji Podyplomowych Studiów Zarządzania Projektami na Wydziale Informatyki i Zarządzania Politechniki Wrocławskiej. WprowadzenieIT (ang. Information Technology), czyli technologia informacyjna to pojęcie, które w ostatniej dekadzie znacznie umocniło się w naszym języku. Zgodnie z definicją jest to jedna z dziedzin informatyki, łącząca telekomunikację, narzędzia i inne technologie związane z informacją. Dostarcza ona użytkownikowi narzędzi, za pomocą których może on pozyskiwać informacje, selekcjonować je, analizować, przetwarzać, zarządzać i przekazywać innym ludziom [10]. W przeciągu ostatnich kilkunastu lat nastąpił ogromny rozwój rynku IT. W Polsce w roku 2007 wartość rynku IT przekroczyła 23,1 miliardy złotych, oznacza to wzrost o 27,8% w porównaniu do roku 2006 [11]. Nieodzownym partnerem IT jest biznes, a jedną z ostatnio obserwowanych zmian jest zbliżanie się IT do biznesu. Informatyka nie zajmuje się już tylko przetwarzaniem informacji, ale ma również wspierać biznes we wszystkich aspektach, począwszy od zarządzania informacją, przez upraszczanie komunikacji, automatyzację procesów, do ułatwienia współpracy. Granica pomiędzy IT Biznes wymaga od IT przeprowadzania kompleksowych projektów. Pomimo ogromnych nakładów pieniężnych, nadal ponad połowa projektów IT kończy się niepowodzeniem poprzez przekroczenie jednego z czterech podstawowych parametrów projektu: czasu, budżetu, zakresu lub jakości. Dane dotyczące czynników sukcesów oraz niepowodzeń w projektach IT, po raz pierwszy zostały opublikowane przez The Standish Group w raporcie zatytułowanym „Chaos” w roku 1995. Podstawowymi źródłami informacji w raporcie były liczne ankiety, badania oraz wywiady z menadżerami projektów IT prowadzonych w Stanach Zjednoczonych. W badaniach wzięło udział 365 menadżerów, a analizie poddano 8380 aplikacji [5]. Na rysunku nr 1 przedstawiono wyniki badań,
Jak można zauważyć, trend projektów zakończonych pełnym sukcesem stale rośnie, jednak nadal, mniej niż połowa projektów kończy się sukcesem. W roku 2006 zaledwie 35% projektów IT było zakończonych pełnym sukcesem. Badania The Standish Group miały na celu znalezienie podstawowych przyczyn niepowodzeń projektów oraz wskazanie podstawowych czynników wpływających na sukces projektu. Wyróżniono trzy podstawowe czynniki sukcesu projektów, którymi są zaangażowanie klienta, wsparcie kierownictwa oraz jasno określone wymagania. Kompletna lista czynników sukcesu projektu została dołączona do raportu z roku 1995 (Tabela 1). Opublikowane badania wskazały, iż pomimo istnienia przyjętych standardów zarządzania projektami, znaczna ilość firm ma problemy ze skutecznym prowadzeniem projektów informatycznych. W Stanach Zjednoczonych, organizacja Project Management Institute, już od roku 1969 doskonaliła oraz popularyzowała standard prowadzenia projektów, jakim jest PMBoK®. Wskazane przez The Standish Group podstawowe czynniki niepowodzeń projektów IT, znalazły swe odzwierciedlenie w gwałtownej popularyzacji sprawdzonych metodologii zarządzania projektami, w tym PMBoK®, które licznie zaczęto wdrażać w organizacjach w celu usprawnienia procesów prowadzenia projektów w sposób kontrolowany. Popularyzacja opisywanych metod zarządzania projektami, zwanych również tradycyjnymi, przyniosła znaczne efekty, jednak nadal bardzo wiele organizacji nie potrafiło poradzić sobie z rozrastającymi się procesami, co powodowało, iż skuteczność prowadzenie projektów wcale nie wzrastała, a nawet pogarszała się. ![]()
Tabela 1. - Podstawowe czynniki sukcesu projektu wg Standish Group Badania The Standish Group dotyczące kosztów projektów zakończonych porażką, oraz obserwowane zjawiska (polegające między innymi na wpędzaniu wielu korporacji w poważne kłopoty wskutek rozrastających się procesów) zaniepokoiły grupę ekspertów, która w roku 2001 zorganizowała spotkanie, na którym powstało zrzeszenie Agile Alliance [13]. Celem tej grupy była popularyzacja reguł oraz wartości, które skłonią zespoły projektowe do szybkiego oraz elastycznego wytwarzania oprogramowania, co miało na celu zwiększenie szans na zakończenie projektów IT z pełnym sukcesem. Przez kilka miesięcy grupie Agile Alliance udało się opracować najważniejsze założenia. Efektem tej pracy był dokument zatytułowany The Manifesto of The Agile Alliance. W dokumencie tym przedstawiono cztery główne reguły, które mają zasadniczy wpływ na skuteczność projektów IT:
Zgodnie z podstawowymi wartościami Agile Alliance, celem każdego zespołu projektowego w przedsięwzięciach branży IT jest generowanie możliwie jak najwyższej jakości kodu dla klientów [9]. Jeszcze kilka lat temu pojęcie „projekt IT” było kojarzone w głównej mierze z wytwarzaniem oprogramowania, polegającym przede wszystkim na zebraniu wymagań, ich analizie i implementacji. Dziś projekt IT to tylko 40 – 60% oprogramowania, pozostała część to projekt organizacyjny, prawie zawsze ściśle powiązany z biznesem [14]. Środowisko IT wpadło w pułapkę nieustannego rozwijania procesów, które mimo dobrych intencji dodatkowo utrudniły realizację projektów. Należy zatem poszukiwać coraz to skuteczniejszych metod prowadzenia kompleksowych projektów informatycznych. Agile Project Management, czyli adaptacyjne (zwinne) zarządzanie projektami IT zdobywa coraz większą popularność. Przytoczone badania pokazują, że na niepowodzenie projektów Poznanie oraz zrozumienie tradycyjnych oraz lekkich metodyk zarządzania projektem, oraz próba ich połączenia i uzyskania efektu synergii, może pomóc liderom projektów, dyrektorom firm i innym osobom związanym z prowadzeniem projektów IT Odpowiedzią na powtarzające się w projektach IT problemy, było powstanie nowego nurtu zwinnego prowadzenia projektów – Agile, w którym to na pierwszym miejscu postawiono szybkie uzyskanie zadowalających efektów [16][6]. Zwinne prowadzenie projektów IT, skupia swą uwagę na jak najsprawniejszym dostarczeniu działającego oprogramowania oraz na ścisłej współpracy z klientem i reagowaniu na jego potrzeby. Doświadczenia zebrane z wielu projektów, pokazują jednak, iż zwinne metodyki prowadzenia projektów nie zawsze spełniają swoje zadanie. Bardzo częstym zaniedbaniem, w szczególności wśród mniej doświadczonych zespołów projektowych, jest całkowite zaniechanie dokumentowania prowadzonego projektu, oraz wytwarzanego produktu. Znaczne problemy pojawiają się w przypadku szacowania kosztów, oraz czasu trwania całego projektu, co jest szczególnie istotne w przypadku projektów ze sfery publicznej. Kolejne problemy mogą pojawić się w przypadku, kiedy projekt IT obejmuje nie tylko wytworzenie oprogramowania, lecz również jego wdrożenie, gdzie znaczna część całego projektu to projekt organizacyjny, o czym metodyki zwinne nie wspominają w szerszym kontekście. Sztuka zarządzania projektami, która znacznie rozwinęła się przez ostatnie piętnaście lat, stanowi dziś, ścisłą, profesjonalną dyscyplinę. Składa się na nią wiedza teoretyczna, konkretny zestaw umiejętności i kompetencji oraz doświadczenie. Zarządzanie projektem informatycznym, niejednokrotnie stanowi bardzo skomplikowane i trudne organizacyjnie przedsięwzięcie. Project Managerowie prowadzący projekty informatyczne często muszą radzić sobie z sytuacjami, w których jak doświadczenie pokazuje, tradycyjne procesy zarządzania projektem nie zawsze się sprawdzają. Sytuacja ta nie jest spowodowana niedopracowaniem tradycyjnych procesów zarządzania, lecz w dużej mierze specyfiką prowadzonych projektów IT, swoistością środowiska oraz nierzadko, innowacyjnością Odpowiedzią na powtarzające się w projektach IT problemy, było powstanie nowego nurtu zwinnego prowadzenia projektów – Agile, w którym to na pierwszym miejscu postawiono szybkie uzyskanie zadowalających efektów [16][6]. Zwinne prowadzenie projektów IT, skupia swą uwagę na jak najsprawniejszym dostarczeniu działającego oprogramowania oraz na ścisłej współpracy z klientem i reagowaniu na jego potrzeby. Doświadczenia zebrane z wielu projektów, pokazują jednak, iż zwinne metodyki prowadzenia projektów nie zawsze spełniają swoje zadanie. Bardzo częstym zaniedbaniem, w szczególności wśród mniej doświadczonych zespołów projektowych, jest całkowite zaniechanie dokumentowania prowadzonego projektu, oraz wytwarzanego produktu. Znaczne problemy pojawiają się w przypadku szacowania kosztów, oraz czasu trwania całego projektu, co jest szczególnie istotne w przypadku projektów ze sfery publicznej. Kolejne problemy mogą pojawić się w przypadku, kiedy projekt IT obejmuje nie tylko wytworzenie oprogramowania, lecz również jego wdrożenie, gdzie znaczna część całego projektu to projekt organizacyjny, o czym metodyki zwinne nie wspominają w szerszym kontekście [16]. Tradycyjne metodyki zarządzania projektamiDoświadczenia z projektów różnej skali, realizowanych w różnych środowiskach oraz rosnąca złożoność współczesnych przedsięwzięć zrodziły potrzebę usystematyzowania wiedzy dotyczącej zarządzania projektami. Liczne problemy związane z zarządzaniem projektami, w różnych obszarach aktywności, stały się przesłankami do powstania w roku 1969 Project Management Institute. Głównym celem instytutu jest zbieranie, analiza i uogólnienie doświadczeń w celu doskonalenia i popularyzacji metod realizacji projektów. W trakcie organizowanego przez Instytut seminarium w Montrealu w roku 1976 zrodziła się idea przedyskutowania i opracowania standardów praktyk i dokumentów używanych w procesie zarządzania projektami [17][12]. W roku 1981 zaakceptowany został projekt rozwoju procedur i koncepcji koniecznych do wspomagania zawodu zarządzania projektami. W wyniku licznych dyskusji przeprowadzonych przez kolejne lata na konferencjach oraz w zespołach roboczych, ogólny zbiór zasad zarządzania projektami został skodyfikowany przez PMI oraz wydany w postaci przewodnika PMBoK (Project Management Body of Knowledge). Jednocześnie w Wielkiej Brytanii w roku 1989 powstała metodyka PRINCE. Metodyka ta powstała dzięki Central Computer and Telecommunications Agency (CCTA) na bazie metodyki PROMPT opracowanej przez firmę Simpact System w roku 1975. W latach 1979 – 1980 CCTA wprowadziło metodykę PROMPT jako standard do stosowania we wszystkich projektach informatycznych wykonywanych dla potrzeb Rządu Wielkiej Brytanii. Kolejny etap rozwoju przypada na rok 1996, kiedy to wprowadzono unowocześnioną wersję metodyki – PRINCE2 [2]. Nowa wersja stała się dużo bardziej uniwersalna i można ją już stosować nie tylko do projektów informatycznych. W metodyce PMBoK projekt jest charakteryzowany jako działania, które wykonywane są przez ludzi, realizowane są przy ograniczonych zasobach, są planowane, realizowane i kontrolowane. Ponadto podkreślane jest, że projekt jest działaniem ograniczonym w czasie, podejmowanym dla wykonania unikatowego produktu lub usługi [12][5]. Ograniczenie czasowe oznacza, że każdy projekt należy rozważać w przedziale czasu od jego rozpoczęcia do zakończenia, czyli w cyklu życia. Ograniczenie to oznacza również, że działania podejmowane w ramach realizacji projektu mogą mieć sens biznesowy jedynie w tym konkretnym czasie, co wynika z szansy rynkowej lub powstałej okazji biznesowej. Na ten określony czas realizacji projektu powoływany jest zespół, który ma określone zadania do wykonania w ramach projektu, a po ich ukończeniu jest rozwiązywany. Kolejnym charakterystycznym elementem projektu jest unikatowość wykonywanego produktu lub usługi, co oznacza, że jest to najczęściej praca pionierska, której nikt wcześniej nie wykonywał. Te cechy są charakterystyczne dla projektów. W szczególności wytwarzanie systemu informatycznego spełnia te warunki i jest reprezentatywnym przykładem projektu w rozumieniu PMBoK. Zarządzanie projektami, według PMBoK, jest natomiast zastosowaną wiedzą, umiejętnościami i technikami wykorzystywanymi w procesie realizacji wymagań projektowych. Metodyka opisuje 5 głównych grup procesów oraz 9 obszarów aktywności:
Standard PMBoK jest bardzo zwarty w swym opisie. Percepcję standardu dodatkowo ułatwia przyjęty i konsekwentnie stosowany sposób prezentacji wiedzy. Wiedza dotycząca zarządzania projektami jest podzielona na dziewięć spójnych obszarów. Każdy obszar składa się z procesów, każdy proces ma dobrze określone wejście, techniki i wyjście. Istnieją diagramy powiązań procesów oraz opis produktów (wejść i wyjść) przekazywanych pomiędzy procesami. Metodyka PRINCE2 opiera się na kilku głównych zasadach, najważniejsze z nich to:
Zgodnie z PRINCE2, projekt dzielony jest na kilka etapów stanowiących odrębną jednostkę. W każdej z nich wykorzystywane są trzy główne elementy, a mianowicie: technika, komponenty oraz procesy [2]. Metodyka opisuje 8 głównych grup procesów, 8 komponentów,a także 3 techniki:
Metodyka PRINCE2 jest nastawiona na uzyskiwane wyniki. Planowanie jest zorientowane na produkt. Wykonywane prace są widziane przez pryzmat tworzonych produktów. Takie podejście sprzyja uzyskiwaniu rzeczywistych efektów realizacji produktu. Konsekwencją techniczną takiego punktu widzenia jest na przykład występowanie Struktury Podziału Produktu zamiast Struktury Podziału Pracy. Takie podejście zdecydowanie promuje efektywność, a przede wszystkim skuteczność prac w projekcie. Żadna praca nie może być rozliczona, jeśli jej wynikiem nie jest konkretny efekt. Cykl życia projektuZgodnie z definicją, cykl życia projektu traktowany jest, jako kolejne etapy łączące początek i koniec przedsięwzięcia [19]. Podział przedsięwzięcia na etapy, usprawnia kontrolę zarządzania oraz umożliwia powiązanie z działalnością operacyjną organizacji realizującej projekt. Nie istnieje jeden, idealny model cyklu życia projektu. Wiele organizacji wypracowało swój własny, znormalizowany cykl życia projektu, który jest stosowany we wszystkich przedsięwzięciach. Modele te najczęściej określają, jakie prace techniczne należy wykonać na danym etapie, kiedy w danym etapie mają powstać produkty cząstkowe, kto ma uczestniczyć w realizacji danego etapu oraz w jaki sposób kontrolować i zatwierdzać dany etap. Zgodnie z opisem standardu PMBoK®, tradycyjne cykle życia projektu posiadają pewne cechy wspólne, którymi są:
![]() Diagram przedstawiony na powyższym rysunku przedstawia typową kolejność etapów cyklu życia projektu zgodną z PMBoK®. Każdy etap projektu wyznaczony jest przez ukończenie i zatwierdzenie jednego lub więcej produktów cząstkowych. Ze względu na wielkość, złożoność, poziom ryzyka i ograniczenia przepływów pieniężnych etapy w dowolnym projekcie można podzielić na podetapy. W tradycyjnym podejściu do wytwarzania oprogramowania, etapowy cykl życia projektu intuicyjnie mapowany jest na kaskadowy, zwany także wodospadowym, model wytwarzania oprogramowania [8]. Zakłada on, że każdy etap projektu może zacząć się tylko i wyłącznie wtedy, gdy poprzedni etap zostanie w pełni zakończony. Dodatkowo, powrót do poprzednich etapów po ich zakończeniu nie jest możliwy, choć istnieją odmiany modelu, które pozwalają na powrót do etapu poprzedniego w celu modyfikacji jego produktów cząstkowych Niewątpliwymi zaletami takiego modelu, są prostota oraz łatwe planowanie i kontrolowanie wyników prac. Model ten jest bardzo prosty i nie wymaga praktycznie żadnych szczegółowych omówień. Prostota i liniowość modelu w znacznym stopniu ułatwia planowanie przebiegu prac. Stosując jednak model kaskadowy w projekcie IT, należy mieć na uwadze jego liczne wady oraz ograniczenia. Jedną z najistotniejszych wad jest niedostosowanie modelu do zmian występujących w projekcie. Zmiany są codziennością praktycznie każdego projektu IT [3]. Poprawnie przeprowadzony etap może poprzez zmiany stać się po pewnym czasie nieaktualny. Stosując model, który nie przewiduje możliwości powrotu do zakończonych faz, powroty do nich wiążą się z wieloma utrudnieniami i wymuszają jawne odstępstwa od modelu. Powoduje to, iż wszelkie takie zmiany są kosztowne. Z tych samych przyczyn, mogą wystąpić również problemy z poprawą błędów, które zostały wykryte już po zakończeniu fazy, w której zostały popełnione. Kolejnym, istotnym minusem modelu kaskadowego, jest długi czas oczekiwania na efekty. Pomiędzy etapem specyfikacji wymagań a dostarczeniem klientowi działającej wersji produktu upływa bardzo dużo czasu. Produkt prezentowany jest klientowi dopiero pod sam koniec projektu. Poprawienie wszelkich zastrzeżeń, jakie zgłosił klient, jest w końcowej fazie bardzo kosztowne. Ze względu na swoje wady, model kaskadowy może być stosowany w swojej czystej postaci jedynie w bardzo małych i prostych projektach. Jednakże nawet w nich jego wady mogą się ujawniać. Z tych powodów model ten jest w praktyce rzadko stosowany, jednakże jego prostota powoduje, że stanowi on podstawę dla wielu innych modeli w projektach IT. ![]() Agile Project ManagementWspółczesna definicja zwinnego wytwarzania oprogramowania rozwinęła się w połowie lat 90-tych, jako alternatywa dla tradycyjnego podejścia opartego o model kaskadowy. Tradycyjne procesy wytwarzania oprogramowania, były uważane za zbyt biurokratyczne, powolne oraz nieefektywne [15]. Uważa się, że agile oraz modele iteracyjne stały się punktem zwrotnym rozwoju metodyk wytwarzania oprogramowania. W roku 2001, grupa ekspertów rozwijająca lekkie techniki wytwarzania oprogramowania, zorganizowała spotkanie w Snowbird, w stanie Utah. Spotkanie to zainicjowało powstanie zrzeszenia Agile Alliance, po raz pierwszy też, przyjęto wspólną nazwę „Agile methods” określającą zwinne, lekkie techniki wytwarzania oprogramowania. Celem tej grupy była popularyzacja reguł oraz wartości, które skłonią zespoły projektowe do szybkiego oraz elastycznego wytwarzania oprogramowania, co miało na celu zwiększenie szans na zakończenie projektów IT z pełnym sukcesem. Kilka miesięcy prac zaowocowało opracowaniem dokumentu zatytułowanego The Manifesto of The Agile Alliance. W dokumencie tym przedstawiono cztery główne reguły, które w zasadniczy sposób miały zmienić podejście zespołów projektowych do wytwarzania oprogramowania:
Na podstawie czterech ogólnych reguł, sformułowano zbiór dwunastu szczegółowych zasad. Zasady te w wyraźny sposób odróżniają praktyki programowania zwinnego od tradycyjnych, ciężkich procesów wytwarzania oprogramowania:
Przedstawione powyżej główne reguły zwinnego wytwarzania oprogramowania, oraz wynikające z nich zasady szczegółowe, są wynikami doświadczeń oraz obserwacji specjalistów biorących udział w wielu projektach IT. Obserwacje te pozwoliły im wyróżnić najczęściej zaniedbywane obszary wiedzy zarządzania projektami IT oraz najczęściej pojawiające się problemy podczas wytwarzania produktów w projektach informatycznych. Ich spisanie oraz usystematyzowanie pozwoliło Project Managerom zweryfikować tradycyjne procesy zarządzania projektami informatycznymi oraz sposób, w jaki procesy te są wykorzystywane podczas projektów. Zrzeszenie Agile Alliance, które jako pierwsze określiło zwinne, lekkie techniki wytwarzania oprogramowania pod wspólną nazwą „Agile methods”, skupiło swą uwagę na określeniu ogólnych reguł, zasad oraz wartości, jakie powinny kierować zespołami projektowymi wytwarzającymi oprogramowanie. Zrzeszenie nie wskazało, ani nie stworzyło, określonych metod jakimi projekty informatyczne, niejednokrotnie będące projektami innowacyjnymi, powinny być zarządzanie, oraz technik jakimi oprogramowanie powinno być wytwarzane zgodnie z wartościami Agile. Nie stanowiło to głównego celu zrzeszenia, gdyż w owym czasie istniały już techniki, które proponowały adaptacyjne podejście to wytwarzania produktów, nie tylko w branży IT. Określenie wspólnej nazwy oraz najważniejszych wartości, pozwoliło jednak na sklasyfikowanie technik oraz metod już istniejących, oraz na opracowywanie nowych technik wspierających założone wartości. Metodyka SCRUM jest dzisiaj jedną z najczęściej spotykanych metodyk zwinnego wytwarzania produktów oraz prowadzenia projektów innowacyjnych [15]. Nazwa metodyki (SCRUM - młyn) wywodzi się z terminu występującego w grze rugby. Pomysłodawcami jej są Hirotaka Takeuchi i Ikujiro Nonaka, którzy w artykule „The New New Product Development Game”, jaki ukazał się w Harvard Business Review (styczeń-luty 1986), przedstawili ogólne założenia metodyki. W roku 1995 definicja oraz sama metodyka zostały sformalizowane przez Kena Schwabera. Metodyka SCRUM powstała, aby móc sprawnie zarządzać projektami innowacyjnymi, lub projektami o nieznanych lub wysoce zmiennych wymaganiach. W tym celu zdecydowanie skrócono proces decyzyjny, powierzając podejmowanie wielu decyzji projektowych zespołowi oraz redukując ilość czasu poświęcaną na planowanie projektu. W metodyce SCRUM zespół projektowy pracuje w określonym przedziale czasowym zwanym przebiegiem (ang. sprint). Efektem przebiegu za każdym razem powinno być dostarczenie użytkownikom kolejnego działającego produktu. Zasadą jest to, że zmiany wprowadzane w jednym przebiegu muszą być namacalne dla użytkowników. Muszą wnosić wartość funkcjonalną. Przebieg może trwać od 2 do 6 tygodni. Zaleca się stosowanie przebiegów o stałych długościach. Metodyka wyróżnia trzy podstawowe role w zespole projektowym:
Metodyka programowania ekstremalnego (ang. eXtreme Programming) została utworzona przez Kenta Becka, podczas pracy nad projektem C3 (zintegrowany system płacowy) w korporacji Chrysler w roku 1995 [13]. Podstawą programowania ekstremalnego jest synergia wynikające z rozmaitych praktyk, mających wiele zalet, lecz będących trudnymi w zastosowaniu:
Dynamic System Development Method jest metodyką projektowania oprogramowania zaproponowaną przez brytyjskie konsorcjum DSDM. Metodologia ta powstała na bazie ideologii RAD (ang. Rapid Application Development) oznaczającej szybkie tworzenie aplikacji [6]. Podstawowe założenia DSDM opierają się na stwierdzeniu, że zadania, które należy wykonać w celu stworzenia danego systemy, zawsze podlegają zmianom. Metodyka wyróżnia aż 15 ról w procesie tworzenia oprogramowania, najważniejsze z nich to: Executive Sponsor, Visionary, Ambassador User, Advisor User, Technical Co-ordinator, Team Leader. W skład procesu tworzenia oprogramowania zgodnie z DSDM wchodzą następujące fazy:
Cykl życia projektu w zarządzaniu zwinnymPoza zbiorem wartości wspierających szybkie i sprawne wytwarzanie oprogramowania, techniki lekkie mogą być wyrażone, jako generalne podejście do iteracyjnego oraz przyrostowego dostarczania oprogramowania. Procesy w zarządzaniu zwinnym nie są tak istotne jak ludzie, jednak są niezbędne, muszą być zgodne z wartościami głoszonymi przez Agile Alliance, jednocześnie wspierając cele biznesowe przedsięwzięcia. Zwinny cykl życia projektu powinien przede wszystkim [6]:
Założenia te pozwoliły na stworzenie ogólnego modelu zwinnego zarządzania projektem, w którym można wyróżnić pięć podstawowych faz: tworzenie wizji, planowanie adaptacyjne, eksploracja, adaptacja, zamknięcie projektu. Adaptive Project Framework (rysunek 8) został opracowany przez Jima Highsmitha, jest to iteracyjny model wytwarzania produktów i stanowi alternatywę dla tradycyjnego cyklu życia projektu, który składa się z faz następujących kolejno po sobie.
Tworzenie wizji – to początkowa faza projektu, nazywana często tworzeniem zakresu wersji. Ma ona zakres dość podobny do fazy planowania w tradycyjnym modelu zarządzania projektem. Definiuje się w niej warunki sukcesu projektu, cele projektu, zadania, których wykonanie ma prowadzić do celu oraz zespół, który ów zadanie będzie realizował. Określone są też mierzalne rezultaty projektu. Planowanie adaptacyjne – spekulacja, faza polegająca w głównej mierze na wstępnym zaplanowaniu tworzonego produktu. Bazując na niekompletnych informacjach tworzy się pierwszą wersję wymagań funkcjonalnych oraz niefunkcjonalnych, szacuje się ilość pracy potrzebną do wykonania poszczególnych funkcjonalności, tworzy plan dostarczania kolejnych wydań oprogramowania. Tworzy się plan zarządzania ryzykiem oraz szacuje wstępne koszty projektu. Eksploracja – faza dostarczająca produkty cząstkowe, stanowiące najczęściej poszczególne funkcjonalności oprogramowania. Z punktu widzenia zarządzania projektem w fazie tej można wyróżnić trzy podstawowe działania: dostarczanie produktu, tworzenie samoorganizującego się zespołu, potrafiącego samodzielnie współpracować, zarządzanie komunikacją pomiędzy klientem a zespołem. Adaptacja – punkt kontrolny klienta. W fazie tej następuje przegląd jakości dostarczonych funkcjonalności, pomiar wydajności zespołu realizującego projekt, oraz ocena stanu całego projektu. W fazie tej następuje podjęcie decyzji, co do następnego etapu realizacji projektu, przejście do kolejnej iteracji (planowanie adaptacyjne) czy też decyzja o zakończeniu projektu. W ten sposób następuje iteracyjne wytwarzanie kolejnych funkcjonalności w trzech fazach planowanie – eksploracja – adaptacja. Zamknięcie projektu – ostatnia faza cyklu życia projektu, może zostać osiągnięta w momencie, kiedy sponsor uzna, że kontynuacja projektu nie ma sensu, lub kiedy oceni, że osiągnięty efekt to produkt, który spełnia jego oczekiwania. Stosowanie w projektach IT opisanego powyżej modelu pociąga za sobą wiele pozytywnych jak i negatywnych aspektów. Niewątpliwą zaletą takiego modelu jest jego dostosowanie do zmian występujących w projekcie. Przedstawiony w rozdziale 2.3 kaskadowy model wytwarzania oprogramowania, który bazuje na tradycyjnym, etapowym, cyklu życia projektu, zakłada jak najdokładniejszą analizę tworzonego systemu oraz szczegółowe zaplanowanie jego realizacji, APF natomiast zakłada minimalistyczną strategię wymagań, w której ich zbieranie od klienta, analiza oraz planowanie powtarzają się cyklicznie w trakcie trwania projektu, a nie kończą się wraz z rozpoczęciem fazy implementacji. Podejście takie pozwala błyskawicznie reagować na zmiany w tworzonym systemie, zakłada wręcz oczekiwanie na zmiany oraz gotowość do ich wprowadzenia. Kolejną, niewątpliwą zaletą, jest szybkie dostarczenie gotowych funkcjonalności do klienta. Tradycyjny model przeprowadza projekt przez kolejne fazy a dostarczenie działającego oprogramowania następuje na końcu cyklu. Model adaptacyjny, przedstawiony na rysunku 8, zakłada jak najwcześniejsze dostarczenie klientowi części funkcjonalności już po pierwszej iteracji. Pozwala to sponsorowi projektu kontrolować kierunek rozwoju produktu, już od samego początku. Podsumowując wady i zalety cyklu życia projektu w zarządzaniu zwinnym, należy przede wszystkim uwzględnić kompromisy, na jakie Kierownik Projektu może sobie pozwolić. Prowadząc projekt o wysokim stopniu ryzyka oraz wysoce niepewnym zakresie, zdecydowanie warto rozważyć możliwość zastosowania iteracyjnego cyklu życia projektu, który pozwala na ścisłą kontrolę przez sponsora projektu jego kierunku rozwoju. W przypadku, kiedy mamy do czynienia z projektem, w którym wymagany jest dokładniejszy harmonogram realizacji oraz kosztorys planowanych prac, stosowanie adaptacyjnego cyklu życia projektu może nastręczać wiele trudności lub być wręcz niemożliwe. Zarządzanie tradycyjne z wykorzystaniem podejścia AgilePrzedstawione w poprzednich rozdziałach metodyki tradycyjne oraz zwinne wyróżnia przede wszystkim odmienne podejście do podstawowych parametrów projektu, jakimi są: zakres, czas oraz budżet, przy zachowaniu najwyższej jakości. Metodyka PMBoK® zakłada zrealizowanie pewnego zakresu projektu, w określonym czasie i przy określonych kosztach. Zaleca się, aby parametry te zostały określone już na początku projektu. W większości przypadków, a w szczególności w projektach IT, dokładne określenie wszystkich trzech parametrów, jest jednak bardzo trudne, lub wręcz niemożliwe. Dlatego często stosowaną praktyką jest tworzenie tzw. macierzy kompromisów projektowych, w której to dokładnie jedna zmienna musi być ustalona, dokładnie jedna może się zmieniać w określonych granicach (optymalizowana), pozostałe mogą zmieniać się dowolnie (negocjowane) [4]. Kaskadowy model wytwarzania produktów w projektach IT, stanowiący najczęstszą interpretację tradycyjnego cyklu życia projektu, zakłada, że stosunkowo najmniej elastyczną zmienną jest zakres projektu, który domyślnie ma zostać zrealizowany w całości. W projektach zwinnych natomiast, zakres projektu jest zmienną stosunkowo najbardziej elastyczną, natomiast harmonogram i koszt są ściśle określone lub optymalizowane, co w założeniu ma stymulować zespół projektowy do dostarczenia gotowych i działających produktów w skończonym czasie i budżecie – nawet wówczas, gdy będą to produkty niekompletne pod względem funkcjonalnym.
![]() Różnica w podejściu do „trójkąta projektowego” została zilustrowana na powyższym rysunku. Odwrócenie paradygmatu trójkąta budżet – czas – zakres został po raz pierwszy zaproponowany przez firmę DSDM, która opracowała metodę Dynamic System Development Method. Odpowiednie dopasowanie oraz połączenie ze sobą wszystkich procesów związanych z projektem i produktem ułatwia ich koordynację [17]. Tradycyjne procesy zarządzania projektami w dużej mierze skupiają swoją uwagę na planowaniu i kontroli planów, w celu uniknięcia zmiany zakresu projektu. W celu połączenia metodyki PMBoK® ze zwinnymi technikami wytwarzania produktów w projektach IT, które wychodzą z założenia, że zmiana zakresu projektu jest wręcz oczekiwana, wymagane jest dostosowanie pewnych grup procesów w wybranych obszarach wiedzy zarządzania projektem. Wytwarzanie produktów IT - nowy cykl życia projektuJak wspomniano wcześniej wielu Kierowników Projektów branży IT stosujących metodykę PMBoK®, połączyło ją w sposób odruchowy z wodospadowym modelem wytwarzania oprogramowania, traktując go, jako jedyny i słuszny, w pełni wspierający procesy PMBoK®. Pomimo, iż metodyka PMBoK® od początku swojego istnienia nie narzuciła konkretnej metodyki, paradoksalnie stała się granicą w tym kontekście. Kolejne edycje przyniosły jednak znaczne zmiany, w zestawieniu z edycją z roku 2000, edycja trzecia stała się znacznie bardziej otwarta. Wyraźnie mówi, że: „Nie istnieje jeden, idealny model cyklu życia projektu” oraz jasno wskazuje, że to Kierownik Projektu, we współpracy z zespołem projektowym, jest zawsze odpowiedzialny za ustalenie odpowiednich procesów oraz stopnia rygorystyczności każdego procesu w danym przedsięwzięciu. Stanowi to doskonałą podstawę dla praktyk zalecanych przez Agile, które mogą nawiązywać do najlepszych praktyk omawianych w PMBoK®. Próbując wypracować nowy cykl życia projektu, zgodny z metodyką PMBoK®, należy przyjrzeć się jego definicji, która mówi, że jest to „zbiór etapów projektu przeprowadzonych na ogół w określonym porządku”, a etapy projektu (zwane również fazami) wykonuje się na ogół sekwencyjnie. I to właśnie słowo „sekwencyjnie” stanowi najczęściej punkt blokujący, prowadzący do częstej nadinterpretacji, że sekwencyjny = kaskadowy (wodospadowy). Metodyka Agile również posiada sekwencyjne fazy projektu, zwane iteracjami, gdzie dostarczanym produktem każdej iteracji (fazy) jest działający kod programu. Natomiast, standardowo wykonywane sekwencyjnie procesy takie jak: analiza, projektowanie, implementacja i testy są wykonywane w ramach każdej iteracji. W projektach zwinnych, proces planowania jest częścią pierwszej iteracji (etap początkowy), a dostarczanym produktem jest wysoko poziomowy plan projektu [3]. Fazy pośrednie są rozumiane jako wydania i/lub iteracje, gdzie dodatkowe funkcjonalności są dostarczane w postaci działającego kodu. Ostatnia faza projektu zwinnego to przekazanie gotowego produktu, w fazie tej w przeciwieństwie do tradycyjnego cyklu, wszystkie czynności związane z przygotowaniem systemu do wdrożenia są już zakończone. Następuje tu przegląd projektu oraz inne procesy kończące projekt. Jednym z podstawowych warunków cyklu życia projektu według PMBoK® jest stwierdzenie, że każdy kolejny etap projektu wyznaczony jest przez ukończenie i zatwierdzenie jednego lub więcej produktów cząstkowych, które są wymiernymi, konkretnymi i sprawdzalnymi rezultatami lub przedmiotami. Sformułowanie takie może budzić pewne wątpliwości czy procesy zwinne są zgodne z tą definicją. Jeżeli jednak zinterpretujemy zatwierdzenie i przekazanie produktu, jako zatwierdzenie i przekazanie inkrementacji działającego kodu do klienta, to możemy stwierdzić, że Agile nadal pasuje do definicji zawartej w PMBoK®. Kolejnym istotnym warunkiem, jaki powinny spełniać poszczególne fazy cyklu życia projektu, jest rozpoczęcie każdej fazy procesem inicjowania, w którym należy zdefiniować dokładnie, jakie produkty cząstkowe zostaną dostarczone w danym etapie. Faza powinna zakończyć się formalnym przeglądem oraz zostać zatwierdzona w celu przejścia do fazy następnej, lub powinna zostać podjęta decyzja o zatrzymaniu projektu. Zwinny cykl życia projektu spełnia te warunki, kolejne iteracje są inicjowane przez klienta w sposób nieformalny lub formalny w zależności od kontraktu. Każda iteracja rozpoczyna się jej zaplanowaniem w celu zdefiniowania jakie funkcjonalności powinny zostać wykonane, jak również kończy się jej przeglądem w celu wyciągnięcia wniosków i uczenia się oraz w celu uzyskania akceptacji od klienta, co do zaimplementowanych funkcjonalności. Na poniższym rysunku przedstawiono sposób mapowania cyklu życia zilustrowanego w PMBoK® na cykl życia projektu zgodnego z Adaptive Project Framework. Mapowanie to można określić jako rekurencyjne. Jak zilustrowano projekt zwinny może składać się z dowolnej liczby wydań (ang. Release), każde wydanie z kolei może składać się z dowolnej liczby iteracji, w których to zespoły wytwarzają kolejne inkrementacje kodu. Każda z przedstawionych faz składa się z trzech kluczowych etapów, inicjalizacji, w której głównym procesem jest planowanie, faz pośrednich oraz fazy końcowej, w której najważniejszą rolę odgrywają procesy związane z akceptacją produktów oraz przeglądem projektu.
![]() Zwinny projekt, oparty na wartościach Agile Manifesto, powinien składać się z kolejnych wydań (ang. Release), lub kolekcji iteracji w celu podzielenia niezbędnej do wykonania pracy, na mniejsze, łatwiej zarządzalne „paczki”. Metodyka PMBoK® traktuje wydania jako fazy. Zwinny projekt rozpoczynają procesy tworzenia wizji, mapy produktu oraz definicji listy funkcjonalności, które powinny zostać zaimplementowane (tzw. product backlog). Procesy te można porównać do procesów Tworzenia Karty Projektu (PMBoK® – 4.1), oraz Tworzenia Wstępnej Deklaracji Zakresu Projektu (PMBoK® – 4.2). Kolejne procesy porównać można z procesami Opracowania Planu Kierowania Projektem (PMBoK® – 4.3), w których to należy zdefiniować dla projektu zwinnego między innymi: środowisko, szablony dokumentacji, standardy kodowania itd. Zwinne wydanie składa się z kilku iteracji, które w PMBoK® określone są jako podetapy. Zazwyczaj, w projektach zwinnych zaleca się stosowanie kwartalnych okresów wydań, składających się z kilku iteracji. Planowanie Wydania to proces rozpoczynający wydanie, który zazwyczaj trwa jeden lub dwa dni i angażuje cały Zespół Projektowy. Rezultatem takiego planowania jest plan wydania zawierający zbiór celów wydania oraz podstawowych założeń, które mają prowadzić zespół projektowy do sprawnego dostarczenia wartości klientowi. Plan wydania luźno nawiązuje do harmonogramu projektu, ograniczając się jedynie do aktualnego wydania, szczególnie w projektach długoterminowych. W projektach krótkoterminowych plan wydania może być równoważny z planem projektu. Zwinna iteracja to jeden, stały przedział czasowy pracy o ściśle określonej dacie początkowej i końcowej, w którym zespół lub zespoły wytwarzają produkty. Zaleca się stosowanie iteracji trwających od tygodnia to sześciu tygodni. W tym okresie zespół wytwarzający produkty sam organizuje sobie codzienną pracę. Najniższy poziom zdekomponowanego cyklu życia projektu to codzienna praca, która reprezentowana jest przez zadania zaplanowane w iteracji. Zespół realizujący zadania sam organizuje sobie pracę i sposób realizacji zadań, dlatego zalecaną praktyką jest codzienne, krótkie spotkanie zespołów roboczych w celu synchronizacji pracy i kontroli wykonywanych zadań. Zaproponowany powyżej cykl życia projektu, łączący tradycyjny – kaskadowy oraz zwinny – przyrostowy model wytwarzania oprogramowania, stanowi próbę pogodzenia praktyk opisanych w PMBoK® z wartościami głoszonymi przez Agile Alliance. Na każdym etapie cyklu życia projektu można zauważyć, że stosowanie praktyk zwinnych nie wyklucza możliwości stosowania procesów opisanych w PMBoK®, co więcej, metody zalecane w zwinnym cyklu życia projektu nie odbiegają od definicji zawartych w PMBoK®. Zespół zarządzania projektemZespół Zarządzania Projektem jest w projekcie odpowiednikiem struktur zarządczych organizacji [5]. Od jego zaangażowania i decyzji na poziomie zarządzania strategicznego i operacyjnego zależeć będzie powodzenie projektu. W każdym projekcie wyróżnić można trzy strony: Biznes – czyli strona zainteresowana korzyściami wynikającymi z realizacji projektu, z reguły finansująca projekt, Użytkownik – strona, która będzie eksploatować wytworzone przez projekt produkty specjalistyczne oraz Wykonawca – strona, która te produkty wytworzy i dostarczy Użytkownikowi. Metodyki tradycyjne opisują wzorcowe role i zakresy odpowiedzialności, zalecając ich dostosowanie do specyfiki projektu oraz profilu kompetencyjnego i psychospołecznego konkretnych osób. Zaleca się uzgodnienie opisu ról z zainteresowanymi stronami, w celu uzyskania akceptacji ich zrozumienia, oraz zaangażowania w ich pełnienie [4]. Jak opisano we wstępie pracy, zaangażowanie, to jeden z kluczowych czynników wpływających na sukces projektu. W celu zwiększenia zaangażowania stron projektu, metodyki tradycyjne definiują strukturę organizacyjną projektu zwaną Zespołem Zarządzania Projektem. Jest to trójpoziomowa struktura organizacyjna projektu, która określa trzy obowiązkowe role w projekcie: Komitet Sterujący, Kierownik Projektu oraz Zespoły techniczne.
Komitet Sterujący to organ 3 – 7 osobowy, złożony z przedstawicieli klienta i dostawcy. Przewodniczącym Komitetu jest przedstawiciel biznesowy klienta. Nazywany jest przedstawicielem uzasadnienia biznesowego projektu, co doskonale odzwierciedla jego funkcję. Poza przewodniczącym, w skład Komitetu Sterującego wchodzą jeszcze Główny Użytkownik oraz Główny Dostawca. Członkowie Komitetu Sterującego muszą mieć uprawnienia do przydziału zasobów i inicjowania dalszych prac. Podstawowy zakres odpowiedzialności Komitetu Sterującego to:
Podstawowe zadania Przewodniczącego Komitetu Sterującego:
Pozostałe role w Komitecie Sterującym odpowiadają przede wszystkim za specyfikację, wytworzenie i odbiór produktów specjalistycznych projektu. Główny Użytkownik reprezentuje interesy przyszłych odbiorców produktów projektu. Do jego podstawowych zadań należy:
Główny Dostawca reprezentuje interesy dostawców produktów specjalistycznych, do jego zakresu odpowiedzialności należy:
Dodatkowo na wniosek Komitetu Sterującego może zostać powołany Nadzór Projektu, któremu Komitet Sterujący może przekazać zadania bieżącego nadzoru, jednak odpowiedzialność za nadzór nadal pozostaje po stronie Komitetu. Kierownik Projektu zarządza projektem w warstwie operacyjnej. Zgodnie z metodykami tradycyjnymi, do podstawowego zakresu jego odpowiedzialności należy:
W metodyce PMBoK® Kierownik Projektu odpowiedzialny jest za większość procesów zarządczych. Po ustanowieniu projektu, Kierownik Projektu odpowiada za wszystkie procesy z grupy procesów planowania, realizacji, monitorowania i kontroli oraz zakończenia. Kierownicy Zespołów mianowani są przez Kierownika Projektu. Poprzez zarządzanie Zespołami Roboczymi, zarządzają wytwarzaniem produktów specjalistycznych projektu. Ich zakres odpowiedzialności to:
Metodyki zwinne nie definiują struktury organizacyjnej zespołu w sposób szczegółowy, tak jak jest to zrobione w metodykach tradycyjnych. Zamiast tego Agile definiuje trzy podstawowe role projektu zwinnego wraz z ich zakresami odpowiedzialności. Wyróżnione role to: Właściciel Produktu (ang. Product Owner), Lider Zespołu oraz Zespół Projektowy. Właściciel Produktu w metodykach zwinnych traktowany jest zarówno jako przedstawiciel uzasadnienia biznesowego, jak i główny użytkownik. Z punktu widzenia uzasadnienia biznesowego, odpowiada za zyskowność przedsięwzięcia. Z punktu widzenia produktów specjalistycznych projektu, odpowiada za definiowanie wymagań i wartości produktów. Odpowiada także za wizję produktu i przekazanie jej zespołowi projektowemu. Decyduje o kolejności implementowania funkcjonalności zgodnie z potrzebami. Jest także odpowiedzialny za utrzymywanie listy funkcjonalności (składników systemu) tzw. Product Backlog. Stanowi także główną rolę decyzyjną przy akceptacji lub odrzuceniu rezultatów prac zespołu projektowego. Lider Zespołu, nazywany różnie w zależności od stosowanej metodyki (najczęściej ScrumMaster, metodyka Scrum opisana w rozdziale 3.2.1), zapewnia efektywność i produktywność. Do jego najważniejszych zadań należy zapewnienie ścisłej współpracy pomiędzy reprezentantami wszystkich funkcji i ról w zespole, a także poza nim. Zapewnia maksymalną produktywność zespołu, usuwając napotkane przez zespół przeszkody oraz osłaniając zespół przed czynnikami mogącymi zaburzyć jego pracę. Odpowiada za postępowanie zgodnie z praktykami zalecanymi przez metodyki zwinne. Jego rola nie jest typową rolą Kierownika Projektu, polegającą między innymi na wydawaniu poleceń oraz kontroli ich wykonania. ScrumMaster jest w większym stopniu doradcą oraz autorytetem na temat metodyki, pełni też funkcję doradcy dla Właściciela Produktu podczas dobierania elementów zapisanych na liście funkcjonalności. Zespół Projektowy to samoorganizująca się, interdyscyplinarna, a przez to w dużej mierze samowystarczalna grupa. Zespół Projektowy ma prawo (i obowiązek) samodzielnie podejmować decyzje prowadzące do osiągnięcia celu iteracji. Grupa powinna być jednorodna pod względem hierarchii służbowej, a także, powinna być jednolita pod względem składu na cały czas trwania projektu (ewentualne zmiany zalecane tylko pomiędzy iteracjami / wydaniami). Stosując zwinne techniki wytwarzania produktów w tradycyjnym projekcie IT, należy uwzględnić zmiany zakresu odpowiedzialności poszczególnych członków Zespołu Zarządzania Projektem, a także zmiany w procesie komunikacji w strukturach projektu, wynikające bezpośrednio z zakresów obowiązków. Istotną zmianą w strukturze organizacyjnej projektu jest połączenie roli Głównego Użytkownika oraz Przedstawiciela Uzasadnienia Biznesowego projektu. Metodyki tradycyjne nie wykluczają możliwości połączenia ról w strukturze Komitetu Sterującego. Praktyka pokazuje jednak, że ze względu na możliwość pojawienia się konfliktów interesów, nie zaleca się łączenia roli Głównego Użytkownika oraz Głównego Dostawcy, którego role w metodyce Agile przejmuje Lider Zespołu. Tak więc rola Właściciela Produktu, opisywana przez Agile nie wykracza poza zasady metodyk tradycyjnych, oraz dobrych praktyk z nimi związanymi. Kolejna zmiana dotyczy zarówno Kierownika Projektu jak i Kierowników Zespołów Roboczych. Metodyki spod znaku Agile nie wyróżniają w sposób bezpośredni żadnej z tych ról. Jak opisano powyżej, metodyki zwinne wyróżniają role Lidera Zespołu oraz Zespołu Projektowego (roboczego), jednak zakresy obowiązków oraz odpowiedzialności tych ról różnią się na tyle od ról Kierownika projektu oraz Kierowników Zespołów Roboczych i Zespołów Roboczych, opisanych w tradycyjnej strukturze organizacyjnej Zespołu Zarządzania Projektem, że nie można zmapować ich w sposób jawny do tej struktury. Jak przedstawiono na rysunku numer 12, rolę Lidera Projektu opisywaną przez Agile, można umieścić gdzieś pomiędzy Kierownikiem Projektu a Kierownikiem Zespołu. Natomiast obowiązki i część zakresu odpowiedzialności Kierowników Zespołów (niewystępujących w projektach zwinnych) zostały wchłonięte przez zwinny Zespół Projektowy (roboczy), który zgodnie z założeniami metodyki Agile, jest zespołem samowystarczalnym, mającym prawo podejmować decyzje. ![]() Decyzję, odnośnie roli Lidera Zespołu, zwanego też ScrumMaster w metodyce SCRUM, czy będzie on bardziej Kierownikiem Projektu czy Kierownikiem Zespołu, należy podjąć indywidualnie dla każdego projektu. W przypadku projektów będących w przeważającej części ich organizacji zgodnych z metodykami tradycyjnymi, takimi jak PMBoK®, należy rozważyć opcję współpracy zarówno Kierownika Projektu jak i Lidera Zespołu zwinnego. W takim przypadku, rola Kierownika Projektu pozostaje w dużej mierze zgodna z rolą Kierownika Projektu tradycyjnego, natomiast Lider Projektu (ScrumMaster) przejmie obowiązki Kierownika Zespołu Roboczego, skupiając swoją uwagę, zgodnie z wybraną techniką, na zwinnym wytwarzaniu produktów i organizacji pracy Zespołu Projektowego. Natomiast, w przypadku projektów, które w przeważającej części skupiają uwagę na zwinnym prowadzeniu całego przedsięwzięcia, zgodnie z cyklem życia projektu omówionym przez Adaptive Project Framework, należy rozważyć możliwość połączenia roli Kierownika Projektu oraz Lidera Zespołu zwinnego (ScrumMaster). Taki połączony zakres obowiązków i odpowiedzialności Kierownika Projektu i Lidera Zespołu w dużej mierze upraszcza organizację projektu, wymagając przy tym samowystarczalnego oraz interdyscyplinarnego Zespołu Roboczego, którego prace nie będą w sposób ścisły kontrolowane przez Kierownika Zespołu. Wytwarzanie zwinne - harmonogram oraz budżetW projektach branży informatycznej szacowanie poszczególnych elementów projektu takich jak czas realizacji, pracochłonność, koszty, wydajność, zużycie materiałów i inne, jest przedsięwzięciem złożonym. Najistotniejszym przedmiotem szacowania projektu informatycznego, jest część dotycząca wytwarzania oprogramowania [5]. Szacowanie zadań związanych z implementacją oprogramowania jest zadaniem wymagającym współdziałania Kierownika Projektu z zespołami, które będą realizować te zadania. W projektach informatycznych, szacowanie nie jest tak oczywiste jak w naukach ścisłych, gdzie uwaga badaczy skoncentrowana jest wokół jednostki miary i metody powtarzalności pomiaru. Niejednokrotnie wymaga dostępu do informacji na temat podobnych przedsięwzięć lub jego fragmentów, aby można się posłużyć np.: techniką analogii. W tradycyjnym podejściu do zarządzania projektami podstawą prac nad szacowaniem zadań jest opracowanie w miarę dokładnej struktury projektu, którą należy dekomponować do zadań, które realizują pojedyncze osoby lub specjalistyczne zespoły w stosunkowo krótkim czasie [4]. Uwzględniając informacje dotyczące nakładu pracy (ang. effort), czasu trwania zadania (and. durration) oraz obciążenia ludzi (ang. manpower loading), a także niezbędne informacje kosztowe, można posłużyć się metodami, które pozwalają na oszacowanie między innymi: prognozowanej pracochłonności, kosztów, złożoności oraz jakości. Nie istnieje uniwersalna metoda, która w zadowalający sposób określiła wszystkie te parametry, można się jednak posłużyć metodami takimi jak:
W przypadku projektów złożonych pod kątem wymagań jak i skomplikowanych technologicznie, doskonałą alternatywą mogą okazać się zwinne techniki wytwarzania oprogramowania. Nie wymagają one dokładnego szacowania całego projektu, gdyż zakładają możliwość zmiany wymagań oraz zakresu przez cały cykl życia projektu. Szacowania dotyczące kosztu oraz przybliżonego czasu trwania projektu bazują na tzw. opowieściach użytkownika. „Opowieści użytkownika” to technika opracowywania wizji produktu opartej na rejestrze produktowym (liście funkcjonalności). Poszczególnym funkcjonalnością przypisuje się punkty w określonej dla całego projektu skali, które na etapie planowania iteracji przekładają się na rzeczywisty czas realizacji oraz koszty. ![]() PodsumowaniePrzeprowadzanie kompleksowych projektów IT, które wspierają kluczowe procesy biznesowe organizacji, wymaga stosowania sprawdzonych standardów zarządzania. Projekty informatyczne obarczone są dużym ryzykiem bardzo często wynikającym z braku dokładnego zdefiniowania zakresu lub jego częstych zmian. Stosowanie tradycyjnych metodyk zarządzania projektami może w takiej sytuacji spowodować wpadnięcie w pułapkę nieustannego rozwijania procesów, co dodatkowo może utrudnić realizację projektów. Przedstawione tradycyjne oraz zwinne metodyki zarządzania projektami posłużyły jako punkt odniesienia w trakcie analizy możliwości połączenia obu metodyk. Określono podstawowe różnice w sposobie zarządzania projektem zwinnym oraz tradycyjnym, wskazano główne zmiany jakie zaszły w zakresie definiowania ról oraz kompetencji w zespołach projektowych. Do jednych z najważniejszych osiągnięć pracy można ponadto zaliczyć wskazanie możliwości połączenia tradycyjnego podejścia do zarządzania projektem z możliwościami zwinnego wytwarzania produktów IT. Bazując na dwóch kluczowych obszarach wiedzy zdefiniowanych przez metodykę PMBoK®, zaproponowano zmiany jakie należy wprowadzić w głównych grupach procesów zarządczych, tak aby można było wytwarzać produkty projektu w sposób zwinny, zgodny z wartościami Agile. Omówiono obszar wiedzy związany z Integracją Projektu oraz Zarządzaniem Zakresem projektu. Wskazano główne punkty styku, w których techniki lekkie są w pełni zgodne ze standardami proponowanymi przez PMBoK® oraz podstawowe rozbieżności w obu podejściach wraz z możliwymi kompromisami. Zaproponowano również nowy cykl życia projektu zgodny zarówno z definicją zawartą w metodyce PMBoK® oraz z wartościami technik lekkich. Co więcej, omówiono również podstawowe zmiany jakie powinny zajść w tradycyjnym Zespole Zarządzania Projektem w przypadku stosowania zwinnych technik wytwarzania produktów. Omówiono nowe zakresy kompetencji i odpowiedzialności członków zespołu projektowego. Przydatnym z praktycznego punktu widzenia może okazać się również przykładowe zastosowanie zaproponowanego modelu zarządczego w projekcie branży IT. Przeprowadzona analiza oraz wstępne planowanie projektu wskazuje kluczowe aspekty na które należy zwrócić uwagę w przypadku stosowania nowego modelu zarządczego. Przedstawione we wstępie pracy badania The Standish Group obrazują, że pomimo istnienia przyjętych standardów zarządzania projektami, nadal znaczna większość projektów kończy się niepowodzeniem lub niepełnym sukcesem. Badania te miały na celu znalezienie podstawowych przyczyn niepowodzeń projektów, spośród których wyróżniono trzy główne czynniki sukcesu projektu: zaangażowanie klienta (15,9%), wsparcie kierownictwa (13,9%) oraz jasno określone wymagania (13,0%). Przedstawione wyniki wpłynęły na popularyzację lekkich technik zarządzania projektami branży IT, których podstawowym założeniem jest organizowanie projektów w sposób pozwalający na szybkie i elastyczne wytwarzanie oprogramowania, oraz możliwość szybkiego reagowania na zmiany w projekcie. Techniki zwinne pozwalają na weryfikację tradycyjnych procesów zarządzania projektem pod kontem możliwości reagowania na zmiany. Coraz większa popularność zwinnych metodyk takich jak SCRUM czy XP, świadczy o potrzebie zmian w tradycyjnych procesach zarządzania projektami oraz w sposobie organizacji zespołu projektowego. Możliwość połączenia metodyk tradycyjnych oraz zwinnych może przynieść znaczne efekty odzwierciedlone w skuteczności prowadzenia projektu oraz zadowoleniu klienta, dostarczając mu wartościowe produkty, w znacznie krótszym czasie. Literatura[1] Boehm W.B. and all, Software cost estimation with COCOMO II, Prentice-Hall, July 2000 |
||||||||||||||||||||||||
| Zmieniony ( Środa, 19 Sierpień 2009 05:17 ) |