WYMAGANIA POMIAROWE

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.

[ISO9001]

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