Model CMM
CMM - Capablility Maturity Model - został opracowany w 1987 roku przez amerykańskich programistów Software Engineering Institute (SEI). się wspierane było przez Departament Obrony Stanów Zjednoczonych a jego celem było opracowanie metod, które polepszyłby skuteczność projektów informatycznych, które były realizowane przez Departament Obrony. W tym celu przeprowadzono wieloletnie badania, których efektem było stworzenie Capability Maturity Model for Software (SW-CMM). Jest to model, który koncentruje się na ulepszaniu procesów wytwórczych w organizacjach, zajmujących się produkcją oprogramowania. CMM zbudowany jest w oparciu o koncepcję dojrzałości, gdzie każdy kolejny (wyższy) poziom oznacza większą kontrolę nad zachodzącymi w trakcie projektu procesami. Dzięki zastosowania modelu, organizacja jest w stanie określić kierunki zmian i osiągnąć większą efektywność. Model pomaga także w wytyczaniu ścieżek ewolucji danej organizacji. CMM wyróżnia pięć poziomów dojrzałości organizacji produkującej oprogramowanie:
CMM-1
CMM-1 to poziom podstawowy dotyczący pierwszego etapu rozwoju firmy wytwarzającej oprogramowanie. Nie występują w nim formalne definicje procesów wytwarzania oprogramowania, planowania czy szacowania kosztów. Wszystkie procesy są chaotyczne i nieprzewidywalne co wynika z bezustannych zmian zachodzących podczas projektu. Kierownictwo zdaje sobie sprawę tylko z faktu, że jakiś projekt jest realizowany. Charakterystyczną cechą dla CMM1 jest fakt, że sukces projektu w dużej mierze zależy od pracy superprogramisty (-ów), i dlatego nie jest on powtarzalny.
CMM-2
CMM-2 - Ten poziom charakteryzuje fakt, że organizacja wykorzystuje narzędzia do planowania oraz analizy kosztów. Procesy są planowane oraz przeprowadzane według przyjętej polityki organizacyjnej. Niezbędne jest śledzenie wymagań dotyczących projektu (zasoby, oczekiwania zleceniodawcy). Organizacja kontroluje i śledzi zmiany, tworzy miary jakości produktów i utrzymuje je na wysokim poziomie. Kierownictwo jest stale zaznajamiane z postępem prac realizowanego projektu. Prace są przeprowadzane na podstawie opracowanego i przyjętego przez organizację plan działań
CMM-3
CMM-3 - Organizacja osiągnęła cele z poziomu CMM-2. Procesy zarządzania projektem, jak i proces samej produkcji oprogramowania są zdefiniowane, opisane i sformalizowane. Każdy pracownik jest elementem dobrze funkcjonującego systemu wytwarzającego oprogramowanie. Organizacja powinna stworzyć dogłębnie sprecyzowaną politykę jakości oraz dopracować proces informowania kierownictwa o postępie prac wykonywanych w ramach danego projektu. Poziom ten jest znacząco bardziej zaawansowany i ustrukturalizowany w odniesieniu do poziomu CMM-2.
Konieczne jest wykształcenie przez firmę dokładnie sprecyzowanej polityki jakości i mechanizmów informowania zarządu o postępach.
CMM-4
CMM-4 - Organizacja opracowuje mechanizmy pomiarów wydajności procesów. Tworzone są wskaźniki, dokładnie określające poziom jakości produktów. Procesy są zarządzane w sposób ilościowy, śledzony jest ich przebieg, analizowane są źródła ich zmienności. Największą różnicą w odniesieniu do poziomu CMM-4 jest bardzo duża przewidywalność postępowania procesów w organizacji.
CMM-5
CMM-5 Biorąc pod uwagę pomiary wydajności procesów i jakości produktów produktu organizacja dokonuje kontrolowanych zmian w obecnych procesach, w celu polepszenia wskaźników. Osiągnięte zostały wszystkie cele z wcześniejszych poziomów. Poziom ten skupia się na ciągłym ulepszaniu procesów, poprzez wykorzystywanie nowoczesnej technologii oraz innowacyjnych rozwiązań.
CMM vs CMMI
Model CMM został opracowany w kilka wersjach, które zostały stworzone w latach dziewięćdziesiątych XX wieku. Następcą modelu CMM jest CMMI (Capability Maturity Model Integration), który w przeciwieństwie do swojego poprzednika jest modelem całościowym, który może zostać wdrożony w organizacjach o różnym profilu działalności.
Modele dojrzałości w ramach CMMI (CMMI-DEV, CMMI-ACQ, CMMI-SVC)
CMMI-DEV, CMMI-ACQ i CMMI-SVC to trzy różne modele dojrzałości zawarte w ramach modelu CMMI.
CMMI-DEV (Capability Maturity Model Integration for Development) skupia się na ocenie dojrzałości procesów związanych z rozwojem oprogramowania. Model ten obejmuje takie dziedziny jak zarządzanie wymaganiami, projektowanie, wytwarzanie i testowanie oprogramowania. CMMI-DEV pomaga organizacjom w doskonaleniu swoich procesów w zakresie tworzenia i utrzymywania oprogramowania.
CMMI-ACQ (Capability Maturity Model Integration for Acquisition) koncentruje się na ocenie dojrzałości procesów związanych z akwizycją produktów i usług. Model ten pomaga organizacjom w ocenie i doskonaleniu swoich procesów w zakresie zakupu i wdrażania produktów oraz usług.
CMMI-SVC (Capability Maturity Model Integration for Services) ocenia dojrzałość procesów związanych z dostarczaniem usług. Model ten obejmuje takie dziedziny jak zarządzanie dostawą usług, zarządzanie incydentami, zarządzanie problemami i zarządzanie konfiguracją. CMMI-SVC pomaga organizacjom w doskonaleniu swoich procesów w dziedzinie świadczenia usług.
Wszystkie te modele dojrzałości w ramach CMMI mają na celu wspomaganie organizacji w doskonaleniu swoich procesów i osiąganiu wyższego poziomu dojrzałości zarządzania.
Obszary uwzględniane w modelu CMMI
Procesy wytwórcze
Procesy wytwórcze stanowią jeden z głównych obszarów uwzględnianych w modelu CMMI. W ramach tego obszaru, organizacje oceniają i doskonalą swoje procesy produkcyjne w celu zapewnienia efektywnego i wysokiej jakości wytwarzania produktów lub usług. Zakres tego obszaru obejmuje zarówno etapy planowania, jak i realizacji procesów wytwórczych.
W ramach procesów wytwórczych, organizacje analizują swoje procesy, identyfikują słabe punkty i wprowadzają zmiany mające na celu poprawę efektywności i jakości. W tym celu, wykorzystuje się różne techniki i narzędzia, takie jak analiza procesów, benchmarking czy automatyzacja produkcji. Wprowadzenie tych praktyk pozwala organizacjom osiągnąć wyższy poziom dojrzałości w zakresie procesów wytwórczych.
Zarządzanie zasobami ludzkimi
Zarządzanie zasobami ludzkimi jest kolejnym kluczowym obszarem uwzględnianym w modelu CMMI. W ramach tego obszaru, organizacje skupiają się na doskonaleniu procesów związanych z rekrutacją, szkoleniem, oceną i rozwojem pracowników. Celem jest zapewnienie odpowiednich zasobów ludzkich o odpowiednich kompetencjach i umiejętnościach, które są niezbędne do osiągnięcia celów organizacji.
W ramach zarządzania zasobami ludzkimi, organizacje opracowują polityki i procedury dotyczące rekrutacji i selekcji pracowników, planowania i realizacji szkoleń oraz oceny i rozwoju pracowników. Wprowadzenie systematycznego podejścia do zarządzania zasobami ludzkimi pozwala organizacjom na lepsze dostosowanie się do zmian na rynku pracy, zwiększenie zaangażowania pracowników i osiągnięcie lepszych wyników biznesowych.
Zarządzanie konfiguracją
Zarządzanie konfiguracją jest kolejnym istotnym obszarem uwzględnianym w modelu CMMI. Jest to proces, w ramach którego organizacje kontrolują, zarządzają i śledzą zmiany w produktach lub usługach przez cały ich cykl życia. Celem zarządzania konfiguracją jest zapewnienie spójności i integralności produktów lub usług, a także umożliwienie śledzenia i kontrolowania zmian.
W ramach zarządzania konfiguracją, organizacje opracowują polityki i procedury dotyczące identyfikacji, kontrolowania i wersjonowania elementów konfiguracji. Wykorzystuje się różne narzędzia, takie jak repozytoria kodu źródłowego, systemy kontroli wersji czy automatyczne testowanie, aby zapewnić skuteczne zarządzanie konfiguracją. Dzięki temu, organizacje są w stanie szybko reagować na zmiany, minimalizować ryzyko błędów i dostarczać produkty lub usługi o wysokiej jakości.
Zarządzanie ryzykiem
Zarządzanie ryzykiem jest ostatnim obszarem uwzględnianym w modelu CMMI. W ramach tego obszaru, organizacje identyfikują, analizują i zarządzają ryzykiem związanym z realizacją projektów, procesów lub działań biznesowych. Celem zarządzania ryzykiem jest minimalizowanie negatywnych skutków ryzyka i zwiększanie szans na osiągnięcie sukcesu.
W ramach zarządzania ryzykiem, organizacje opracowują strategie zarządzania ryzykiem, identyfikują i oceniają ryzyka, a następnie podejmują odpowiednie działania zaradcze. Wykorzystuje się różne metody i techniki, takie jak analiza SWOT, analiza prawdopodobieństwa i wpływu czy planowanie kontyngencji. Skuteczne zarządzanie ryzykiem pozwala organizacjom na lepsze planowanie i podejmowanie decyzji, minimalizowanie strat i osiąganie lepszych wyników.
Wdrożenie modelu CMMI
Ocena dojrzałości organizacji
Wdrożenie modelu CMMI rozpoczyna się od przeprowadzenia oceny dojrzałości organizacji. Ocena ta ma na celu określenie, na której poziomie dojrzałości znajduje się organizacja w zakresie zarządzania procesami i wytwarzania oprogramowania. Przeprowadzenie tej oceny pozwala zidentyfikować obszary, w których organizacja musi się poprawić, aby osiągnąć wyższy poziom dojrzałości.
Ocena dojrzałości organizacji może być przeprowadzona za pomocą różnych narzędzi i technik, takich jak audyt procesów, wywiady z pracownikami, analiza dokumentacji czy obserwacje pracy zespołów. Na podstawie wyników oceny organizacja może określić swoje mocne strony, słabości i obszary wymagające poprawy.
Przygotowanie personelu i dostosowanie procesów organizacyjnych
Po przeprowadzeniu oceny dojrzałości organizacji konieczne jest przygotowanie personelu i dostosowanie procesów organizacyjnych do wymagań modelu CMMI. Przygotowanie personelu obejmuje szkolenia i rozwój umiejętności niezbędnych do skutecznego wdrażania modelu. Pracownicy powinni być świadomi celów i wymagań modelu oraz umieć dostosować swoje działania do nowych standardów.
Dostosowanie procesów organizacyjnych polega na analizie i zmianie istniejących procesów tak, aby były zgodne z wymaganiami modelu CMMI. Może to obejmować wprowadzenie nowych procedur, standardów i narzędzi, a także przedefiniowanie ról i odpowiedzialności w zespole. Ważne jest, aby procesy były jasne, zrozumiałe i spójne z celami organizacji.
Zaangażowanie organizacji i współpraca między działami
Wdrożenie modelu CMMI wymaga zaangażowania całej organizacji oraz współpracy między różnymi działami i zespołami. Każdy pracownik powinien być świadomy i zaangażowany w proces wdrażania modelu, aby osiągnąć sukces. Współpraca między działami jest kluczowa, ponieważ różne działy organizacji muszą ze sobą współpracować, aby osiągnąć wspólne cele.
Współpraca między działami może być realizowana poprzez regularne spotkania, wymianę informacji i doświadczeń, a także dzielenie się najlepszymi praktykami. Ważne jest, aby wszyscy pracownicy czuli się zaangażowani i mieli możliwość wniesienia swojego wkładu w proces wdrażania modelu CMMI.
Wpływ modelu CMMI na jakość oprogramowania, czas wytwarzania i satysfakcję klientów
Wdrożenie modelu CMMI ma bezpośredni wpływ na jakość oprogramowania, czas wytwarzania i satysfakcję klientów. Model CMMI stawia duży nacisk na zarządzanie procesami i ciągłe doskonalenie, co przekłada się na poprawę jakości oprogramowania.
Poprawa jakości oprogramowania wynika z lepszego zarządzania procesami, eliminacji błędów i wprowadzenia standardów i procedur. Dzięki temu organizacja może produkować oprogramowanie o wyższej jakości, co z kolei przekłada się na zwiększenie satysfakcji klientów.
Wdrożenie modelu CMMI może również pomóc w skróceniu czasu wytwarzania oprogramowania. Poprawa procesów, zwiększenie efektywności i eliminacja zbędnych czynności mogą przyspieszyć cały proces wytwarzania. Skrócenie czasu wytwarzania oprogramowania pozwala organizacji na szybsze dostarczanie produktów klientom, co zwiększa konkurencyjność i zadowolenie klientów.
Korzyści i wyzwania związane z wdrożeniem modelu CMMI
Korzyści związane z poprawą jakości, efektywności i konkurencyjności organizacji
Wdrożenie modelu CMMI (Capability Maturity Model Integration) w organizacji może przynieść wiele korzyści związanych z poprawą jakości, efektywności i konkurencyjności. Przede wszystkim, model CMMI dostarcza struktury i wytycznych, które umożliwiają organizacji ocenienie i poprawę swojego poziomu dojrzałości w obszarze zarządzania projektami i procesami.
Jedną z głównych korzyści jest poprawa jakości. Model CMMI promuje wdrożenie procesów, które są dobrze zdefiniowane, zarządzane i doskonalone. Dzięki temu organizacja może uniknąć błędów i defektów, co prowadzi do zwiększenia jakości produktów lub usług. Poprawa jakości przekłada się na zadowolenie klientów, zwiększenie ich zaufania oraz poprawę reputacji organizacji na rynku.
Kolejną korzyścią jest zwiększenie efektywności. Wdrożenie modelu CMMI pozwala organizacji na identyfikację i eliminację zbędnych lub nieefektywnych działań. Dzięki temu zasoby, takie jak czas, pieniądze i ludzie, są wykorzystywane w sposób optymalny. Efektywność organizacji wzrasta, co prowadzi do osiągania lepszych wyników biznesowych.
Wreszcie, wdrożenie modelu CMMI może przyczynić się do zwiększenia konkurencyjności organizacji. Poprawa jakości, efektywności i doskonalenie procesów dają organizacji przewagę nad konkurentami. Klienci coraz bardziej preferują współpracę z organizacjami, które są dobrze zorganizowane, mają wysoki poziom dojrzałości w zarządzaniu projektami i procesami oraz dostarczają wysokiej jakości produkty lub usługi.
Wyzwania związane z inwestycjami finansowymi i zmianą kultury organizacyjnej
Wdrożenie modelu CMMI wiąże się również z pewnymi wyzwaniami. Jednym z najważniejszych wyzwań są inwestycje finansowe związane z wdrożeniem modelu. Organizacja musi zainwestować w szkolenia personelu, zakup narzędzi i technologii oraz przeprowadzenie audytów zewnętrznych. Te koszty początkowe mogą być znaczne, zwłaszcza dla małych i średnich przedsiębiorstw. Jednak warto zauważyć, że korzyści wynikające z wdrożenia modelu CMMI często przewyższają te koszty inwestycji.
Kolejnym wyzwaniem jest zmiana kultury organizacyjnej. Wdrożenie modelu CMMI wymaga często zmiany sposobu myślenia i działania w organizacji. Pracownicy muszą zaakceptować nowe procesy, procedury i metody pracy. To może być trudne, zwłaszcza jeśli organizacja była dotychczas oparta na nieformalnych procesach lub ma silną kulturę opartą na rutynie i oporze przed zmianami. Wdrożenie modelu CMMI wymaga zaangażowania zarządu, komunikacji i edukacji pracowników oraz stworzenia atmosfery zaufania i współpracy.
Wykorzystanie modelu CMMI jako podstawy dla audytów wewnętrznych i zewnętrznych
Model CMMI może być wykorzystany jako podstawa do przeprowadzania audytów zarówno wewnętrznych, jak i zewnętrznych. Audyty wewnętrzne pomagają organizacji w ocenie i doskonaleniu swoich procesów zgodnie z wytycznymi modelu. Dzięki audytom wewnętrznym organizacja może monitorować postępy w wdrożeniu modelu CMMI i identyfikować obszary do udoskonalenia.
Audyty zewnętrzne, przeprowadzane przez niezależne firmy lub organizacje certyfikujące, potwierdzają, że organizacja spełnia określone wymagania modelu CMMI. Posiadanie certyfikatu CMMI może być ważnym atutem dla organizacji, zwłaszcza jeśli chce konkurować na rynku, gdzie klienci coraz bardziej doceniają wysoki poziom dojrzałości i jakości zarządzania projektami i procesami.
Model CMM — artykuły polecane |
Six sigma — Analiza procesów — Modelowanie procesów — Earned Value — Metoda WCM — ABC — Komputerowo zintegrowane wytwarzanie — Lean Software Development — Systemy Closed Loop MRP |
Bibliografia
- Chrapko M. (2010), CMMI Doskonalenie procesów organizacji, Wydawnictwo Naukowe PWN, Warszawa
- Glinka B., Kostera M. (2016), Nowe kierunki w organizacji i zarządzaniu. Organizacje, konteksty, procesy zarządzania, Wolters Kluwer, Warszawa
- Royce W. (2002), CMM vs. CMMI: From conventional to modern software management, The Rational Edge, 2-9
- Sarshar M. (1999), SPICE: Is a capability maturity model applicable in the construction industry, International Conference on Durability of Building Materials and Components. Vol. 30
- Woźniak K. (2005), System informacji menedżerskiej jako instrument zarządzania strategicznego w firmie, praca doktorska, Akademia Ekonomiczna w Krakowie, Kraków
Autor: Krzysztof Woźniak, Wojciech Byrski