Microsoft Word - msipaper63-lamos.doc

Podobné dokumenty
NSK Karta PDF

Microsoft Word - Hitka - esej2011_06-is-xhitka.doc

Manažment v Tvorbe Softvéru 2018/2019

NSK Karta PDF

Sablona prispevky MSI

Snímka 1

Sablona prispevky MSI

Snímka 1

C(2014)5449/F1 - SK

Sablona prispevky MSI

Style Sample for C&N Word Style Sheet

Microsoft Word - Jaroszewicz - esej2011_08_15_xjaroszewicz.docx

Rozdeľovanie IT zákaziek UX Peter Kulich

Microsoft Word - RolyRiadeniaZmien_V1.doc

Sablona prispevky MSI

Informatívna hodnotiaca správa o priebežnom plnení Komunitného plánu sociálnych služieb mesta Trnavy na roky za rok 2018 Komunitný plán soci

ISO Systémy manažérstva proti korupcii Svetový deň normalizácie 2018 Miroslav HRNČIAR Žilinská univerzita v Žiline

Snímka 1

PM pre Automotive a vyrobu-1

Sablona prispevky MSI

Intellectual Property, Psychology and Sociology

Sablona prispevky MSI

Sablona prispevky MSI

Microsoft Word - msipaper44-hlavacek.doc

Microsoft Word - Lajcin - esej2011_07-si-xlajcin.doc

Chemical Business NewsBase

Príloha č. 3 Zmluvy o poskytnutí NFP Prijímateľ: Úrad pre normalizáciu, metrológiu a skúšobníctvo SR Názov projektu: Zavádzanie a podpora manažérstva

kontrak SIOV 2018_BSZ

iot business hub whitepaper isdd_em_New.pdf

KVALITA SOFTVÉRU

msipapersource02-gregor

Sablona prispevky MSI

Microsoft PowerPoint - 1_eSO1

Microsoft Word - Bartalos.doc

Microsoft Word - Pavlech - esej2011_02-is-xpavlechl.doc

SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Metodika archivácie verzií HW Tímový projekt Stratos FIIT M

Princípy tvorby softvéru Modelovanie domény

Microsoft Word - Krajcovic - Esej2011_10-si-xkrajcovic.doc

Microsoft Word - Fabik - esej2011_18-is-xfabik.doc

Systém uznávania kvalifikácií v Slovenskej republike

Microsoft Word - Dokument2

Prezentácia programu PowerPoint

Z M L U V A

Akadémia projektového manažmentu

Microsoft Word - Manažment_tagov_tim24_tema12_2017.docx

SRPkapitola06_v1.docx

Možnosti ultrazvukovej kontroly keramických izolátorov v praxi

Sablona prispevky MSI

6

msipapersource54-fabik

Matematický model činnosti sekvenčného obvodu 7 MATEMATICKÝ MODEL ČINNOSTI SEKVENČNÉHO OBVODU Konečný automat predstavuje matematický model sekvenčnéh

Príloha k príkazu generálneho riaditeľa Sociálnej poisťovne č. 2/2018 Popis a zodpovednosti rolí v rámci projektového riadenia (1) Riadiaci výbor proj

Návrh odkanalizovania lokality Košice – Krásna pri postupnom budovaní rodinných domov

Cielená príprava žiakov s ťažkým zrakovým postihnutím na ďalšie štúdium

Microsoft Word - Kocian - esej2011_13-is-xkocianr.doc

13 ISF

SVET PRÁCE PRIMÁRNE VZDELÁVANIE ISCED 2 VYUČOVACÍ JAZYK SLOVENSKÝ JAZYK VZDELÁVACIA OBLASŤ ČLOVEK A SVET PRÁCE PREDMET SVET PRÁCE SKRATKA PREDMETU SVP

Loan Processing System pre VÚB banku Ako sme jednej z najväčších bánk na Slovensku zvýšili kvalitu a rýchlosť obsluhy firemných klientov nasadením sys

?SPEÐNOS? PROJEKTOV SYSTÉMOVEJ INTEGR?CIE

Vnútorný predpis Číslo: 2/ Výzva na predkladanie žiadostí o Inštitucionálne projekty MTF STU Vypracovala: doc. Ing. Kristína Gerulová

EN

Nová éra Microsoft Dynamics 365 v IT spoločnosti GAMO Vďaka dodanému riešeniu sme pomohli zlepšiť fungovanie kľúčových oblastí

Vykonávacie rozhodnutie Komisie z 23. mája 2011 o financovaní pracovného programu na rok 2011 týkajúceho sa odbornej prípravy v oblasti bezpečnosti po

Prezentácia programu PowerPoint

NARIADENIE EURÓPSKEHO PARLAMENTU A RADY (EÚ) 2019/ zo 17. apríla 2019, - ktorým sa mení nariadenie (EÚ) č. 952/ 2013 s cieľom

Microsoft Word - Usmernenie c 6_2010_vyplnanie tab 11_MS

SMART_GOVERNANCE_Ftacnik

Moderne projekty v biznis suvislostiach-1

Microsoft Word - 00_Obsah_knihy_králiková

Process Communication Model Zručnosť, ktorá vytvára pozitívnu zmenu.

NSK Karta PDF

Aktualizácia č. 1 Usmernenia č. 3/2013 operačný program Vzdelávanie Názov: Usmernenie pre Prijímateľov vo veci periodicity predkladania plánov a harmo

Slovenská technická univerzita v Bratislave Fakulta informatiky a informačných technológií Tres Faciunt Collegium Posudok Študijný program: Počítačové

2.4 Audit založený na rizikách V roku 2007 ukončil IFAC práce na projekte zameranom na implementáciu ISA v podmienkach malých a stredných podnikov. Je

Monitoring kvality povrchových vôd Slovenskej republiky

1 Portál pre odborné publikovanie ISSN Heuristický adaptívny PSD regulátor založený na miere kmitavosti Šlezárová Alexandra Elektrotechnika

PowerPoint Presentation

Digitálne mesto kam smerujú elektronické služby a moderné technológie pre samosprávu Ing. Ľuboš Petrík

Microsoft Word - Vacula - esej2011_04-si-xvacula.doc

Start of the Week Call

Postupy na uplatnenie práv dotknutých osôb

C(2018)2526/F1 - SK (annex)

Microsoft Word - msipaper08-okresa.doc

Stavebný špecialista kontroly a riadenia kvality Charakteristika Stavebný špecialista kontroly a riadenia kvality riadi komplexný systém u

Snímka 1

Príloha č. 1 Internej smernice o riadení konfliktu záujmov POLITIKA RIADENIA KONFLIKTU ZÁUJMOV v podmienkach Centrálneho depozitára cenných papierov S

Sablona prispevky MSI

Prezentácia programu PowerPoint

O D V O D N E N I E

Smernica o pôsobnosti koordinátora pre študentov so špecifickými potrebami

Trendy a inovatívne prístupy v podnikových procesoch 2017, roč. 20 Trends and Innovative Approaches in Business Processes 2017, Vol. 20 ŽIVOTNÝ CYKLUS

Snímka 1

Sablona prispevky MSI

MO_pred1

msipapersource61-petras

2

Microsoft Word - 18.doc

Snímek 1

Univerzita veterinárskeho lekárstva a farmácie v Košiciach Vnútorný systém kvality na Univerzite veterinárskeho lekárstva a farmácie v Košiciach Vnúto

Prezentácia programu PowerPoint

Prepis:

Monitorovanie vývojového procesu softvérového produktu, jeho prínos a analýza možných prístupov DUŠAN LAMOŠ Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava dlamos@pobox.sk Abstrakt. Prevažná väčšina súčasného softvéru je výsledkom koordinovanej práce veľkého počtu ľudí, pričom hovoríme o tzv. softvérových projektoch. Nie každý softvérový projekt však musí nutne viesť k vzniku hotového softvérového produktu. V ceste tejto snahe stoja jednak problémy s dodržiavaním stanoveného časového harmonogramu projektu, ako aj problémy spojené s kvalitou kódu a obmedzeným rozpočtom. Vzhľadom na rozsah súčasných projektov a s tým súvisiace nemalé finančné náklady, je viac než žiadúce zabezpečiť úspešný koniec vývojového procesu. Aby bol daný softvérový projekt úspešne realizovateľný, je nutné sledovať priebežný stav spomínaných faktorov, čiže monitorovať proces vývoja. Na základe zistených skutočností sa následne vykonajú vhodné opatrenia, čím sa zasahuje do procesu plánovania vývoja. Priebežné monitorovanie je nevyhnutné hlavne z dôvodu neustále sa meniacich podmienok procesu vývoja, či už sa jedná o zdroje vo vnútri spoločnosti, alebo vonkajšie podmienky trhu atď. Spôsob monitorovania závisí od sledovanej veličiny. V praxi hovoríme často o tzv. metrikách (či už kvantitatívnych, alebo kvalitatívnych), pričom od ich vhodnej voľby závisí efektivita a prínos samotného monitorovania. Proces získavania údajov pre jednotlivé metriky je závislý od monitorovanej veličiny. Môže sa jednať napríklad o rôzne dotazníky, ale aj o štatistické výstupy z vývojových prostredí atď. Táto problematika je bližšie analyzovaná v hlavnom texte. Úvod Monitorovanie procesu vývoja softvéru, ako už samotný význam pojmu monitorovanie naznačuje, predstavuje priebežné sledovanie stavu určitých vybraných veličín, či už Manažment v softvérovom inžinierstve, október 2006, s. 1-7.

2 Dušan Lamoš kvantitatívneho alebo kvalitatívneho charakteru. Jedná sa o vhodne vybrané veličiny, na základe ktorých je možné odhadovať momentálnu mieru úspešnosti riešenia projektu. Cieľom každého projektu je vytvorenie produktu, zodpovedajúceho stanoveným požiadavkám, v stanovenom čase a s dodržaním stanoveného rozpočtu (resp. s minimálnym rozpočtom). Práve monitorovanie procesu vývoja nám pomáha tento cieľ dosiahnuť, keďže sme na základe zisteného momentálneho stavu schopný kedykoľvek počas trvania projektu rozhodnúť o jeho ďalšom smerovaní a v prípade zistených nedostatkov vykonať príslušné kompenzačné opatrenia. Táto flexibilita výrazne zvyšuje pravdepodobnosť úspešného ukončenia projektu. Možné úskalia softvérového projektu Základnou podmienkou úspechu každého softvérového projektu je jeho kvalitný a efektívny manažment. Či už sa jedná o oblasť plánovania a riadenia projektu, manažment rizík, alebo ľudské zdroje, kľúčom k efektívnemu manažmentu je prístup k aktuálnym a relevantným informáciám, ktoré umožňujú vykonať v daný čas "to správne" rozhodnutie. Podrobnejšie je problematika manažmentu a monitorovania SW projektov rozoberaná v [1] Veľké množstvo projektov stroskotá (prípadne sú neúmerne prekročené investície, alebo sa nepodarí dodržať stanovený časový rámec) práve preto, že sa nedostatky a chyby plánovania a rozhodovania zistia príliš neskoro, prípadne sa nemusia zistiť vôbec. Už pred začatím práce na projekte musí zodpovedný manažér správne odhadnúť veľkosť a zložitosť budúceho softvérového systému, aby mohol správne stanoviť množstvo potrebných pracovných síl a stanoviť predpokladaný rozpočet [1]. Následne sa stanoví plán projektu a delegujú sa úlohy. V našom konkrétnom prípade (5-6 členný tým na predmete Tímový projekt) sa úlohy delegujú na základe analýzy osobitých schopností jednotlivých členov tímu, v oblasti veľkých tímov sú úlohy členov zväčša už pevne stanovené. Po vykonaní všetkých spomínaných úkonov je možné začať prácu na samotnom projekte. Počas procesu tvorby SW systému sa môžu objaviť rôzne viac či menej predvídateľné problémy. Môžu to byť napríklad náhle zistené sklzy v plnení projektového plánu, nemenej dôležité sú aj zmeny vnútorných, alebo vonkajších podmienok. Spomeňme napríklad podmienky trhu, alebo náhle zmeny požiadaviek zo strany zákazníka. Rovnako je nutné reagovať aj na zmeny na personálnej úrovni. Priebežné monitorovanie je nutné aj z dôvodu, že vývoj softvéru prebieha v určitom vývojovom cykle s niekoľkými diskrétnymi štádiami, pričom v každom z týchto štádií je nutné sústrediť pozornosť na iné ťažiskové body.

Monitorovanie vývojového procesu softvérového produktu, jeho prínos a analýza možných prístupov 3 Monitorovanie SW projektov Počas práce na projekte je potom nutné priebežne monitorovať jej postup, tj. koľko práce už bolo vykonanej a koľko ešte len treba vykonať, pričom skutočný stav neustále porovnávame s želaným stavom, uvedeným v pláne projektu. Rovnako, ako dodržiavanie časového harmonogramu, monitorujeme priebežne aj kvalitu vykonanej práce. Postup pri monitorovaní projektu závisí do veľkej miery aj od jeho rozsahu. Pri projekte malého rozsahu s niekoľko málo členmi v tíme je monitorovanie neporovnateľne jednoduchšie, ako v prípade rozsiahlych projektov. V malom tíme je komunikácia medzi jeho členmi pomerne jednoduchá, postačujú preto občasné (v ideálnom prípade pravidelné) stretnutia členov tímu, počas ktorých sa rozoberá aktuálny stav projektu a stav riešenia úloh, delegovaných jednotlivým členom, následne sa rozhodne o ďalšom postupe. Okrem osobných stretnutí a rôznych projektových denníkov je vhodné používať taktiež dodatočné podporné prostriedky, napríklad vhodný elektronický systém pre správu projektu. Pri malých projektoch nie je takýto systém bezpodmienečne nutný, zefektívňuje však koordináciu členov tímu a umožňuje im pohodlný a rýchly prístup k informáciám (napr. cez webové rozhranie). K tomuto rozhodnutiu sme dospeli aj v rámci predmetu Tímový projekt, kde náš tím používa systém dotproject (pozri Obr. 1), ktorý je voľne dostupný v rámci projektu Open Source. Obr. 1. Príklad obrazovky systému dotproject

4 Dušan Lamoš Odlišný prístup je nutný v prípade rozsiahlych projektov, kde je potrebné koordinovať prácu veľkého množstva ľudí. Aj v takomto prípade sa využívajú podporné prostriedky [1], bývajú však spravidla komplexnejšie a štandardizované (napríklad produkty firmy Rational Software, Starbase, alebo Telelogic [4]). Pri rozsiahlych projektoch je nutné vo väčšej miere dbať na formálnu stránku vývojového procesu, ako je tvorba rôznych modelov systému (napr. v praxi často používané modely znázornené UML diagramami), na ktorých sme schopný odhaliť prípadné chyby a nedostatky v návrhu ešte v počiatočnej fáze projektu, nie až vo fáze implementácie, kde by bolo odstránenie tej istej chyby vyžadovalo neporovnateľne vyššie náklady. Vytvorenie podobného modelu (modelov) systému umožňuje úplne samostatný prístup k monitorovaniu [3]. V tomto prípade je použitý spomínaný jazyk UML, od ktorého sa odvíjajú monitorované veličiny (v oblasti softvérového inžinierstva sa tiež často používa výraz metrika). Sledujeme napríklad mieru chybovosti diagramov prípadov použitia, alebo ich úplnosť. V oboch prípadoch ide o tzv. kvalitatívne metriky, čiže údaje, ktoré vypovedajú o kvalite vykonanej práce, nie však o aktuálnom stave dodržiavania stanoveného plánu projektu (na tento účel sa využívajú tzv. kvantitatívne metriky). Niektoré kvantitatívne metriky z oblasti UML schém sú uvedené v tab. 1, prevzatej z [3]. Softvérovým metrikám sa budem podrobnejšie venovať neskôr. Artefakt Projekt 1 Projekt 2 Projekt 3 Modelovací nástroj Rose Databáza požiadaviek RequisitePro DOORS Caliber Prípady použitia 179 804 1121 Poč. diagramov 40 224 1013 prípadov použitia Hráči 20 160 96 Iné typy diagramov 26 138 74 Priemerný počet prípadov použitia na diagram 5.5 5.0 2.4 Tab. 1.Informácie o projektoch Softvérové metriky a spôsoby získavania príslušných údajov Pri monitorovaní SW projektov používame, ako už bolo v texte spomenuté, tzv. softvérové metriky. Ako príklad uvádzam niektoré metriky zo životného cyklu softvérového produktu, uvedené v [4]. Uvedené metriky majú všeobecný charakter.

Monitorovanie vývojového procesu softvérového produktu, jeho prínos a analýza možných prístupov 5 Zmeny oblasti zamerania projektu Časové odstupy medzi tzv. míľnikmi projektu Rýchlosť zmeny funkčnej špecifikácie Percento celkovej časti systému, ktoré už prešlo testovaním Čas potrebný pre odstránenie závad Čas venovaný stretnutiam tímu Čas odozvy pri riešení problémov zákazníka Dostupnosť kritických systémov V ideálnom prípade sú dáta zhromaždené a uložené v "skladisku dát" (Ang. data warehouse) životného cyklu produktu, kde sú dostupné pre generovanie pohľadov, automatizovaných upozornení a pravidiel a korelačných pravidiel z každodenných úkonov, ďalej zhrnutí stavu produktu a agregovaných dát na najvyššej úrovni a pre oblasť riadenia. Tieto pohľady, upozornenia a pravidlá slúžia rôznym skupinám užívateľov, od manažéra sortimentu produktov až po procesného analytika a od technika zodpovedného za testovanie až po hlavného technického vedúceho [4]. Informácie pre hore uvedené metriky je možné spravidla získavať rôznymi spôsobmi. Môžeme napríklad vytvoriť dotazníky, ktoré vyplnia jednotlivý členovia tímu, resp. pri projektoch väčšieho rozsahu, vedúci tímov a iný vedúci pracovníci. Výhodnejšie je však prenesenie úlohy získavania údajov na autonómne softvérové agenty. Možný prístup, využívaný v systéme nazvanom MAUI (pozri [4]) využíva monitorovanie pomocou agentov znázornené na Obr.2. Obr. 2.Riadený životný cyklus softvérového produktu

6 Dušan Lamoš Jednotlivé softvérové agenty samočinne dolujú dáta z danej problémovej oblasti. Tieto dáta sú ukladané do spoločnej databázy (Software product life cycle data warehouse), odkiaľ sú potom prístupné pre ďalšie spracovanie. Systém MAUI okrem samotného monitorovania softvérových metrík generuje na požiadanie prehľady aktuálneho stavu práce na projekte, ďalej umožňuje napríklad automatické adresné rozosielanie poplašných správ pracovníkom, napríklad v prípade hroziaceho problému. S týmto je spojená jedna pozoruhodná vlastnosť systému, a to jeho schopnosť na základe zistených kvalitatívnych a kvantitatívnych údajov o priebehu projektu predpovedať hroziace problémy, ako napríklad oneskorené dosiahnutie nasledujúcich "míľnikov" vo vývoji produktu. Týmto odoberá manažérovi značnú časť práce a umožňuje mu udržať si prehľad aj v rozsiahlom projekte, kde by bolo za normálnych okolností nutné delegovať časť kompetencií manažéra na iné osoby. Dopad na riadenie projektu je zrejmý, keďže sme včas informovaní o hroziacom probléme, máme dostatok času vykonať kompenzačné opatrenia a zamedziť vzniku daného problému, alebo aspoň zmierniť jeho možný rozsah a následky. Metriky, ktoré boli v texte uvedené ako príklad, sú značne všeobecného charakteru. Pre ilustráciu uvediem metriky, konkrétne využívané spomínaným systémom MAUI (Tab. 2), prebraté z [4]. Tab. 2.Definícia metrík systému MAUI; LOC = lines of code Systém MAUI má množstvo ďalších užitočných funkcií, ktorými sa v tomto texte nebudem dopodrobna zaoberať, v prípade záujmu zo strany čitateľa si dovoľujem odkázať na [4]. Aj keď by sa pri čítaní textu mohlo zdať, že sa príliš zaoberá jedným konkrétnym systémom (MAUI), princípy a vlastnosti, ktorými sa tento systém vyznačuje, majú všeobecnejšiu platnosť. Preto bol tento systém vybraný ako ilustračný príklad, rovnako mohol byť použitý ktorýkoľvek iný ekvivalentný systém.

Monitorovanie vývojového procesu softvérového produktu, jeho prínos a analýza možných prístupov 7 Záver Kvalitný a efektívny manažment je kľúčovým faktorom pre úspech každého softvérového projektu. Podmienkou kvalitného manažmentu je včasný prístup k relevantným informáciám o projekte, pričom práve takéto informácie nám poskytuje monitorovanie SW projektu. Pri SW projektoch s veľkým rozsahom je nutné používať technické podporné prostriedky, riešiace jednak komunikačné problémy medzi jednotlivými účastníkmi projektu, ako aj problémy spojené so zberom informácií pre monitorovanie. Takéto systémy môžu takisto poskytovať prognózy pre včasné predpovedanie možných problémov a umožniť tak vykonať vhodné opatrenia ešte pred nastatím kritickej situácie. Pri projektoch malého rozsahu, tvorených zväčša v niekoľko málo členných tímoch, je situácia o poznanie jednoduchšia. Napriek tomu je výhodné používať podporné prostriedky, zamedzí sa tak prípadným komunikačným problémom a možným nedorozumeniam a zároveň sa jednotlivým členom tímu uľahčí prístup k informáciám. Použitá literatúra 1. Tsoi, H.L.: A framework for management software project development. Proceedings of the 1999 ACM symposium on Applied computing (1999) 593-597. 2. Nienaber, R., Cloete, E.: A software agent framework for the support of software project management. ACM International Conference Proceeding Series; Vol. 47 (2003) 16-23. 3. Berenbach, B., Borotto, G.: Metrics for model driven requirements development. Proceeding of the 28th international conference on Software engineering (2006) 445-451. 4. Suardi, L.: How to manage your software product life cycle with MAUI. Communications of the ACM, Vol. 47, No. 5 (2004) 89-94. Annotation Monitoring of the software production process, its contributions and an analysis of possible approaches The importance and benefits of monitoring of software projects are discussed. Approaches for small and large scale projects are analysed and briefly compared, examples of existing systems are presented and conclusions are drawn.