W MODELACH OCENY PROCESU
PROGRAMOWEGO
Andrzej Kobyliński
Wprowadzenie
Kluczowym elementem każdego procesu produkcyjnego są pomiary.
Ale w odróżnieniu od innych dyscyplin inżynierskich, wytwarzanie opro-
gramowania dotychczas nie opiera się na ścisłych prawach teorii pomia-
rów. Rygorystyczne pomiary, do których przyzwyczaiła nas np. fizyka,
takie jak na przykład pomiary odległości, masy, temperatury, nie są jesz-
cze powszechne w przypadku produkcji oprogramowania.
Z literatury znanych są setki różnych miar oprogramowania (patrz np.
[Zuse91], [FePf97], [Kan06]). Tymczasem praktycznie jedynym pyta-
niem dotyczącym pomiarów oprogramowania, jakie nasuwa się przecięt-
nemu użytkownikowi oprogramowania jest: ile ono kosztuje? Nieco bar-
dziej dociekliwi zapytają jeszcze: jaka jest jego długość (wielkość)?
Tradycyjnie, mówiąc o pomiarach oprogramowania, rozróżnia się dwa
podstawowe aspekty: pomiar procesu wytwórczego (z dalszym podziałem
na pomiar procesu i przedsięwzięcia) i pomiar produktu informatycznego:
• procesu programowego, czyli ogółu czynności realizowanych w orga-
nizacji wytwórczej, związanych z wytwarzaniem oprogramowania
(miary procesu),
• konkretnego przedsięwzięcia informatycznego, w celu lepszej esty-
macji czasu i kosztu, kontroli jakości realizowanych zadań, oceny
produktywności i, ogólnie, poddanie przedsięwzięcia kontroli (miary
przedsięwzięcia),
• produktu programowego – zarówno oceny jego jakości, jak również
innych, niejakościowych cech produktu (miary produktu).
Dla organizacji wytwarzającej oprogramowanie znaczenie strategiczne
ma ocena (pomiar) procesu programowego. Jego zastosowanie pozwala
wejrzeć w głąb procesu programowego realizowanego w organizacji. Po-
zwala to kierownictwu ocenić, które procesy w firmie realizowane są po-
prawnie, a które wymagają doskonalenia. Również organizacje poszuku-
jące dostawcy oprogramowania są beneficjentami przeprowadzonej oceny
procesu programowego – ułatwia ona wybór najlepszego kontrahenta:
firmy zajmujące się wytwórstwem oprogramowania starają się uzyskać
maksymalnie wysoką ocenę i w ten sposób przekonać potencjalnego od-
biorcę o tym, że są w stanie dostarczyć zamówione oprogramowanie na
czas, w ramach budżetu, o dobrej jakości.
W ostatnim ćwierćwieczu powstało kilka metod, które zyskały szerszą
popularność jako narzędzie służące do oceny procesu programowego:
Capability Maturity Model (CMM) (w kilku wariantach), ISO/IEC 15504,
Trillium, kryteria nagród jakości, również normy serii 9000 mogą być
użyte do tego celu. Ocena taka może być dokonywana na poziomie całej
organizacji (Software-CMM, CMM Integration - Staged Representation,
Trillium) lub poszczególnych procesów szczegółowych realizowanych w
firmach i obszarów działania (CMMI – Continuos Representation,
ISO/IEC 15504 (SPICE), kryteria nagród jakości).
Ocena procesu programowego zwykle stanowi wstępny etap działania
firmy wytwarzającej oprogramowanie – kolejnym naturalnym krokiem
jest przystąpienie do doskonalenia procesu programowego. Ale doskona-
lenie procesów programowych i ocena podjętych działań naprawczych nie
powinny opierać się wyłącznie na intuicji. Organizacja próbująca kontro-
lować i ulepszać realizowane praktyki powinna starać się je zmierzyć.
Konieczność dokonywania pomiarów, i to zarówno procesów programo-
wych, jak i produktów będących ich rezultatem, jest coraz powszechniej
uświadamiana, a niektóre wymienione modele wprost wymagają wdroże-
nia programu pomiarowego.
Celem niniejszego artykułu jest porównanie różnych znanych modeli
służących do oceny i doskonalenia procesu programowego pod kątem
wykorzystywania przez nie procesów pomiarowych. Modele, w których
kładzie się nacisk na stosowanie pomiarów można uznać za bardziej wia-
rygodne, gdyż odchodzą od opierania się na intuicji na rzecz wymiernych,
ilościowo stwierdzanych faktów.
W dalszej części pracy dla wszystkich wcześniej wymienionych mode-
li oceny i doskonalenia procesów programowych omówiony zostanie ich
stosunek od pomiarów.
ISO 9001
Seria standardów ISO 9000 stanowi najszerzej rozpowszechniony na
świecie standard dotyczący zarządzania jakością i opiera się na przekona-
niu, że jeśli systemy wytwórczy i zarządzania są właściwe, to wyprodu-
kowany produkt lub zrealizowana usługa również powinny być dobre
jakościowo. Standard ISO 9001 [ISO9001], stanowiący podstawę całego
zestawu, jest napisany w sposób bardzo ogólny i nie dotyczy żadnej kon-
kretnej dziedziny działalności. Intencją standardu ISO 9001 nie jest, by
wszystkie systemy zarządzania jakością były identyczne. Producento-
wi/wykonawcy zostawia się swobodę podjęcia decyzji, jak efektywnie
zastosować ogólne zalecenia normy.
Norma ISO 9001 zakłada podejmowanie decyzji na podstawie analizy
faktów. Aby było to wykonalne, procesy i produkty muszą podlegać po-
miarom. Ich wyniki muszą być dokładne i wiarygodne, powinny być
gromadzone, a następnie analizowane przy zastosowaniu sprawdzonych
metod. Główne wymagania dotyczące pomiarów zawarte zostały w 8 roz-
dziale normy (Pomiary, analiza i doskonalenie), chociaż również 4 i 7
rozdział normy zawiera pewne zalecenia dotyczące tego zagadnienia.
Poprzez pomiary procesów i analizę uzyskanych wyników można w ilo-
ściowy sposób dokonać oceny procesu, porównać go z wzorcem, ewentu-
alnie zarządzić akcję naprawczą. Organizacja musi wdrożyć procedury
pomiaru, analizy i doskonalenia procesów celem zapewnienia, że produkt
będzie zgodny ze stwierdzonymi wymaganiami klienta. Jednym z mierni-
ków funkcjonowania systemu zarządzania jakością (SZJ) jest monitoro-
wanie satysfakcji klienta. Monitorowaniu podlegają zarówno wytwarzane
produkty, jak i procesy, dzięki którym wyroby te powstają. Organizacja
musi nie tylko zbierać odpowiednie dane w celu wykazania skuteczności
SZJ i możliwości jego doskonalenia, ale muszą być one również analizo-
wane. Dotyczy to danych o zadowoleniu klientów, zgodności wyrobów z
wymaganiami, jakości realizowanych procesów, jak również danych o
klientach.
CMM
Capability Maturity Model (CMM) zaprojektowany został w taki spo-
sób, by nabywca oprogramowania (pierwotnie wyłącznie Departament
Obrony USA) mógł przy jego pomocy ocenić potencjał (dojrzałość) do-
stawcy oprogramowania. Najpopularniejsza wersja modelu, znana pod
nazwą SW-CMM ( SoftWare CMM) definiuje 5 poziomów dojrzałości
organizacji [PCCW93]. Dla każdego poziomu określony został zestaw
tzw. kluczowych obszarów procesu. Aby organizacja mogła być zakwali-
fikowana na określonym poziomie, musi realizować wszystkie procesy
przypisane temu poziomowi i poziomom niższym. Model SW-CMM jest
stopniowo zastępowany zintegrowanym CMM ( CMM Integrated – CM-
MI). CMMI dostępny jest w 2 wersjach: etapowej CMMI-SR ( CMMI-
Staged Representation) [CMMI-SR] (bardzo zbliżonej do SW-CMM) i
ciągłej CMMI-CR ( CMMI-Continuous Representation) [CMMI-CR], w
której każdy z wyróżnionych 25 obszarów procesu oceniany autono-
micznie w skali od 0 do 5.
Model SW-CMM wymaga wdrożenia skutecznego programu pomia-
rowego dopiero od firmy pretendującej do zakwalifikowania się na po-
ziom 4. Wymaga się wtedy, by wszystkie zachodzące w organizacji pro-
cesy były na bieżąco monitorowane i przebiegały w ściśle określonym
przedziale wartości. Oczywiście wymaga to wcześniejszego ustalenia
mierzalnych celów, i to tak dla produktów, jak i dla procesów. Pomiarom
podlega zarówno jakość wytwarzanych produktów, jak i np. wydajność
pracowników. Zebrane wyniki pomiarów zbierane są w bazie i służą póź-
niej do przeprowadzania analiz. Bardzo podobnie jest w modelu CMMI-
SR, ale dołączony został dodatkowy proces „Pomiary i analiza – MA”,
który uznany został za bardzo istotny, gdyż umiejscowiony został już na
poziomie 2. Wymusza on dokonywanie czynności pomiarowych i analizy
wyników. Jest on jednym z 25 obszarów procesowych i jako taki podlega
ocenie w modelu CMM-CR.
Trillium
Schemat oceny sposobu wytwarzania produktów i dojrzałości organi-
zacji Trillium, analogicznie do SW-CMM, też wyróżnia 5 poziomów doj-
rzałości organizacji. Z drugiej strony model wyróżnia 508 praktyk. Prak-
tyki są pogrupowane w 27 przewodników. Praktyki należące do każdego
przewodnika rozdystrybuowane są na różne poziomy dojrzałości. Naj-
ważniejsze praktyki przydzielone są do poziomu 2, trochę bardziej za-
awansowane do poziomu 3 itd. Organizacja, która pretenduje do określo-
nego poziomu dojrzałości musi równolegle doskonalić wszystkie 27
przewodników. Kiedy praktyki wymagane dla poziomu 2 zrealizuje w co
najmniej 90%, może być uważana za organizację na 2 poziomie dojrzało-
ści [BeCa94].
W modelu Trillium jeden z 27 przewodników (przewodnik 3.4) doty-
czy pomiarów. W skład tego przewodnika wchodzą ogółem 32 praktyki.
Do poziomu 2. przypisanych jest 11 praktyk pomiarowych; do poziomu
3. – 16 praktyk; do poziomu 4. – 4 praktyki; do poziomu 5. – 1 praktyka.
Pomiarom podlegają nie tylko realizowany produkt, ale również zadowo-
lenie klientów, przedsięwzięcie, procesy wytwórcze i zarządcze itp. Po-
szczególne praktyki rozłożone są logicznie na poszczególnych pozio-
mach, tak więc po zrealizowaniu najprostszych praktyk pomiarowych na
poziomie 2., na wyższych poziomach wymaga się dokonywania systema-
tycznej analizy danych pomiarowych, włącznie ze statystyczną kontrolą
procesu wytwórczego.
ISO/IEC 15504
Powstały pod auspicjami ISO model oceny i doskonalenia procesów
programowych, znany uprzednio jako SPICE, specyfikuje 24 procesy
szczegółowe, a każdy z nich pozwala zakwalifikować na jeden z 6 po-
ziomów. Charakterystyczne jest to, że (podobnie jak CMMI-CR) nie kla-
syfikuje całej poddawanej ocenie organizacji, lecz odrębnie wszystkie
procesy szczegółowe [ISO15504].
W modelu ISO/IEC 15504 proces pomiarowy (ORG.5) wyróżniony
został jako jeden z tych 24 procesów szczegółowych. Istnienie tego pro-
cesu jest o tyle oczywiste, że trudno byłoby ocenić pozostałe 23 procesy,
nie dysponując formalną metodyką przeprowadzania pomiarów, którą
opisuje proces ORG.5.
Nagrody jakości
Celem przyznawanych w poszczególnych krajach nagród jakości jest
promowanie kompleksowego zarządzania jakością (ang. Total Quality
Management – TQM). Organizacja, która wykaże, że stosowane przez nią
metody istotnie wpłynęły na zaspokojenie oczekiwań klientów, zatrud-
nionych i innych osób zainteresowanych jej wynikami, może uzyskać
taką nagrodę. Organizacje przyznające nagrody publikują kryteria, które
będą podlegały ocenie. Oceniana firma maksymalnie może zdobyć 1000
punktów. Firma poddając się obiektywnej ocenie, wiedząc ile punktów
zdobyła w poszczególnych kategoriach, porównując się z innymi firmami
startującymi w konkursie, poznaje swoją pozycję w rankingu, a uwidocz-
nione braki wskazują na obszary wymagające doskonalenia.
Na świecie znanych jest ok. 60 krajowych nagród jakości. Prawie
wszystkie obszary (filary) wyróżniane w kryteriach nagród jakości oce-
niane są za pomocą miar ilościowych. Kryteria większości z nagród nie
zakładają bezpośredniego przyznawania punktów za stosowanie pomia-
rów, ale oceniana organizacja musi wykazać, że do oceny zadowolenia
klientów, satysfakcji osób zatrudnionych, oddziaływania na otoczenie,
osiąganego wzrostu itp. stosowany jest odpowiedni zestaw miar. Tak
więc trudno sobie wyobrazić, żeby oceniana organizacja nie miała wdro-
żonego procesu programowego. Wyjątkiem jest przyznawana w Stanach
Zjednoczonych Narodowa Nagrody Jakości Malcolma Baldrige’a (ang.
Malcolm Baldrige National Quality Award – MBNQA) [NIST08]. W
przypadku tej nagrody bezpośrednio 4,5% maksymalnej liczby punktów
można zdobyć, gdy jest się w stanie udowodnić, że wartości miar są na
bieżąco zbierane, przechowywane, integrowane, a następnie analizowane.
Zakończenie
Wszystkie omówione w pracy modele oceny procesu programowego
wymagają wprowadzenia procesu pomiarowego. Wydaje się, że szcze-
gólnie obiecująco zostało to zaproponowane w modelu Trillium: po-
szczególne zalecane praktyki rozłożone są równomiernie na wszystkie
poziomy osiąganej przez firmę doskonałości, co pozwala na ewolucyjne
doskonalenie procesu pomiarowego. Niestety, model ten z innych powo-
dów nie znalazł szerszego zastosowania i jego popularność jest znikoma.
Trudno wyobrazić sobie zarządzanie w firmie wytwarzającej oprogra-
mowanie, w której nie został wdrożony proces pomiarowy. Ale z drugiej
strony nie można dopuścić do tego, by pomiary dokonywane były w spo-
sób przypadkowy. Stratą czasu, pieniędzy i zaufania pracowników może
skończyć się pomiar wszystkich możliwych cech procesu, produktu itp.
Dlatego na wstępie warto zastanowić się, co powinno podlegać pomia-
rom, by było to uzasadnione ekonomicznie i z korzyścią dla firmy. Na-
stępnie, mając zebrane dane, należy je trafnie zinterpretować (co nie zaw-
sze jest oczywiste), a wnioski zastosować w praktyce. Program pomiaro-
wy, który nie przysporzy firmie korzyści niechybnie zostanie zaniechany.
A jeśli nawet będzie kontynuowany, to pracownicy zbierający niepo-
trzebne dane będą zniechęceni, co przyczyni się do obniżenia ich morale.
Literatura
[BeCa94]
Bell
Canada:
The
Trillium
Model,
1994,
http://www2.umassd.edu/swpi/BellCanada/trillium.pdf.
[CMMI-CR] CMMI Product Team, Capability Maturity Model Integra-
tion (CMMI), Version 1.1. Continuous Representation.
CMU/SEI-2002-TR-011, http://www.sei.cmu.edu/pub/
documents/02.reports/pdf/02tr011.pdf.
[CMMI-SR] CMMI Product Team, Capability Maturity Model Integra-
tion (CMMI), Version 1.1. Staged Representation.
CMU/SEI-2002-TR-012,
http://www.sei.cmu.edu/pub
/documents/02.reports/pdf/02tr012.pdf.
[FePf97]
Fenton N. E., Pfleeger S. L.: Software Metrics. A Rigorous
and Practical Approach (2nd ed.), PWS, Boston 1997.
PN-EN ISO 9001:2001 Systemy zarządzania jakością.
Wymagania, Polski Komitet Normalizacyjny, Warszawa
2001 (tłumaczenie normy ISO 9001:2000).
[ISO15504] ISO/IEC TR 15504:1998(E) Information Technology –
Software Process Assessment – Part 1–9.
[Kan06]
Kan S. H., Metryki i modele w inżynierii jakości oprogra-
mowania (2nd ed.), WN PWN 2006.
[NIST08]
National Institute of Standards and Technology: 2008 Bal-
drige National Quality Program – Criteria for Performance
Excellence,
http://www.quality.nist.gov/PDF_files/
2008_Business_Nonprofit_Criteria.pdf
[PCCW93]
Paulk M.C., Curtis B., Chrissis M.B., Weber C.V.: The
Capability Maturity Model for Software, Version 1.1,
Software Engineering Institute, Carnegie Mellon Univer-
sity, Pittsburgh, CMU/SEI-93-TR-24, 1993.
[Zuse91]
Zuse H.: Software Complexity: Measures and Methods, De
Gruyter, Berlin 1991.
Informacje o autorze
dr hab. Andrzej Kobyliński, prof. SGH
Katedra Informatyki Gospodarczej
Szkoła Główna Handlowa
Al. Niepodległości 164
02-554 Warszawa – Polska
Numer telefonu +48/22/564-9-428
e-mail: Andrzej.Kobylinski@sgh.waw.pl