Programų sistemų inžinerija7. Asmeninis programų kūrimo procesas[DJ99]Anne M. Disney, Philip M. Johnson. A Critical Analysis of PSP Data Quality:Results from a Case Study, Dept. of Information and Computer Sciences,University of Hawaii, 1999.[Hum95] Watts S. Humphrey. A Discipline for Software Engineering. Addison-Wesley,1995.[Hum96] Watts S. Humphrey. Introduction to the Personal Software Process SM . Addison-Wesley, 1996.[Hum98] Watts S. Humphrey. Three Dimensions of Process Improvement Part II: ThePersonal Process. http://www.stsc.hill.af.mil/crosstalk/1998/mar/dimensions.html,1998.[Hum00] Watts S. Humphrey. The Personal Software Process (PSP), Technical Report,CMU/SEI-2000-TR-022, ESC-TR-2000-022, 2000.[Hum05] Watts S. Humphrey. PSP SM : A Self-Improvement Process for Software Engineers.Addison-Wesley Professional, 2005.[Mor00][Sta98]Maurizio Morisio. Applying the PSP in Industry, IEEE SoftwareNovember/December 2000, 0740-7459/00, 2000.Menegos Stavros. PERsonal Software Process Improvement PERSPI, Processimprovement experiment final report, ESSI project number: 24158, 1998.Mokymo medžiaga 102
Programų sistemų inžinerija8. Komandinis programų kūrimo procesas8. Komandinis programų kūrimo procesasTurint apmokytus disciplinuotai d<strong>ir</strong>bti inžinierius, iškyla klausimas, kaip reikia suburtikomandą <strong>ir</strong> organizuoti komandinį darbą, kad kiekvienas galėtų efektyviai taikyti disciplinuotodarbo įgūdžius. Be atitinkamų nurodymų <strong>ir</strong> paramos, komanda bus priversta bandymų <strong>ir</strong> klaidųkeliu išradinėti tai, kas jau pakankamai gerai žinoma <strong>ir</strong> sėkmingai naudojama. Tai verčia ieškotimetodų, remiančių komandos formavimą <strong>ir</strong> komandinio darbo palaikymą programų sistemųkūrimo kontekste. Komandos formavimo veiklos yra tokios, kurios formuoja vieningą supratimąapie komandai keliamus tikslus bei ugdo tarpusavio pasitikėjimą komandos nariais. Komandospalaikymo veiklos yra tokios, kurios palaiko pas<strong>ir</strong>inktą komandos taktiką <strong>ir</strong> kryptį, siekiantiškeltų tikslų, bei didina komandos vertę. Vienas iš modelių, pateikiančių atsakymus į iškeltusklausimus yra komandinio programų kūrimo proceso modelis TSP (angl. Team SoftwareProcess), kurio mokymui sk<strong>ir</strong>ta versija buvo pristatyta Watts S.Humphrey knygoje “Introductionto the Team Software Process” [Hum99], o pilnos TSP versijos apžvalgos pristatytosmoksliniuose darbuose [Hum98, Hum00] 4 .TSP procesas pakankamai smulkiai apibrėžia projektuose dalyvaujančių asmenų roles <strong>ir</strong>kiekvienos iš jų atsakomybes bei joms keliamus tikslus. Visas procesas išskaidomas loginiaisžingsniais, kuriuose aprašoma, kaip turi būti elgiamasi kiekvieno projekto etapo metu, kas turėtųbūti akcentuojama, o ko geriau vengti, kad projekto įgyvendinimas vyktų sklandžiai <strong>ir</strong> betrukdžių. Ypatingai daug dėmesio sk<strong>ir</strong>iama tiksliam viso proceso žingsnių dokumentavimui <strong>ir</strong>nuosekliam jų vykdymui. Tai turi padėti pereiti nuo bandymų <strong>ir</strong> ieškojimų kelio, prie konkrečiai<strong>ir</strong> labai tiksliai apibrėžto proceso metodų įsisavinimo <strong>ir</strong> jų įgyvendinimo. Susipažinus su šiamedžiaga turi sumažėti klausimų “kaip daryti”, “ką daryti” <strong>ir</strong> “kada daryti”, nes jie dažniausiaisutinkami esant neaiškumams projekto organizavime <strong>ir</strong> valdyme, o ši medžiaga kaip tik <strong>ir</strong>padeda, sekant nurodytu procesu, pereiti nuo organizavimo <strong>ir</strong> valdymo problemų sprendimo, prieprodukto kūrimo.TSP projektiniai sprendimaiYra daug būdų suprojektuoti procesą. TSP atveju buvo įgyvendinti septyni pagrindiniaiprojektiniai sprendimaiProcesas turi remtis PSPTSP turi daug formų <strong>ir</strong> scenarijų, bet daug iš jų sutampa su PSP. Žinant PSP, nesunku busišmokti atlikti naujus TSP darbus, nes jie remiasi panašiais principais. Nežinant PSP, greičiausiaiTSP procesai gali pas<strong>ir</strong>odyti sunkiai įveikiami.4 Reikia pažymėti, kad galima rasti tik apžvalgas, o pilnas TSP aprašymas yra viešai neprieinamas.Mokymo medžiaga 103