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