SEI:n mukan kolme odotettavissa olevaa ongelmaa Prosessien kehittäminen osa 2 Sami Kollanus TJTA330 Ohjelmistotuotanto 27.2.2007 Tämä ei sovellu meille Resurssit valuvat prosessien kehittämisestä tärkeämpiin asioihin Yleinen muutosvastarinta mihin tahansa muutoksiin SEI 2006. CMMI Executive Overview presentation. OHTU 2007 Sami Kollanus 2 Prosessien kehittämisen haasteita Ei ole aikaa Tiedon puute Väärä motivaatio Noustaan CMMI tasolle 3 ennen joulua Dogmaattinen lähestymistapa Kuitenkin nähtävä yhteinen hyöty Riittämätön sitoutuminen Prosessien kehittämisen onnistumisen tekijöitä Kerättiin kirjallisuudesta lista aiemmista tutkimustuloksista Onnistumiseen mahdollisesti vaikuttavat tekijät -> hypoteesit Kyselyyn 120 vastausta 55 yrityksestä Vastaajat keskijohtoa Tilastollinen analyysi Wiegers 2005. Software Process Improvement Handbook: A Practical Guide. OHTU 2007 Sami Kollanus 3 Dyba, T. 2005. An empirical investigation of the key factors for success in software process improvement. Transaction on Software Engineering 31(5), 410-424. OHTU 2007 Sami Kollanus 4
Tutkimuksen konsepti Tutkimuksen tuloksia Tilastollisten analyysien perusteella kyselytutkimusten tulokset tukivat kaikkia esitettyjä hypoteeseja Dyba, T. 2005. An empirical investigation of the key factors for success in software process improvement. Transaction on Software Engineering 31(5), 410-424. OHTU 2007 Sami Kollanus 5 Dyba, T. 2005. An empirical investigation of the key factors for success in software OHTU 2007 process improvement. Transaction Sami on Software Kollanus Engineering 31(5), 410-424. 6 Muita tekijöitä prosessien parantamisen onnistumisessa Demingin / Shewhartin ympyrä Koulutus Resurssit Tietoisuus, tiedonvälitys hyödyistä Määritelty metodologia parantamiseen Mielipidejohtajien vaikutus Johto valvoo edistymistä Määritellyt vastuut Selkeät tavoitteet Aaen ym. (2007), Niazi ym. (2006), Goldeson ja Herbsleb 1995 OHTU 2007 Sami Kollanus 7 Deming 1986, Out of the Crisis. OHTU 2007 Sami Kollanus 8
CMMI ja kehittämisen toteuttaminen SEI:n askeleet CMMI:n käyttämiseen Ei varsinaista tukea muutoksen johtamiseen, mutta seuraavat mainitaan: Organisaatiopolitiikan/johdon sitoutumisen merkitys Suunnitellaan prosessi Järjestä resurssit Määritä vastuut Kouluta ihmiset Tunnista ja sitouta asiaan kuuluvat henkilöt (relevant stakeholders) Valvo prosessia 1. Varmista johdon tuki ja rahoitus 2. Järjestä perustiedon koulutus 3. Valitse malli, jota haluat käyttää 4. Valmista organisaatio muutokseen kustannuslaskelmat, mahdollisuudet, ongelmat Avainhenkilöiden koulutus 5. Muodosta prosessinkehittämisestä vastaava työryhmä SEI 2006. CMMI v. 1.2. OHTU 2007 Sami Kollanus 9 www.sei.cmu.edu/cmmi OHTU 2007 Sami Kollanus 10... SEI:n askeleet CMMI:n käyttämiseen 6. Tiedä, missä olet (epämuodollinen arviointi) 7. Tiedä, minne olet menossa (tavoitteet) 8. Rehellinen kommunikointi ja koordinointi (kommunikoidaan avoimesti kaikille ja kuunnellaan kommentteja) 9. Seuraa edistymistä IDEAL-malli Stimulus for Change Set Context Initiating Build Sponsorship Diagnosing Charter Infrastructure Characterize Current & Desired States Develop Recommendations Learning Propose Future Actions Set Priorities Analyze and Validate Develop Approach Implement Plan Actions Refine Pilot/Test Create Acting Establishing www.sei.cmu.edu/cmmi OHTU 2007 Sami Kollanus 11 www.sei.cmu.edu/ideal OHTU 2007 Sami Kollanus 12
NAH (not applicable here) -syndrome SEAS case Ongelmia tarkastusten käyttöönotossa, monet näkevät vain resurssien kulutukseksi Testataan menetelmää koodia katselmoimalla ja verrataan testaukseen Esitetään tulokset johdolle -> positiivisia kokemuksia Jalote, P. & Haragopal, M. 1998. Overcoming the NAH syndrome for inspection deployment. Proceedings of the 20th International Conference on Software Engineering, 371-378. OHTU 2007 Sami Kollanus 13 Computer Science Corporation (CSC) Yli 65 000 työntekijää Engineering and Analysis Support Center (SEAS) 850 työntekijää Toimii NASA:n Goddard Space Flight Centerin kanssa Suuri ja vanha organisaatio + laatuvaatimukset OHTU 2007 Sami Kollanus 14 SEAS case Prosessien kehittämistä ja metriikoita 1980- luvulta asti Vuonna 1992 oli jo olemassa melko laaja jouko määriteltyjä prosesseja Vuonna 1994 asetettiin uudet tavoitteet prosessien kehittämiselle -> kehittämishanke aloitettiin vuonna 1995 Vuonna 1998 yritys oli CMM tasolla 5 SEAS case tavoitteet prosessien kehittämiselle Tuottavuus Laatu Ennustettavuus Projektin läpimenoaika Benchmarking -> arvioinnin tuoma status OHTU 2007 Sami Kollanus 15 OHTU 2007 Sami Kollanus 16
SEAS case kehittämisen periaatteet SEAS case hyötyjä ja kustannuksia Koordinointi Paimenet, Process deployment team meeting Etusijalle tuotteeseen liittyvät tavoitteet Laatu, tuottavuus yms. Käytetään vertailumalleja (esim. CMM) prosessien kehittämisen tukena separations of concerns strategiaa Tunnistetaan nykytaso ja asetetaan tavoitteet Kustannukset 2.2 % kokonaiskustannuksista Suorituskyvyn parantuminen ja lisäksi: Organisaatio toimi kokonaisuutena yhteisten tavoitteiden mukaan Korkea kurinalaisuus kaikissa projekteissa Merkittävä parannus aiempiin prosesseihin ja standardeihin Nopeutunut uuden teknologian käyttöönotto Ylpeyden tuntu omasta organisaatiosta OHTU 2007 Sami Kollanus 17 OHTU 2007 Sami Kollanus 18 SEAS case hyötyjä ja kustannuksia Lisää tilauksia: USA:n valtio teki 500 M$ lisää tilauksia Tärkeimmiksi koettiin tuotevaikutukset: Tuottavuus, laatu yms. SEAS case yhteenvetoa kokemuksista Toimi 5. tason organisaationa: älä keskity tiettyjen toimintojen ajoittaiseen kehittämiseen, vaan luo kulttuuri jatkuvalle kehittämiselle. Aseta spesifejä inkrementaalisia tavoitteita Separations of concern periaate Jalkauta prosessit projekteihin Paimenet ja viikottaiset PDT-palaverit toimivat hyvin OHTU 2007 Sami Kollanus 19 OHTU 2007 Sami Kollanus 20
SEAS case yhteenvetoa kokemuksista Mittaa tuotetta, älä prosessia (CMM-tasoa) Varaa tarvittavat resurssit Kolme tärkeää dokumenttia mahdollisimman varhain: Laatukäsikirja Prosessien kehittämissuunnitelma Organisaation profiili Pienen yrityksen kokemuksia DataStream Content Neljä vuotta: 4 -> 28 työntekijää Suurten tiedostojen konvertointia muodosta toiseen Firmassa kaksi avainhenkilöä: toimitusjohtaja ja pääohjelmoija Lähtökohtana CMM luokitus + tekninen delegointi OHTU 2007 Sami Kollanus 21 OHTU 2007 Sami Kollanus 22 Pienen yrityksen kokemuksia Luotiin seuraavat periaatteet Aloitettiin projekti yliopiston kanssa yhteistyössä Kehitettiin systeemiarkkitehtuuria (palvelinjärjestelmä + versionhallinta) Merkittävimpiä kohteita olivat konfiguraationhallinta ja katselmoinnit Resurssien allokointi: aluksi yhteyshenkilönä pääohjelmoija Prosessi ei ole vain prosessia varten, sen pitää liittyä liiketoiminnan tavoitteisiin Järjestä käytänteiden määrittely hyötyjen mukaan, älä ohjaudu vain mallin prosessialueiden mukaan esim. katselmoinnit, vaikka ne kuuluvat 3 tason käytänteisiin Et voi ylläpitää prosessien kehitystä ilman asianmukaisia resursseja Testaa ensin uudet käytänteet valituissa projekteissa Suunnittele uuden prosessin käyttöönotto meneillään olevat aktiviteetit huomioon ottaen OHTU 2007 Sami Kollanus 23 OHTU 2007 Sami Kollanus 24
Kehittämiselle tavoitteet Lopputuloksia 18 kuukauden jälkeen Organisaation kyky ennustaa projektin aikataulu ja kustannukset Pienentää tuotantoaikaa (time-tomarket) Laatutavoitteet, kilpailukykyinen laatu CMM taso 3 Enemmän kuin yksi henkilö voi kehittää ohjelmistoa Kaikki työntekijät ymmärtävät selkeästi työnkuvansa Yritys tuottaa ohjelmistoja tehokkaammin ja nopeammin Yritys ymmärsi alkuperäisten tavoitteidensa epärealistisuuden (CMM taso 3 vuodessa) Taso ei ole ensisijainen tavoite OHTU 2007 Sami Kollanus 25 OHTU 2007 Sami Kollanus 26 Yhteenvetoa prosessien kehittämisestä Ei saa jättää kehitystä huomiotta, muuten mennään takapakkia. Ei voi kuitenkaan kiirehtiä liikaa! Ydinasia onnistunut organisaatiomuutos Johdon sitoutuminen Koulutus + avoin viestintä Avainhenkilöt Lähtökohdaksi tuote + liiketoiminta Tavoitteet + seuranta OHTU 2007 Sami Kollanus 27