Organisaation prosessikuvaus - CMMI Prosessikuvaukset ja elinkaarimallit Sami Kollanus TJTA330 Ohjelmistotuotanto 7.2.2007 Level5 Level4 Level3 Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution Level2 Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Level1 Organizational Innovation and Deployment Causal Analysis and Resolution Organizational Process Performance Quantitative Project Management OHTU 2007 Sami Kollanus 2 Prosessiajattelu Organisaation prosessien määritys Sisään ohjaus Prosessi mittaus Ulos Laaditaan standardiprosessit prosessin roolit sopivat proseduurit, työkalut ja muut resurssit prosessin suorituksen tavoitteet entry ja exit criteria tulokset kerättävä mittaustieto Prosessien väliset suhteet Haikala & Märijärvi 2002 OHTU 2007 Sami Kollanus 3 OHTU 2007 Sami Kollanus 4
Organisaation prosessien määritys Laaditaan elämänkaarimallien kuvaukset: Vesiputous, spiraali, tms. Kriteerit ja ohjeet prosessien räätälöimiselle Vaihtoehdoista valitseminen Prosessin räätälöinti Organisaation prosessien määritys Laaditaan elämänkaarimallien kuvaukset: Vesiputous, spiraali, tms. Kriteerit ja ohjeet prosessien räätälöimiselle Vaihtoehdoista valitseminen Prosessin räätälöinti OHTU 2007 Sami Kollanus 5 OHTU 2007 Sami Kollanus 6 Organisaation prosessien määritys Tietovarasto mittaustuloksia varten Mittarit, proseduurit Prosessikirjasto Prosessikuvaukset Räätälöintiohjeet Kertyneet kokemukset (lessons learned) Proseduurit kirjaston ylläpidolle Vesiputousmalli Järjestelmän hahmottaminen Analyysi Suunnittelu Toteutus Testaus Ylläpito SEI 2002. CMMI v. 1.1. OHTU 2007 Sami Kollanus 7 OHTU 2007 Sami Kollanus 8
Prototyyppimalli RAD malli Pressman 2000, 30. OHTU 2007 Sami Kollanus 9 Pressman 2000, 30. OHTU 2007 Sami Kollanus 10 Inkrementaalinen malli Spiraalimalli Pressman 2000, 34. OHTU 2007 Sami Kollanus 11 Pressman 2000, 35. OHTU 2007 Sami Kollanus 12
RUP (Rational unified process) XP:n käytänteet Inception Elaboration Construction Transition - Tuotteen ominaisuudet - Alustavat mallit - Alustava arkkitehtuuri - Tarvittaessa proto - Riskit - Alustava projektisuunnitelma - Onnistumiskriteerit - Täydennetyt mallit - Todennettu toimiva arkkitehtuuri - Arkkitehtuurikuvaus - Riskit - Seuraavan vaiheen projektisuunnitelma - Onnistumiskriteerit - Alustava käyttöohje - Lähes täydelliset mallit - Beta-versio - Arkkitehtuurikuvaus - Seuraavan vaiheen projektisuunnitelma - Onnistumiskriteerit - Käyttöohje - Installointivalmis ohjelmisto - Byrokratiodokumentit - Täydelliset mallit - Arkkitehtuurikuvaus - Käsikirjat - WWW-palvelut yms. Planning game Small releases Metaphor Simple design Tests Refactoring Pair programming Haikala & Märijärvi 2002, 43. OHTU 2007 Sami Kollanus 13 Beck, K. 1999. Embracing change with extreme programming. Computer 32(10), 70-77. OHTU 2007 Sami Kollanus 14 XP:n käytänteet Continuous integration Collective ownership On-site customer 40-hour weeks Open workspace Just rules Esimerkki prosesseista: Landmark Graphics Jaetaan projektit eli luokkiin kahden tekijän mukaan: Kompleksisuus (suuri-pieni) Epävarmuusaste (suuri-pieni) Määritellään erilainen setti prosesseja eri luokille Beck, K. 1999. Embracing change with extreme programming. Computer 32(10), 70-77. OHTU 2007 Sami Kollanus 15 OHTU 2007 Sami Kollanus 16
Kompleksisuustekijät Epävarmuustekijät Tiimin koko Tehtävän kriittisyys Tiimin sijainti Tiimin kokemus Toimialan tuntemus Riippuvuudet Markkinoiden epävarmuus Tekninen epävarmuus Projektin kesto Muiden projektien riippuvuus -> laajuuden jousto OHTU 2007 Sami Kollanus 17 OHTU 2007 Sami Kollanus 18 Projektien luokittelu Projektityypit Yksinkertaiset, alhainen kompleksisuus (60 %) Koirat: tyypillisesti kypsiä tuotteita, joita kehittää pieni tiimi Skunkit: protoilu-/tutkimusprojekteja, Minimisetti ydinkäytänteitä Yksinkertaiset, korkea epävarmuus (20 %) Varsat: uusia tuotteita, suuri epävarmuus tekniikassa ja markkinoissa, suuri vapaus Ketterät menetelmät OHTU 2007 Sami Kollanus 19 OHTU 2007 Sami Kollanus 20
Projektityypit Yhteenveto Kompleksiset, alhainen epävarmuus (10%) Lehmät: kypsiä tuotteita, joita kehitetään suuren tiimin voimin (lypsylehmiä), usein isoja integrointiprojekteja Enemmän panostusta projektinhallintaan Kompleksiset, suuri epävarmuus (10 %) Härät: seuraavan sukupolven suuret tuotteet Vaatii hallintaa, mutta täytyy olla joustavuutta Gerald Weinberg: Ongelman ratkaisun niksi ei ole pelkästään miten menetelmiä sovelletaan (know-how), vaan mieluummin milloin niitä sovelletaan (know-when) tämä antaa mahdollisuuden sovittaa ratkaisumenetelmän ongelmaan, eikä päinvastoin. OHTU 2007 Sami Kollanus 21 Haikala & Märijärvi 2002 OHTU 2007 Sami Kollanus 22