KETTERÄT MENETELMÄT JA CMMI:

Slides:



Advertisements
Samankaltaiset esitykset
Ohjelmistokehitys Viikko 2 Mika Salo Pekka Valtonen Asmo Voutilainen
Advertisements

Testaus ja testausympäristöt
NAO/Maija-Leena Haapa-alho
Prosessiosaaminen - prosessiosaajaksi
Kurssilla käytettävät työkalut
Ketterän kehittämistyön suunnittelu Tavoitteena on  harjoitella tehtävien mitoitusta ja arviointia  tehdä työ sovituissa puitteissa  oppia tekemisen.
Menetelmäharjoitus: Kokous- ja kommunikaatiokäytännöt Mikko Rönkkö.
Matti Sipponen 1 Power taitoilta Kilpailun jälkeen – Pohdinta ja oppiminen.
Kandiseminaarin ryhmätyöskentely Kevätlukukausi 2007.
Rastor Oy, Itä- ja Pohjois-Suomen yksikkö
LIIKUTTAVAN HYVÄ HENKILÖKUNTA Hämeenlinna
TÖIDEN PRIORISOINTI JA AJAN HALLINTA
Projekti ja siinä työskentely
Sosialisaatio Sosialisaation käsitteellä kuvataan prosessia, jossa yksilöstä kasvaa yhteisönsä jäsen. Uusi sukupolvi oppii ja se opetetaan kulttuurinsa.
E-Commerce 2010: Business, Technology, Society 6e
Korkeakoulujen opetuksen ja oppimisen digitaalisen tuen hankkeet.
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Performance testing of TETRA 1. SISÄLTÖ  TETRA standardointi  ICT- yrityksen toteutus  Testaus- prosessi  Motivaatio testaukseen  Vaiheet/ osa-prosessit.
Testaus Tiptopissa draft Mats Lindstedt, Mika Rintala.
Fisma ry:n kehittämän projektin estimointi- ja mittauskonseptin instituionalisointi käytännön ohjelmistoprojektien johtamiseen Minigradu esitys
Kuukasjärvi Leena Nieminen Hanna-Mari Vänttilä Marika.
Olli Suoranta Tomi Ruusala Mika Oikari Joni Rytkönen Jessa Hallinen
Ketterä kehitys käytännössä – TFS & Meteor
Riskien hallinta ketterissä prosesseissa ja Jämien laatuyhteenveto Team Jämät.
Tiimien kaksoisprosessin tarkasteleminen 1. Pyritään etenemään kohden tavoitteita (tehtäväorientaatio) 2. Viedään läpi yhteistoiminnallisia prosesseja.
T Personal SE assignment Project progress tracking and control.
Ohjelmistotekniikka - Tenttiin valmistautumisesta Kevät 2003 Hanna-Kaisa Lammi LTY/Tite.
Finnan kehittämisideoiden hallinta LUONNOS Heli Kautonen ja Aki Lassila Konsortioryhmän kokous
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Yleistä Finna-työskentelystä Erkki Tolonen
Laatujärjestelmät.
Ohjelmistojen suunnittelumenetelmät ja –työkalut
(mukaellen Haikala & Mikkonen 2011, 29)
A SIAKASPALVELUKOULUTUS Antin kalvot M ITEN KEHITTÄÄ ASIAKASPALVELUA ? Kehittämistä voi lähestyä kahdesta suunnasta 1. Organisaation Miten luomme.
Selainkäyttöliittymän tuotantoprosessi Klikkaamalla pääotsikoista tietosi karttuu. Sininen mökki toimii paluupainikkeena. Selainkäyttöliittymän tuotantoprosessi.
Projektikatselmus Publicum Teknillinen korkeakoulu Publicum-ryhmä.
Ohjelmistotekniikka ja projektinhallinta, 4 op
Onnistunut IT-projekti - Haaveesta totta? Tiken näkemys
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Yleistä Finna-työskentelystä Erkki Tolonen
Tukiasemaohjaimen ohjelmiston muutostoimitusten automatisoitu testaustyöympäristö Mikko Harila Työn valvoja:Professori Sven-Gustav Häggman Työn.
T Loppudemo Kaffetauko eAuction
T Loppukatselmus OtaShop2 Halme, Inkinen, Karanko, Kosunen, Kärkkäinen, Larmo, Ojanen.
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
Pariohjelmointi Personal SE - Vesa Oinonen. Yleistä pariohjelmoinnista kaksi ohjelmoijaa istuu saman koneen ääressä ohjelmoimassa samaa ohjelmaa Tavoitteena.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
ITKY104 IT kaikkialla, 2 op Alku- ja perusinfo
Vaatimustenhallinta.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
T Ryhmä ”Tete” Henkilökohtainen SE-harjoitus Marko Nikula (Assesment of Architecture) Arkkitehtuurin arviointi.
Asiakkuusmallit liikunta-alalla murroksessa
Kiusaamiskysely 2014 Syksy.
Liiketoimintaprosessit ja MS Visio 2010
Monimedian työkurssi Johdantoluento Ilmari Laakkonen Huone 6535
2/2001 Tietojärjestelmät ja Systeemisuunnittelu Luennoitsija: Tapio Lammi
Ohjelmistotekniikka kevät 2003 Ohjelmistotekniikan määritelmä Ohjelmistotekniikka (Software Engineering) tarkoittaa pätevien insinööriperiaatteiden vakiinnuttamista.
Avoimen tuotteen hallintamalli Tuotteenhallinnan työpaja
KANSALLISKIRJASTO - Kirjastoverkkopalvelut Finto-palvelusopimus ja Finto- verkoston periaatteet Laajennetun projektiryhmän kokous
Yksikkötestaus ● Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin.
Green Office –ympäristöjärjestelmä
Finnan ohjelmisto ja sen kehittäminen
Yhdessä työskentelyn prosessi, yhteisten tavoitteiden saavuttamiseksi.

Ketterä ohjelmistokehitys
Ketterä ohjelmistokehitys
Tietopaketti tuoteomistajalle
Ketterä ohjelmistokehitys
Liiketoimintaprosessit ja MS Visio 2010
Arvioinnista arkipäivää
Menestys tiimityön kautta
(mukaellen Haikala & Mikkonen 2011, 29)
Avoimen tuotteenhallinta
Esityksen transkriptio:

KETTERÄT MENETELMÄT JA CMMI: YHTEENSOPIVIA VAI -SOPIMATTOMIA? Kati Jääskö, Taina Karvonen, Satu Leskinen ja Kalle Kervinen

Ketterät menetelmät Ketterät menetelmät ja CMMI mielletään usein toistensa vastakohdiksi. Tarkoitetaan ohjelmistokehityksen menetelmiä, joissa pyritään välttämään perinteisten tapojen raskaina pidettyjä toimintamalleja. (esim.vesiputousmallin) Yhä useampi ohjelmistoja tuottava organisaatio hyödyntää ketteriä menetelmiä ohjelmistokehityksessään ketterien menetelmien oleellisin sisältö: Ohjelmiston kehitys on vähittäisin muutoksin etenevää (pienten ohjelmistojen julkaiseminen nopeissa sykleissä) Yhteistoiminnallista (asiakas ja ohjelmiston kehittäjät työskentelevät yhdessä ja kommunikoivat jatkuvasti) Suoraviivaista (menetelmä itsessään on helppo oppia ja sitä on helppo muokata, hyvin dokumentoitu) Mukautuvaa (mahdollisuus viime hetken muutoksiin)

Ketterien menetelmien taustaa Ketterien menetelmien perustavaa laatua olevat neljä arvoa : Yksilöitä ja vuorovaikutusta arvostetaan prosesseja ja työkaluja enemmän. Toimiva sovellus on tärkeämpi kuin kokonaisvaltainen dokumentaatio. Asiakasyhteistyö on tärkeämpää kuin sopimusten neuvottelut. Muutokseen reagoimista arvostetaan enemmän kuin suunnitelman noudattamista (lisäksi ketterien menetelmien manifestiin kuuluu 12 yksityiskohtaisempaa periaatetta)

CMMI (Capability Maturity Model Integration) CMMI:n edeltäjä CMM:n (Capability Maturity Model) CMMI ja CMM: perimmäinen tarkoitus on tarjota mm. ohjelmistoalan organisaatioille joukko hyväksi havaittuja keinoja prosessien tehokkaampaan hallintaan

CMM ja CMMI Kaksi CMM:n tai CMMI:n kanssa vertailtua ketterää menetelmää ovat Extreme Programming ja Scrum. Menetelmissä käsitellään ohjelmistotuotannon prosessia kuten perinteisessä vesiputousmallissa; Analyysi Suunnittelu Toteutus Testaus Merkittävä ero ketterillä menetelmillä perinteisiin malleihin verrattuna on, että nämä vesiputousmallista tutut vaiheet käydään läpi useaan kertaan ennen lopullista ohjelmiston valmistumista

Extreme Programming Extreme Programming ( = XP ) Jakautuu viiteen vaiheeseen: Tutkimus Suunnittelu Iteraatio Tuotteistaminen Ylläpito Kuolema Tutkimusvaiheessa tutustutaan yleisesti kohdealueen toimintatapoihin sekä mietitään asiakkaan kanssa, mitä asioita halutaan ohjelmistoon toteuttaa Suunnitteluvaiheessa pohditaan asiakkaan kanssa, mitä: Toiminnallisuuksia halutaan toteuttaa ensimmäisessä julkaisussa. (toiminnallisuudet kirjoitetaan asiakkaan kanssa ylös tarinakorteille. Myös aikataulua arvioidaan alustavasti) Iteraatiovaiheita on useita: Ensimmäisissä iteraatioissa keskitytään toteuttamaan sellaisia tehtäviä, jotka tukevat järjestelmän rungon muodostumista. Asiakas päättää kunkin iteraation alussa, mitkä määritellyistä tehtävistä toteutetaan tulevassa iteraatiossa. Iteraation lopuksi suoritetaan asiakkaan määrittelemät toiminnalliset testit, joiden onnistuttua ohjelmisto julkaistaan. Jos toteutettavia tehtäviä on vielä julkaisun jälkeen tekemättä, jatketaan seuraavaan iteraatioon. Kukin iteraatio kestää yhdestä neljään viikkoon.

XP Ylläpito- ja kuolemavaihe: Ylläpitovaiheessa ohjelmisto on jo julkaistu asiakkaan käyttöön. Olemassaolevan ohjelmiston ylläpidon lisäksi projektin tehtäviin kuuluu tarvittaessa vielä uusien toiminnallisuuksien toteuttaminen Kun asiakas on päättänyt, ettei lisää toiminnallisuuksia enää toteuteta, ollaan kuolemavaiheessa. Muutoksia ei enää tällöin tehdä, on loppudokumentaation vuoro XP:ssä on myös tiettyjä ominaispiirteitä, joita ei kaikissa ketterissä menetelmissä käytetä. XP hyödyntää pariohjelmoinnin tuomia etuja, virheiden minimoimiseksi kaikki kirjoitettu koodi on syntynyt kahden ohjelmoijan yhteistyönä kaikki saavat parannella ja muokata kirjoitettua koodia XP ottaa huomioon myös työntekijöiden jaksamisen tiimien koot on määritelty alle 10 ihmisen suuruisiksi, jolloin tiimin sisäinen kommunikointi on suhteellisen sujuvaa

SCRUM Scrumin alkuperäinen perusperiaate on muodostaa sellaisia ohjelmistotuotannon tiimejä, joissa kaikki tiimin jäsenet olivat jatkuvasti tietoisia, missä yleisesti projektissa mennään. Juontaa juurensa rugby-nimisen pelin aloitusmuodostelmasta Esipeli pitää sisällään: Aikataulutuksen hinnoittelun alustavan määrittelyn järjestelmän arkkitehtuurin suunnittelun Peli kuvaa Scrumin iteratiivista vaihetta, jossa on itsessään neljä osaa: Kehitysvaihe Kasausvaihe Tarkasteluvaihe sopeutumisvaihe. Yksi erikoinen piirre Scrumin iteratiivisessa vaiheessa on se, että uuden sprintin alkaessa tiimillä on käsissään vain tuotteen tehtävälista. Listan tehtävien muuntaminen toimivaksi ohjelmistoksi on täysin tiimin omalla vastuulla Sprinttivaihe kestää XP:n iteraatiovaiheen tavoin viikosta neljään viikkoon Jälkipeli pitää sisällään: julkaisuun valmistautumisen vaiheet loppudokumentaation tekemisen testausta ennen julkaisua julkaisun

SCRUM Scrumissa tiimit ovat hyvin olennainen osa menetelmää. Tiimit muodostuvat johtotiimistä ja kehitystiimistä Johtotiimin tehtävänä on mm. valvoa projektin edistymistä ja pitää huolta aikataulussa pysymisestä. Kehitystiimiin kuuluu koodaajien lisäksi dokumentoija ja laadunvarmistaja

SCRUM Tiimin koko kolmesta kuuteen henkilöön Tiimi kokoontuu yhteen joka päivä noin 15 minuutin ajaksi Tiimin jokainen jäsen vastaa omalta kohdaltaan seuraaviin kysymyksiin: mitä olet tehnyt viimeisen Scrum-tapaamisen jälkeen mitä teet ennen seuraavaa tapaamista mitä vaikeuksia tai esteitä on ollut työssäsi Näiden tapaamisten lisäksi jokaisen sprinttivaiheen lopuksi pidetään erillinen tarkastelutapaaminen, Tiimin jäsenten ja projektin hallinnon lisäksi läsnä voi olla myös asiakkaita ja muita asianomaisia. Scrum ottaa ohjelmistoprojektien hallintaan liittyvät asiat huomioon ohjelmointipainotteista XP:tä paremmin.

CMMI CMMI:stä on kirjoitushetkellä kolme eri alalle erikoistunutta versiota: CMMI ohjelmistokehitykselle Nimensä mukaisesti tämä malli on kehitetty erityisesti ohjelmistokehityksen tarpeet huomioon ottaen. CMMI palveluille vielä kehitysvaiheessa oleva malli, joka tarjoaa ohjeistusta palveluiden tarjoajille CMMI hankinnalle pääpaino on tuotteiden ja palvelujen hankintaan liittyvissä toiminnoissa.

CMMI CMMI:n ohjeistusta voidaan organisaatiossa toteuttaa kahdella eri tavalla. Ensimmäinen tapa: käydä vähitellen läpi peräkkäisiä prosessialueryhmiä asteittaisessa kehittymisessä . Toinen tapa: jatkuva kehittyminen, jossa organisaatio saa vapaasti päättää ne prosessialueet, joissa koetaan tarvittavan parannusta CMMI:ssä on kullekin kypsyystasolle tietyt prosessialueet Saavutettava ennen seuraavalle tasolle siirtymistä Jokainen prosessialue itsessään sisältää tarkemmin määriteltyjä sekä yleistavoitteita Prosessialueet voidaan sisältönsä perusteella jakaa neljään eri kategoriaan: prosessin hallintaan projektijohtamiseen suunnitteluun tukiprosesseihin kypsyystasojen prosessialueita on CMMI:ssä 22 kappaletta