Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
Spis treści
1.
Wprowadzenie ................................................................................................................................ 2
2.
Tematy projektu 2 ........................................................................................................................... 5
3.
Forma opracowania ......................................................................................................................... 6
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
1. Wprowadzenie
Obecnie, bardzo często podpisanie kontraktu - zwłaszcza w obrocie międzynarodowym - wiąże się z
posiadaniem stosownego certyfikatu ISO serii 9000. Produkt oznaczony takim symbolem, gwarantuje,
iż spełnia on wszelkie wymogi jakościowe. W branży informatycznej podobną rolę odgrywa CMMI,
który jest znakiem towarowym zastrzeżonym w Amerykańskim Urzędzie Patentów i Znaków
Towarowych.
Capability Maturity Model Integration (CMMI) – jest modelem służącym ocenie dojrzałości
procesów tworzenia oprogramowania w organizacji. Został opracowany przez grupę amerykańskich
programistów, pracujących w Software Engineering Institute (SEI), działającym przy Carnegie Mellon
University w Pittsburghu.
W modelu CMMI mamy 5 poziomów. Pierwszy poziom to poziom początkowy. Na tym poziomie są
wszystkie firmy, które nie spełniają wymagań związanych z wyższymi poziomami. A zatem znalezienie
się na pierwszym poziomie CMMI jest bardzo łatwe. Drugi poziom CMMI jest zwany Zarządzanym (w
starym modelu CMM nazywał się Powtarzalny ). Na tym poziomie znajdują się najważniejsze praktyki
dotyczące zarządzania przedsięwzięciem informatycznym. Trzeci poziom, Zdefiniowany , dotyczy całej
organizacji i prezentuje bardziej zaawansowane praktyki. Poziom czwarty, Zarządzany ilościowo ,
zawiera zaawansowane praktyki analizy danych dotyczących efektywności procesów wytwarzania
oprogramowania bazujące na statystycznej kontroli procesów (Statistical Process Control, w skrócie
SPC). Najwyższy, piąty, poziom nazywa się Optymalizujący – organizacje znajdujące się na tym
poziomie potrafią w systematyczny sposób przygotować się do zmian (np. zmian związanych z
rozwojem technologii wytwarzania oprogramowania).
Wszystkie modele CMMI, niezależnie od dyscypliny, składają się z pięciu poziomów. Z kolei każdy
poziom (od drugiego w górę) składa się z obszarów procesu. Liczba obszarów na jednym poziomie
może być większa, na innym mniejsza.
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
Na przykład na drugim poziomie CMMI (obszar zarządzany) mamy siedem obszarów:
• Zarządzanie wymaganiami,
• Planowanie przedsięwzięcia,
• Monitorowanie i kontrola przedsięwzięcia,
• Zarządzanie podzleceniami,
• Pomiary i analiza,
• Zapewnianie jakości procesu i produktu,
• Zarządzanie konfiguracją.
Obszar planowania przedsięwzięcia
W tym obszarze mamy trzy cele specyficzne:
• Oszacowania parametrów przedsięwzięcia muszą być opracowane i aktualizowane.
• Plan przedsięwzięcia musi być opracowany i aktualizowany, gdyż jest to podstawa
zarządzania przedsięwzięciem.
• Zobowiązania do planu przedsięwzięcia muszą być ustanowione i aktualizowane.
Przyjrzyjmy się praktykom specyficznym związanym z pierwszym celem, czyli szacowaniem
parametrów przedsięwzięcia.
a) Po pierwsze, należy ustalić na wysokim poziomie abstrakcji strukturę hierarchiczną
produktów stanowiącą oszacowanie zakresu przedsięwzięcia. Na przykład, jeśli mamy
zbudować elektroniczną księgarnię internetową, to hierarchiczna struktura produktów może
mieć dwa poziomy i na drugim poziomie możemy wyliczyć, jakiego typu artefakty mają być
rezultatem przedsięwzięcia (np. specyfikacja wymagań, plan przedsięwzięcia, kod systemu i
automatyczne przypadki testowe).
b) Po drugie należy ustalić i pielęgnować oszacowania atrybutów produktów i zadań. Na
przykład atrybutem kodu może być jego rozmiar liczony w punktach funkcyjnych lub w liniach
kodu (będzie na ten temat osobny wykład). Atrybutem specyfikacji wymagań może być liczba
przypadków użycia albo liczba stron.
c) Po trzecie, należy zdefiniować fazy cyklu życia przedsięwzięcia. Można np. przyjąć, że
najpierw będzie zbieranie wymagań, potem projektowanie oprogramowania, następnie jego
kodowanie i na końcu testowanie.
Znając produkty i związane z nimi atrybuty można oszacować pracochłonność. Jedną z bardzo
znanych metod szacowania pracochłonności jest COCOMO II.
Zgodnie z drugim celem specyficznym związanym z planowaniem przedsięwzięcia, w każdej
organizacji znajdującej się na drugim poziomie CMMI plan przedsięwzięcia jest opracowany
i aktualizowany jako podstawa zarządzania przedsięwzięciem. W tym zakresie należy przede
wszystkim ustalić i pielęgnować budżet oraz harmonogram przedsięwzięcia. Harmonogram
przedsięwzięcia jest często prezentowany za pomocą wykresu Gantta. Są takie narzędzia, jak MS
Project, które wspomagają tworzenie harmonogramów przedsięwzięć.
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
Z każdym przedsięwzięciem jest związany szereg różnego typu czynników ryzyka. Należy te czynniki
ryzyka identyfikować i analizować. Problem polega na tym, że potencjalnych czynników ryzyka może
być ponad 100. Trudno je wszystkie analizować i nimi zarządzać. Rozsądnym rozwiązaniem jest
skupienie uwagi na najważniejszych czynnikach ryzyka. Aby je wyłonić można dla każdego czynnika
ryzyka oszacować prawdopodobieństwo jego wystąpienia i wpływ na przedsięwzięcie. Można tę
ocenę przeprowadzić np. w skali od 0 do 4 (0 – zdarzenie skrajnie mało prawdopodobne lub –
w odniesieniu do wpływu - o skrajnie małym negatywnym wpływie na przedsięwzięcie; 4 – zdarzenie
bardzo prawdopodobne lub – jeśli chodzi o wpływ – o katastrofalnym wpływie na przedsięwzięcie).
Niech waga czynnika ryzyka oznacza iloczyn prawdopodobieństwa i wpływu. Można posortować
czynniki ryzyka wg ich wagi i przyjąć, że np. będą analizowane i śledzone tylko te czynniki ryzyka,
których waga wynosi 12 lub więcej.
Zgodnie z kolejną praktyką specyficzną należy zaplanować zarządzanie danymi przedsięwzięcia.
Należy odpowiedzieć na następujące pytania:
• Jakie dane zbierać? Mogą to być dane dotyczące pracochłonności (bardzo przydadzą się przy
korekcie planu przedsięwzięcia), wyniki testowania, nastroje w zespole realizującym
przedsięwzięcie itp.
• Które z nich mają trafić do klienta?
• Gdzie dane będą przechowywane?
• Jaki poziom ochrony jest potrzebny?
• Kto ma być odpowiedzialny za dane?
Należy także zaplanować zasoby potrzebne do realizacji przedsięwzięcia. Mogą to być komputery,
narzędzia programistyczne, specjalny sprzęt do uruchamiania budowanego oprogramowania lub jego
testowania itp. Należy także ocenić wiedzę i umiejętności potrzebne do realizacji przedsięwzięcia.
Jeśli okaże się, że potrzebne są kompetencje, których w firmie nikt nie ma, to można wysłać ludzi na
szkolenia, zaprosić ekspertów-konsultantów, by pełnili rolę mentorów, zlecić wykonanie pewnych
zadań firmie, która ma brakujące nam kompetencje lub poszukać jeszcze innego rozwiązania. Im
szybciej taka ocena wiedzy i umiejętności zostanie przeprowadzona, tym większe jest pole manewru.
Trzeci cel specyficzny związany z planowaniem przedsięwzięcia dotyczy zobowiązań: zobowiązania
względem planu przedsięwzięcia mają być ustanowione i aktualizowane. Z celem tym związane są
trzy praktyki specyficzne. Zgodnie z pierwszą z nich należy dokonać przeglądu wszystkich planów,
które mają wpływ na realizację przedsięwzięcia. Na przykład przedsięwzięcie związane
z opracowaniem nowego typu telefonu komórkowego może obejmować trzy elementy: sprzęt,
książkę telefoniczną i asystenta osobistego (PDA od ang. Personal Digital Assistant). Z każdym z tych
elementów może być związany osobne pod-przedsięwzięcie z własnym planem. Ktoś musi panować
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
nad całością, w tym m.in. musi dokonać wszystkich planów składowych (albo zorganizować
zespołowy przegląd tych planów) tak, aby mieć pewność, że są one spójne. Należy też doprowadzić
do równowagi między oszacowanymi a dostępnymi zasobami. Te zasoby mogą dotyczyć liczby
dostępnych specjalistów, pieniędzy, czy też ilości potrzebnego czasu. Jeśli okaże się, że dostępne
zasoby są mniejsze niż wynikające z oszacowania, to należy zastanowić się nad ewentualnym
dostosowaniem zakresu przedsięwzięcia do posiadanych zasobów. Liczenie, że jakoś to będzie może
doprowadzić do sporych kłopotów. Należy także uzyskać akceptację udziałowców przedsięwzięcia
zaangażowanych w jego realizację. Dotyczy to osób zarówno po stronie wykonawcy, jak i po stronie
klienta. Bardzo dobrą praktyką jest prośba o pisemną akceptację planu przedsięwzięcia. Widać tu
związek z trzecią zasadą zarządzania jakością dotyczącą zaangażowania ludzi, zgodnie z którą
odpowiedzialność powinna być zaakceptowana przez osoby nią obarczone.
2. Tematy projektu 2
a) Lista do oceny poziomu dojrzałości dla obszaru planowania przedsięwzięć
Należy zaproponować listę pytań kontrolnych, za pomocą której można będzie ocenić poziom
dojrzałości w zakresie planowania w Państwa firmie (14 pytań: 3.0, 17 pytań: 3.5, 20 pytań: 4.0, 24
pytań: 4.5, 27 pytań: 5.0 )
Przykładowa lista pytań do oceny obszaru Planowania przedsięwzięć
1: Czy wykonujecie i aktualizujecie Państwo oszacowanie dotyczące parametrów przedsięwzięcia
(rozmiar kodu, dokumentów, liczba wymagań, liczba przypadków testowych, itp.)?
2: Czy opracowujecie i aktualizujecie Państwo plan przedsięwzięcia tak, aby stanowił on dobrą
podstawę do zarządzania przedsięwzięciem?
3: Czy ustalacie i aktualizujecie Państwo budżet oraz harmonogram przedsięwzięcia?
4: Czy wszystkie plany, które mają wpływ na realizację przedsięwzięcia są przeglądane przed
rozpoczęciem przedsięwzięcia?
5: Czy zabiegacie Państwo aby plan przedsięwzięcia był realistyczny w sensie równowagi pomiędzy
planowanymi a dostępnymi zasobami?
6: Czy przed rozpoczęciem przedsięwzięcia uzyskujecie Państwo akceptację planu przez wszystkich
jego udziałowców?
7: Czy ustanawiacie i aktualizujecie Państwo zawartość całego planu przedsięwzięcia?
b) Propozycja dobrych praktyk (min. 10)
Jesteś właścicielem małej firmy programistycznej (zatrudniasz 5 programistów). Opracuj
dokument, w którym zbierzesz dobre praktyki dla planowania stosowane w twojej firmie.
Uzasadnij wybór i spróbuj ocenić, na jakim poziomie znalazłaby się twoja organizacja.
c) Odpowiedź na pytanie
1. Jakie korzyści znajdujesz we wdrożeniu CMMI w firmie programistycznej?
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
3 x 45 min
3. Forma opracowania
1. Strona tytułowa zawiera:
a. Tabelkę
Politechnika Krakowska im. Tadeusza Kościuszki
Wydział Mechaniczny
Instytut Informatyki Stosowanej M-7
CMMI i inne systemy zapewnienia jakości
Projekt 2 - Model dojrzałości CMMI
Opracowali:
Rok akademicki: 2010/2011
Grupa 13k3
Xxxx
Xxxx
b. Spis treści
2. Opracowanie powinno zostać zakończone i oddane na trzecich zajęciach.
Proszę zwracać uwagę na estetykę opracowanego dokumentu, jest on Państwa wizytówką.