Modely a štandardy pre zlepšovanie procesov v malých softvérových firmách Models and standatds for process improvement in small software copanies Peter bober
Rastúcu dôležitosť softvéru a jeho kvality v období nástupu informačnej spoločnosti nie je potrebné zvlášť zdôrazňovať. Odzrkadľuje sa v rozširovaní oblastí, do ktorých softvér preniká a v náraste objemu obchodu s informačnými a komunikačnými technológiami (Frühauf, 2000). Otvárajúci sa trhový segment využívajú mnohé mladé firmy a vývoj v tejto oblasti je veľmi dynamický. Hlavne pre meniace sa ekonomiky je charakteristická rýchla, často chaotická zmena vo vnútornom aj vonkajšom prostredí firiem (Zgodavová, K., Slimák, I., 1999).Rýchle zmeny a rastúca konkurencia núti každú firmu aby sa zaoberala faktormi, ktoré znižujú jej náklady a zvyšujú kvalitu výsledného produktu. To jej umožní zotrvať v konkurenčnom prostredí. So zmenami vo vonkajšom prostredí sa firma vyrovnáva prostredníctvom vnútorných zmien. Len veľké firmy sú schopné pretvárať svoje o kolie. Malé firmy sa prispôsobujú.Každá zmena vyžaduje určité množstvo energie a naráža na odpor osôb, ktorých sa týka a ktorí sú jedným z limitujúcich faktorov pri zlepšovaní. Smutne známa skutočnosť je, že úspech alebo neúspech zavádzania akéhokoľvek nového systému závisí na tom, či je akceptovaný ľuďmi. Nezáleží na tom, či je to nová technológia alebo organizácia práce. Jeden z príkladov na podporu predchádzajúceho tvrdenia sú skúsenosti zo spoločnosti Ericson Hungary, publikované v (Szoboszlay, 2000). Z meny vonkajšieho prostredia sú nielen rýchle ale aj trvalé. Reakciou na neustále zmeny vonkajšieho prostredia je filozofia trvalého zlepšovania, ktorá sa stáva súčasťou firemných filozofií a noriem pre budovanie štruktúry firmy a zabezpečenie kvality.Pre dovšetkým v malých a stredných firmách, ktoré sú mladé, sa objavuje nedostatočne vybudovaná organizačná štruktúra a časové rezervy pre analýzu vnútorného chodu firmy a budovanie systému kvality. Veľa malých firiem je riadených majiteľom jeho vlastným štýlom (Asher, 1992) pričom celý systém práce je založený na existujúcich vedomostiach a schopnostiach malého počtu pracovníkov. Práca v malej firme kladie na jednotlivcov úlohy z pomerne širokého spektra. Od strategického rozhodovania, manažérskych zručností pri riadení firmy, cez ekonomiku a účtovníctvo až po čisto odborné a technické otázky. Ťažko sa dá očakávať znalosti jednotlivca zo všetkých spomenutých oblastí. Preto v malých firmách nie sú niektoré skupiny činností vykonávané dostatočne efektívne ale prístupom ad hoc.Stručne zhrňme dôležité body charakterizujúce malé firmy: Neochota k zme ne je príčinou toho, že mnohé firmy prešľapujú na mieste, očakávajúc zmenu zvonku. Tá skôr či neskôr príde. Nie je však isté, či to bude rozvoj alebo krach. Hoci motivácia, vnútorné presvedčenie a ochota k zmene sú nevyhnutnou podmienkou úspechu, nebudeme sa nimi v tomto článku zaoberať.Nie každá zmena vedie k zlepšeniu a je mylné sa domnievať, že nová organizácia práce, technológia alebo systém riadenia kvality samé o sebe posunú firmu žiadaným smerom. Najskôr je potrebné ujasniť si svoju situáciu, zistiť silné a slabé stránky a vytypovať oblasti zmien. Firma má určité obmedzenia, ktoré jej doteraz nedovoľujú zvýšiť kvalitu alebo skrátiť termín. Jeden zo zaujímavých postupov identifikácie obmedzenia je aplikácia teórie obmedzení (Theory of Constrains) spr acovaná v slovenčine v (Halušková, Kollár, 1999). Poskytuje nástroje na odhalenie skutočných príčin brániacich ďalšiemu rozvoju a postupy pre prechod z aktuálneho stavu do želaného.Jednou z oblastí tvoriacich obmedzenie môže byť už spomínaná nízka kvalita výsledného softvérového produktu alebo nedodržanie termínov a nákladov na vývoj. V tomto prípade je možné pristúpiť k analýze samotného procesu tvorby softvéru, ktorý určuje efektívnosť vývoja (termíny, náklady) a kvalitu vzniknutého produktu. Činnosť pri vývoji softvéru je v každej firme viac alebo menej organizovaná. Hlavne malé firmy majú tendenciu robiť činnosti tak, ako prídu, postupne sa učiac na vlastných chybách. Väčšie firmy majú zavedené systémy, ktoré riadia činnosti prostredníctvom smerníc (napr. systém riadenia kvality podľa ISO 9000). V každom prípade sa činnosti dajú popísať prostredníctvom procesov alebo inak povedané vytvoriť model (Drabic, 2000). Proces má určené svoje vstupy, výstupy, vykonávané činnost i, podmienky vykonávania a zdroje.Pohľad na firmu z hľadiska procesov, ktoré v nej prebiehajú, prináša možnosť uvedomiť si jednotlivé činnosti, ich náväznosti a konkrétnu zodpovednosť jednotlivcov alebo tímov. Takto sa činnosti stávajú prehľadnejšie, dajú sa vysledovať zbytočné činnosti alebo naopak chýbajúce činnosti a prepojenia, ktoré sa suplujú podľa momentálnej situácie. Tak isto je možné využiť existujúci model ako vzor pre budovanie firmy. CMM (Capability Maturity Model) je model pre hodnotenie úrovne softvérovej firmy na základe hodnotenia procesov (Paul a kol., 1993; CMMISM -SE/SW, 1999). Bol vytvorený na Inštitúte softvérového inžinierstva (SEI, Software Engineering Institute), ktorý založilo ministerstvo obrany na Univerzite Carnegiho Mellona v Pitsburgu na základe štúdia praktík úspešných firiem. Ďalšie rozšírenie CMM je CMMI (Capability Maturity Model – Integration), ktorý poskytuje návod pre zlepšovanie procesov a integráciu CMM s ostatnými systémami, ktoré vo firme existujú.Model delí firmy do jednotlivých úrovní vyspelosti podľa spôsobilosti procesov plniť svoje funkcie. Jedným zo základných kritérií spôsobilosti je schopnosť procesu dodať svoje výstupy v predpokladanom termíne. U procesov s nízkou úrovňou spôsobilosti nie je možné s dostatočnou presnosťou odhadnúť termín ukončenia a s ním spojené náklady. Často sa termín a náklady prekročia. Procesy s vysokou úrovňou spôsobilosti sú ukončené len s malým rozptylom okolo predpokladaného termínu (obr. 1). Model definuje päť úrovní vyspelosti softvérových firiem na základe spôsobilosti procesov. Jednotlivé úrovne sa vyznačujú nasledovnými vlastnosťami (obr. 2): Úroveň vyspelosti 1: Vykonávané procesy Procesy na tejto úrovni vyspelosti sa často vykonávajú náhodne, nesystematicky až chaoticky. Keďže plánovanie, sledovanie a riadenie procesov začína až od úrovne 2, efektivita takéhoto systému práce je premenlivá a nestabilná a nemusí vždy zaručiť špecifikované požiadavky, kvalitu, termín a rozpočet. Úroveň vyspelosti 2: Riadené procesy Procesy tejto úrovne vyspelosti sú plánované, sledované a riadené pre individuálne projekty. Sledujú dokumentovaný p lán, majú odpovedajúce zdroje, sú určené zodpovednosti a právomoci počas vývoja, zodpovedajúci ľudia sú školení a existuje monitorovanie procesov s nadväznými opatreniami na odstránenie vznikajúcich nedostatkov. Stav prác je v každom čase známy pre vedenie firmy. Dodržiavanie týchto praktík má za následok menšie výkyvy v kvalite procesov a tým aj kvalite výsledného produktu.Úroveň vyspelosti 3: Definované procesy Definovaný proces je riadený proces, ktorý je prispôsobený zo sady štandardných procesov, používaných organizáciou. Definovaný proces jasne určuje vstupy, kritérium pre začatie, aktivity, úlohy, spôsob merania, kroky verifikácie, výstupy a kritérium na ukončenie. Štandardné procesy v organizácii sú postupne budované a časom overované. Úroveň vyspel osti 4: Kvantitatívne riadené procesyNa tejto úrovni sú definované procesy kvantitatívne riadené na základe štatistických alebo iných kvantitatívnych metód. Kvalita produktu, služby a výkonnosť procesov je sledovaná štatisticky a riadená počas celého životného cyklu. Za účelom riadenia sú postavené kvantitatívne ohodnotené ciele, je určený spôsob merania výkonnosti procesov, kvality produktov a služieb. Úroveň vyspelosti 5: Optimalizované procesy Procesy na úrovni vyspelosti 5 sú optimalizované. Optimalizo vaný proces je kvantitatívne riadený proces, ktorý je neustále zlepšovaný na základe znalosti podstatných príčin, spôsobujúcich odchýlky v procese. Zlepšovanie sa vykonáva po krokoch alebo skokom s ohľadom na celkové ciele firmy. Technológie a spôsoby zlepšovania sú rozmiestnené systematicky v celej organizácii a úroveň zlepšenia je merateľná a porovnávaná s kvantitatívnym cieľom.Pre každú úroveň vyspelosti (okrem úrovne 1) sú definované kľúčové oblasti procesov, pre ktoré sú stanovené cie le, dosahované všeobecnými funkciami. Funkcie sa realizujú prostredníctvom vhodných praktík (obr. 3).Obr. 3 – Štruktúra modelu CMMI (CMMISM-SE/SW, 1999) Okrem procesov patriacich do kľúčových oblastí sa vo firme môžu vyskytovať aj iné procesy. Pre lepšie pochopenie modelu uvedieme príklad jednej kľúčovej oblasti procesov, jej cieľov, funkcií a praktík (tabuľka 1). Tabuľka 1 – Príklad cieľov, všeobecných funkcií a praktík pre jednu kľúčovú oblasť procesov.
Zisťovanie úrovne vyspelosti firmy sa vykonáva prostredníctvom dotazníka. Na základe odpovedí sa zmapujú praktiky pre kľúčové oblasti procesov a vypracuje profil firmy. Dosiahnutie úrovne zrelosti je signalizované dosiahnutím cieľov, definovaných pre túto úroveň. Dotazník slúži ako východisko pre vytýčenie smeru zmien vo firme. Už samotné vyplnenia dotazníka odhalí slabé miesta a naznačí chýbajúce praktiky na základe konfrontácie otázok a odpovedí s vlastnými skúsenosťami. Malá firma môže využiť výhodu malého počtu pracovníkov a vyplniť dotazník na spoločnom stretnutí, ktoré trvá asi jeden a pol hodiny. Na ďalšom stretnutí je možné vytypovať prioritné oblasti zmien.Autori CMM dôrazne upozorňujú, že akékoľvek budovanie firemných procesov podľa určitého modelu sa musí robiť podľa “zdravého rozumu”, to znamená zmysluplne pre konkrétne podmienky a s pochopením modelu. Poučné sú aj pripomienky Pat O’Toole (2000), hlavného konzultanta firmy Process Assesment, Consulting & Training, ktorý upozorňuje, že konečným cieľom nie je dosiahnutie určitej úrovne zrelosti podľa modelu ale z lepšenie kvality, dodržanie nákladov a termínov. Na základe svojich skúseností s aplikovaním CMM odporúča vybrať si z trojice “rýchlejšie-lepšie-lacnejšie” len jednu voľbu. Voľba “lepšie” (s vyššou kvalitou ako konkurencia) je vhodná pre firmu určujúcu trend v danej oblasti. Voľbu “rýchlejšie” je vhodné najskôr nahradiť voľbou “v dopredu dohodnutom termíne”, čo platí hlavne pre malé firmy, kde je opakovateľnosť podobných projektov nízka a odhad času a nákladov nepresný. Ak firma je už schopná opakovane plniť odhadované termíny, potom sa môže zamerať na ich skrátenie.V predchádzajúcich odsekoch bol podrobnejšie popísaný CMMI. Okrem tohto modelu existuje celý rad ďalších modelov. Musíme spomenúť, že aj systém noriem pre zabezpečenie kvality ISO 9000 je tiež model, predpisujúci niektoré činnosti a postupy. Tak isto jeho preštudovaním je možné vytypovať chýbajúce procesy, významné pre danú firmu. Tak ako CMMI aj nasledujúce štandardy sa zaoberajú dvojstranným vzťahom medzi organizáciou a na dobúdateľom programového vybavenia. Nie sú aplikovateľná pre predaj hotových programových balíkov, ktoré zákazník kupuje tak, ako sú.Norma ISO 9000-3 (STN ISO 9000-3:1992) sa opiera o softvérové inžinierstvo ako o súbor metód, nástrojov a postupov, ktoré vedú k tvorbe kvalitného softvéru. Okrem samotného spôsobu tvorby programov sa norma zaoberá aj komunikáciou so zákazníkom, obchodnými otázkami a celkovým manažmentom vývojových prác. Norma vychádza z ISO 9001, ale svojou skladbou jej priamo nezodpovedá. Predstavuje návod alebo smernice, ako použiť normu ISO 9001 pri vývoji, dodávke a údržbe softvéru. Samotná certifikácia organizácie prebieha podľa ISO 9001. Obe normy obsahujú požiadavky, ktoré musí spĺňať systém riadenia kvality. Nepredpisujú akým spôsobom.V-model je medzinárodne uznávaný štandard pre vývoj v oblasti informačných technológií (V-Model, 1997). Tento model jednotne a záväzne ukladá, čo sa má robiť, ako a prostredníctvom čoho sa majú úlohy vykonávať. V-model zahŕňa:Model umožní jasne určiť, aké kroky je potrebné vykonať, ktoré metódy sa majú použiť na vývoj a aké funkčné charakteristiky musia mať použité nástroje.Spôsob prideľovania úloh jednotlivým osobám sa robí prostredníctvom “rolí”. Pre každú rolu sú v modeli predpísané kvalifikačné požiadavky na osobu v tejto roli a úlohy, ktoré má plniť. Zavedenie V-modelu vyžaduje pridelenie konkrétnej osoby do každej role. Je možné aj obsadenie viacerých osôb do jednej role alebo spojenie viacerých rolí.Jednou z významných noriem, ktoré pojednávajú o procesoch v softvérovej firme, je ISO/IEC 12207 (Moore, 1996, 1997; Gray 1996). Norma poskytuje rámec pre všetky procesy, prebie hajúce počas životného cyklu programu. Od konceptu cez vývoj a používanie až po dosluhovanie. Norma popisuje hlavné procesy, rozhranie medzi nim, vzťahy na najvyššej úrovni a riadi interakciu medzi procesmi. Určuje päť základných procesov, osem podporných a štyri organizačné procesy (tabuľka 2).Tabuľka 2 – Procesy podľa ISO/IEC 12207.
Norma ISO 15504 (ISO/IEC 15504 DTR: 1995 ) je vyvíjaná v rámci projektu SPICE (Software Process Improvement and Capability dEtermination). Definuje šesť úrovní spôsobilosti procesov. Pozostáva z asi 40 procesov rozdelených do piatich oblastí:Okrem opisu procesov obsahuje spôsob ich hodnotenia, určenie spôsobilosti a identifikáciu zmien pre zlepšovanie procesov (obr. 4). Ťažko sa dá očakávať, aby malá firma zavádzala úplný systém podľa niektorého zo spomínaných modelov. Nemá na to vybudovanú organizačnú štruktúru, finančné a časové zdroje a ani to nie je cieľom. Cieľom je zlepšiť procesy tvorby softvéru. Modely slúžia pre malú firmu ako zdroj inšpirácie hovoriac kam sa má vo svojom vývoji posúvať. Firma na základe vlastných skúseností dokáže oceniť zavedenie niektorých procesov z modelu. Existujúci a overený model ju môže ochrániť pred nepodareným experimentovaním.Každý proces vyžaduje zdroje na zavedenie a vykonávanie. Na druhej strane prináša efekty v podobe zníženia nákladov, skrátenia času alebo zvýšenia kvality výsledného produktu a služieb. Kritérium pre zavedenie procesu je podmienka, aby prínosy prevýšili náklady. Po tom, čo proce s začne plniť svoju funkciu a dosahovať ciele, dajú sa očakávať prínosy.Nasleduje jeden z možných spôsobov, ako postupovať:
Každý zo spomínaných bodov je rovnako dôležitý a nedá sa obísť. Je málo skutočných “skratiek” k dosiahnutiu vytýčených cieľov. Písomná formulácia oblastí zmien, postupov a hodnotenia je samozrejmosťou. Body 1 a 2 súvisia s pripravenosťou firmy na zmenu a s predstavou budúceho stavu. Body 3 a 4 vyžadujú získanie informácií, body 5 a 6 sú súčasťou projektu zmeny. Kladné výsledky hodnotenia z bodu 7 povzbudia firmu, aby pokračovala v neustálom zlepšovaní svojich procesov.Článok vznikol s podporou projektu inštitucionálneho výskumu č. 4415 na Fakulte elektrotechniky a informatiky Technickej univerzity v Košiciach.
LITERATÚRA Asher, J. M. (1992), Implementing TQM in Small and Medium Sized Companies, Technical Communication (Publishing) LTD., UK. CMMISM-SE/SW (1999), Software Engineering Institute. http://www.sei.cmu.edu/ Drabic, R. (2000), ”A Process Model of Software Assurance/Software Quality Engineering”, Jurnal of Software Quality Professional, Vol. 2, Issue 4, September 2000, http://sqp.asq.org/vol2_issue4/sqp_v2i4_drabic.html. Frühauf, K. (2000), ”Software Quality for the Information Society”, in Proceedings of The 44th Annual EOQ Congress Budapest, HNC for EOQ, Budapest , Hungary, 12-16 Jún, Vol 3, s. 138-145, ISBN 963-00-3180-9 Gray, L. (1996), ISO/IEC 12207 Software Lifecycle Processes, http: //www.stsc.hill.af.mil/crosstalk/1996/aug/isoiec.asp ISO/IEC 15504 DTR (1995), Software Process Assessment – Part 1 : Concepts and introductory guide, http://www-sqi.cit.gu.edu.au/spice/docs/baseline/ Moore, J. (1996), ISO 12207 and Related Software Life-Cycle Standards, http://www.acm.org.tsc/lifecycle.html O’Toole, P. (2000), ”A Process Model of Software Assurance/Software Quality Engineering”, Jurnal of Software Quality Professional, Vol. 2, Issue 4, September 2000, http://sqp.asq.org/vol2_issue4/sqp_v2i4_otool.html. Paul, M.C., Curtis, B., Chrissis, M.B., Weber, C.V. (1993), ”Capability Maturity ModelSM for Softtware, Version 1.1”, Software Engineering Institute. http:// www.sei.cmu.edu/pub/documents/93.reports/pdf/tr24.93.pdf STN ISO 9000-3:1992: Normy pre riadenie a zabezpečovanie kvality. Časť 3: Smernice pre použitie ISO 9001 pri vývoji, dodávke a údržbe softvéru.Szoboszlai, I. (2000), ”Software Quality for the Information Society”, in Proceedings of The 44th Annual EOQ Congress Budapest, HNC for EOQ, Budapest , Hungary, 12-16 Jún, Vol 3, s. 146-152, ISBN 963-00-3180-9 V-Model. Development Standard for IT-Systems of the Federal Republic of Germany (1997), http://www.v-modell.iabg.de/kurzb/vm/b-vm.doc Zgodavová, K., Slimák, I. (2000), ”Quality Strategy in Small and Medium-sized Companies in Economies Under Transformation”, in Proceedings of The QMED Conference , Portorož , Slovinsko, 2-3 SeptemberO AUTOROVI Ing. Peter Bober, CSc. pracuje v súčasnosti ako odborný asistent v Laboratóriu priemyselného inžinierstva na Fakulte elektrotechniky a informatiky Technickej univerzity v Košiciach. Inžiniersky titul získal na už spomínanej fakulte v odbore Technická kybernetika. Vo svojej 12 ročnej praxi sa venoval programovaniu viacprocesorových systémov a aplikácií pracujúcich v reálnom čase. Vyučoval a vyučuje predmety zaoberajúce sa rozhraním, konštrukciou a programovan ím riadiacich systémov, simuláciou a modelovaním. V poslednom období sa venuje zlepšovaniu procesov tvorby softvéru.Adresa: Ing. Peter Bober, CSc., Technická univerzita, Fakulta elektrotechniky a informatiky, Laboratórium priemyselného inžinierstva, Letná 9, 041 20 Košice, e-mail: bober@tuke.sk
|