CMMI Sami Kollanus TJTA330 Ohjelmistotuotanto 13.3. CMM Capability Maturity Model Software Engineering Institute (SEI) www.sei.cmu.edu Perustettu vuonna 1984 Carnegie Mellon University 1985 SEI aloitti projektin Tarkoituksena arvioida yrityksen kyvykkyyttä tuottaa ohjelmistoja Myöhemmin ajatus prosessien parantamisen tukemisesta + prosessien arvioinnista 2 1
CMM -> CMMI ensimmäinen hahmotelma (process maturity framework) vuonna 1987 Ensimmäinen CMM vuonna 1992 SW-CMM 1.1 vuonna 1993 SE-CMM 1.1 vuonna 1995 IPD-CMM Draft vuonna 1997 CMMI Capability Maturity Model Integration vuonna 2000 CMMI 1.1 vuonna 2002 (1.2 valmisteilla) 3 CMMI Malliin yhdistettiin kolme eri CMMmallia: SW-CMM, SE-CMM ja IPD- CMM -> CMMI-SE/SW/IPPD/SS Tasomalli + jatkuva malli Aiempaa joustavampi 4 2
Tasomalli 5 CMMI:n prosessialueet Level5 Level4 Organizational Innovation and Deployment Causal Analysis and Resolution Organizational Process Performance Quantitative Project Management Level3 Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition Organizational Training Integrated Project Management Risk Management Integrated Teaming Integrated Supplier Management Decision Analysis and Resolution Organizational Environment for Integration Level2 Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management Level1 6 3
Tasomalli Jokainen taso sisältää useamman prosessialueen Kaikki tavoitteet tason jokaisella prosessialueella täytyy täyttää, jotta taso saavutetaan Malli ei määrää, kuinka yrityksen tulee toimia, vaan asettaa vain tietyt vaatimukset Mitä asioita täytyy olla mietittynä? Skaalautuu erilaisille ja kokoisille yrityksille 7 - Alustava Ei vaatimuksia Suurin osa organisaatioista tällä tasolla Tyypillinen organisaatio ei pidä kiinni käytänteistä aikataulun kiristyessä Projektien onnistuminen kiinni yksilöistä, heroismi Usein aikataulut ja budjetti ylitetään 8 4
- Hallittu Pääpaino projektinhallinnan tasolla Prosessit suunnitellaan, niitä toteutetaan mitataan ja hallitaan Noudatetaan aikapaineesta riippumatta Projektien toiminta ei tarvitse olla organisaatiotasolla yhdenmukaista 7 prosessialuetta 9 Prosessialueet Requirements Management Project Planning Project Monitoring and Control Supplier Agreement Management Measurement and Analysis Process and Product Quality Assurance Configuration Management 10 5
- Määritelty Organisaation yhteiset käytänteet määritelty Toiminta on yksityiskohtaisesti mietitty ja määritelty, myös tuotantoprosessit Prosesseja voi räätälöidä 14 (SW 11) prosessialuetta 11 Prosessialueet Requirements Development Technical Solution Product Integration Verification Validation Organizational Process Focus Organizational Process Definition 12 6
... Prosessialueet Organizational Training Integrated Project Management Risk Management Decision Analysis and Resolution Integrated Teaming Organizational Environment for Integration Integrated Supplier Management 13 Tilastollisesti hallittu 2 prosessialuetta Valitaan prosessit, joita hallitaan tilastollisesti Tunnetaan prosessien toimintaa historiatiedon perusteella Kyetään ennakoimaan toimintaa 14 7
Prosessialueet Organizational Process Performance Quantitative Project Management 15 - Optimoiva 2 prosessialuetta Jatkuva historiatietoon perustuva prosessien kehittäminen Tunnistetaan syyt suoritustason vaihteluille Asetetaan kehittämiselle mitattavat tavoitteet 16 8
Prosessialueet Organizational Innovation and Deployment Causal Analysis and Resolution 17 Virhekäsityksiä Emme tarvitse prosessia, koska meillä on: really good people Kehittynyt teknologia Kokenyt johtaja Prosessi estää luovuuden = byrokratia +sotilaskuri ei tarvita, kun rakennetaan prototyyppejä tarvitaan vain suurissa projekteissa estää ketteryyttä nopeasti muuttuvilla markkinoilla maksaa liikaa 18 9
Mitä iloa tällaisesta mallista on? Se tarjoaa organisaation yhteisen vision toiminnan kehittämiselle Malli pitää sisällään parhaat käytänteet menneistä kokemuksista Malli on mittatikku prosessien kyvykkyyden arvioimisessa Malli antaa jonkin vertailukohdan oman organisaation ulkopuolella Viralliset arviot voivat antaa hyödyllisen statuksen 19 CMMI-pohjaisen kehittämisen hyötyjä? aikataulun ja budjetin estimoinnin kehittyminen Projektin läpimenoajan lyhentyminen Tehokkuuden kasvu Parantunut laatu Asiakastyytyväisyyden paraneminen Työilmapiirin paraneminen Investointien panos-tuottoasteen paraneminen Laatukustannusten pienentyminen 20 10
Kokemuksia: Lockheed Martin M&DS CMM L2 1993 CMM L3 1996 CMMI L5 2002 1996-2002 Tuottavuus kasvoi 30 % Ohjelmiston yksikkökustannukset pienenivät 20 % Virheiden löytämisen ja korjaamisen kustannukset pienenivät 15 % 21 Kokemuksia: General Motors Corporation 22 11
Kokemuksia:Bosch Gasoline Systems Ennustettavuus: Ajoissa toimitettujen tuotosten määrä kasvoi 15 % Vähemmän uudelleen tekemistä: kerralla hyväksyttyjen tuotosten määr kasvoi 10 % Virhetapausten määrä: laski kertaluvun verran (From Critical success factors for improvement in a large embedded ed systems organisation. Wolfgang Stolz,, Robert Bosch GmbH Gasoline Systems GSEC/ ESP and Hans-Jürgen Kugler,, Q-Labs Q Software Engineering, ESEPG 2003.) 23 Jatkuva malli Erilainen esitystapa samalle asialle Samat prosessialueet Ei arvioida koko organisaation kypsyyttä, vaan erillisten prosessialueiden kyvykkyyttä Jokainen prosessialueen kyvykkyys arvioidaan asteikolla 0-5 24 12
Kyvykkyystasot 25 Organisaation profiili 26 13
Jatkuva malli - prosessijoukot Prosessien hallinta Projektien hallinta Tekniset prosessit (engineering) Tukiprosessit 27 Jatkuva malli - prosessialueet 28 14
Arvioinnista Ei sertikaatteja yrityksille (ainoaastaan arvioijille) SEI listaa kuitenkin 5-tason organisaatiot Vaatii virallisen arvion, joka on kallista Käytännössä ei Suomessa Voidaan arvioida sisäisesti omia prosesseja tai asiakkaan prosesseja 29 15