Podręcznik zarządzania projektami….
Firma Octigo na swoim blogu udostępniła do pobrania za darmo, podręcznik zarządzania projektami, który powstaje na bazie wpisów na blogu. Póki co podręcznik zawiera cztery rozdziały (80 stron) i traktuje między innymi o tym jak zaplanować zakres w postaci WBS, ułożyć harmonogram, zarządzać czasem, skracać projekt, czym jest jakość i jak ją zapewnić, jak monitorować koszty projektu. Podręcznik jest sukcesywnie rozwijany.
Enterprise Architect – filmy instruktażowe
Na stronie Sparx System (producenta Enterprise Architect) znajdują się krótkie instruktażowe filmiki dotyczące korzystania z Enterprise Architect. Wśród filmików można znaleźć między innymi instrukcję konfiguracji SVN i Enterprise Architect do pracy grupowej, sposób zarządzania wymaganiami z poziomu Enterprise Architect czy integrację z takimi narzędziami jak Visual Studio, Eclipse czy TFS. Baza filmików sukcesywnie się zwiększa.
Raport: Zarządzanie wymaganiami 2011
Pod koniec 2010 roku Jama Software przeprowadziło badania na ponad 800 uczestnikach. Badania dotyczyły kwestii szeroko pojętych wymagań.
Wywiady były prowadzone głównie z analitykami biznesowymi (44,8 %), z kierownikami projektów (19,7 %) jak również z developerami (8,3 %), testerami (7,9 %), właścicielami produktów (6,9%), dyrektorami działów IT (6,4 %), konsultantami (5,3 %) oraz osobami do spraw usability (0,7 %).
Pod uwagę wzięto między innymi wielkości zespołów i prezentują się one następująco:
- 57,6 %: poniżej 25 osób w zespole,
- 26,8 %: od 25 do 50 osób w zespole,
- 10,3 %: od 50 do 100 w zespole,
- 3,8 %: od 100 do 250 osób w zespole,
- 1,5 %: ponad 250 osób w zespole.
Z raportu wynika, iż największą trudnością okazuje się (można było zaznaczyć kilka odpowiedzi):
- 72,9 % - jasne zrozumienie tego czego tak naprawdę klient potrzebuje,
- 58,9 % - udokumentowanie wymagań,
- 50,7 % - zbudowanie aplikacji/systemu na podstawie ustalonych wymagań,
- 46,9 % - ustalenie priorytetów wymagań,
- 43,7 % - przekazanie wymagań zespołowi (komunikacja wewnątrz zespołu).
Złożoność wymagań:
- 25,4 % projektów zawiera poniżej 100 wymagań,
- 34,3 % projektów zawiera od 100 do 500 wymagań,
- 20% projektów zawiera od 500 do 1000 wymagań,
- 16,1 % projektów zawiera od 1000 do 5000 wymagań,
- 4,3 % projektów zawiera powyżej 5 000 wymagań.
Z powyższego zestawienia wynika iż ponad 70 % projektów zawiera 100 i więcej wymagań a 20 % zawiera 1000 i więcej wymagań.
Projekty z biegiem czasu stają się coraz bardziej skomplikowane co przekłada się bezpośrednio na zwiększenie liczby i złożoności wymagań. Rośnie zatem znaczenie odpowiedniego sposobu dokumentacji i zarządzania wymaganiami.
Średni czas poświęcany tygodniowo przez badanych na zarządzanie zmianą wymagań:
- 5% - więcej niż 5% czasu,
- 22,9 % - mniej niż 10 % czasu,
- 40,6 % - od 10 % do 25 % czasu,
- 24,7 % - od 25 % do 50 % czasu,
- 6,9 % badanych nie zajmuje się zarządzaniem zmianą wymagań.
Jak często projekt jest dostarczany zgodnie z czasem i w ramach założonego budżetu?:
- 17 % - w więcej niż 80 % przypadków,
- 26,4 % - od 60 % d0 80 %,
- 24,4 %- od 40 % do 60 %,
- 18 %- od 20 % do 30 %,
- 14,2 % - mniej niż 20 %.
Najczęstsze powody niepowodzeń w projektach (można było zaznaczyć kilka odpowiedzi):
- 75,3 % - nierealistyczny harmonogram projektu bądź oczekiwania,
- 72,8 % - pominięte bądź niedokładnie zdefiniowane wymagania,
- 69,9 % - zmiany zakresu projektu,
- 46,9 % - niezrozumienie podstawowych potrzeb klienta,
- 43,9 % - problemy z komunikacją i współpracą,
- 35,9 % - zarządzanie zmianą,
- 33,6 % - brak przeprowadzonych testów,
- 31,2 % - brak wsparcia ze strony osób zarządzających,
- 12,6 % - inne.
Najczęściej praktykowane podejście do procesu wytwarzania oprogramowania:
- 39,9 %- metodyki mieszane (dostosowane do własnych potrzeb),
- 25,9 %- podejście wodospadowe (waterfall),
- 19,2 % - agile,
- 8,4 % - podejście iteracyjne,
- 3,7 % - RUP,
- 4,3 % - inne,
- 3% % - używa własnego podejścia do wytwarzania oprogramowania.
Najczęstsze sposoby przechowywania wymagań (można było zaznaczyć kilka odpowiedzi):
- 83,2 % - dokumenty typu word i excel,
- 42 % - email,
- 31,4 % - narzędzia do zarządzania wymaganiami (typu JIRA),
- 31,1 % - przekazywane ustnie podczas codziennych spotkań,
- 21,6 % - narzędzia case do zarządzania wymaganiami,
- 21,6 % - zapiski na tablicy, żółte karteczki,
- 11,3 % - portale typu wiki,
- 6,6 % - inne.
Diagramy najlepiej wyjaśniające (uzupełniające) wątpliwości związane z wymaganiami (można było zaznaczyć kilka odpowiedzi):
- 71,4 % - modele procesów,
- 50,1 % - prototypy,
- 47,5 % - modele interfejsu użytkownika,
- 46,5 % - diagramy przypadków użycia,
- 31,1 % - diagram aktywności,
- 30,1 % - schematy/odręczne rysunki,
- 6,6% % - inne.
Zachęcam do zapoznania się z całym raportem.
Przyczyny niepowodzeń projektów IT
Jakiś czas temu pisałem o przyczynach niepowodzeń w projektach IT. Na stronie IAG Consulting znalazłem ciekawy filmik traktujący o przyczynach owych niepowodzeń. Zachęcam do obejrzenia.
Nieustannie na liście jednej z podstawowych przyczyn porażek gości brak dobrej specyfikacji wymagań.
Fazy projektu informatycznego …
Wpadlo mi ostatnio w ręce:)
Fazy projektu informatycznego
1. Euforia
2. Cykoria
3. Szukanie winnych
4. Karanie niewinnych
5. Nagradzanie niezaangażowanych
Brzmi znajomo?
Analityk a administracja publiczna
Jakiś czas temu znajomy opowiedzial mi historię dotyczącą rekrutacji do jednej z instytucji administracji publicznej na stanowisko analityka.
Nie od dziś wiadomo, iż w takich instytucjach obowiązują pewne sztywne zasady, które nie spotykane są w żadnej prywatnej firmie, a już na pewno nie sztywne i dyskryminujące widełki płacowe (sic!)
Ale do rzeczy... rekrutacja dotyczyła pracy, przy projekcie który dopiero miał się rozpocząć i miał być realizowany własnymi siłami (bez zlecenia wytworzenia zewnętrznym firmom
Jak wiadomo stanowisko analityka jest jednym z kluczowych ról w każdym projekcie IT. Nie bez znaczenia jest tutaj doświadczenie kandydata a taka osoba oczywiście kosztuje. Oczywiście propozycja wynagrodzenia złożona koledze nijak miała się do warunków panujących na rynku (nieszczęsne widełki). Oczywiście kolega nie przyjął propozycji.
Ale sytuacja ta wymusza zastanowienie się nad sensownością widełek płacowych, które blokują zatrudnienie specjalistów IT.
Ponoć na potrzeby realizacji projektu zostali zatrudnieni już inni członkowie zespołu (głównie programiści i kierownik zespołu). Nasuwa się pytanie czy to są specjaliści czy dopiero kandydaci na specjalistów (np. absolwencji), którzy się trochę poduczą i przyjmą ofertę za normalne pieniądze a na ich stanowisko zostaną zatrudnieni inni "specjaliści".
Pomyślałem ok... taki mają model pracy... chcą spróbować własnych sił i chwała im za to. Ale czy mimo wszystko nie jest to syzyfowa praca i wyrzucanie pięniędzy w błoto?
Czy taka instytucja ma jakąś alternatywę? Owszem - zlecić wytworzenie oprogramowania w drodze przetargu zewnętrznej firmie. Oprócz wszelkich ryzyk, które się wiążą z takim modelem na uwagę zasługuje również fakt, iż także przy takim modelu niezbędne jest również posiadanie po swojej stronie analityka bądź zespołu analityków. Wszak ktoś musi zebrać wymagania, zarządzać nimi, zarządzać zmianami, opiniować, proiorytezować, nadzorować i tak dalej. I znowu nasuwa się pytanie, kto za takie wynagrodzenia jakie oferują instytucje administracji publicznej będzie pełnił rolę analityka a nie "analityka." I znowu tutaj rozwiązaniem może być niezależny przetarg na analizę, ale zazwyczaj analiza i wytworzenie oprogramowania są zlecane firmom wykonawczym "w pakiecie", które robią generalnie "pod siebie" taką analizę. I w tym momencie następuje cała lawina problemów, błędnego zrozumienia wymagań i rzeki zmian za które oczywiście płaci instytucja zamawiająca. I tak koło się zamyka. Instytucja ma reguły "ograniczające" wydatki, więc pewne rzeczy zleca się na zewnątrz za które się słono płaci i ciągłe poprawki, zmiany, poprawki.
Coż... mógłby w końcu ktoś pójść po rozum do głowy i zastanowić się nad tymi nie koniecznie przemyślanymi mechanizmami "ograniczającymi" wydatki z budżetu, a które w dłuższej perspektywie przynoszą wzrost kosztów.
Przypadki użycia cz.1
Jako analityk w codziennej pracy stykam się z przypadkami użycia. Pomimo, iż wiele już jest materiałów i książek na temat przypadków użycia, bardzo często spotykam się w błędnym sposobie ich stosowania. Niniejszy artykuł stanowi wstęp do cyklu artykułów mających w zwięzły i prosty sposób przedstawić tematykę podejścia opartego na przypadkach użycia.
Pojęciami ściśle związanymi z przypadkami użycia są Aktor oraz wspomniany Przypadek użycia (UC bądź PU).
Aktor reprezentuje osobę bądź inny system, który pozostaje w interakcji z systemem, którego funkcjonalność przedstawiona zostaje za pomocą przypadków użycia.
Przypadki użycia są zbiorem funkcjonalności (przedstawionym na określonym poziomie szczegółowości), które mogą wchodzić w interakcję z Aktorami bądź z innymi przypadkami użycia w ramach modelowanego systemu bądź modułu.
Przypadki użycia przede wszystkim...
- znajdują częste zastosowanie w opisie wymagań systemowych ze względu na czytelność tak zapisanych wymagań
- dzięki interakcji pomiędzy przypadkami użycia a aktorami, ukazują główne cele projektowanego systemu
- dzięki zastosowania scenariuszy głównych wprowadzają definicję pomyślnej realizacji funkcjonalności przez aktora systemu
- dzięki zastosowania alternatywnych scenariuszy wprowadzają definicje działań alternatywnych
- prezentują wielopoziomowość - jeden przypadek użycia może używać/wywoływać bądź rozszerzać inny przypadek użycia
- umożliwiają stosunkowo łatwe oszacowanie pracochłonności wytwarzanego systemu (metoda USE Case Points)
- ułatwiają walidację wymagań
- stanowią bazę do przygotowywania scenariuszy testowych i akceptacyjnych
- stanowią podstawę do stworzenia dokumentacji użytkownika
Przypadki użycia…
- NIE służą do przestawienia interfejsu projektowanego systemu
- NIE zawierają szczegółowych aspektów projektowanego systemu
- NIE przedstawiają sekwencji wywołań/użycia