Ketteristä menetelmistä ja niiden ryhmädynamiikasta JJJaM-ryhmä: Juuso Hyvönen, Joni Mäkelä, Jani Viherväs Ohjelmistoprojektien johtaminen ja ryhmädynamiikka HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 2. joulukuuta 2014
Sisältö 1 Johdanto 1 2 Ketterät menetelmät ja niihin liittyvästä sosiaalipsykologiasta 1 2.1 Sosiaaliset representaatiot.................... 1 2.2 Scrumban............................. 2 3 Ajatusleikki: sosiaaliset representaatiot ja Agile 3 4 Ajatusleikki: Scrumbaniin liittyviä sosiaalipsykologisia ongelmia ja ilmiöitä 5 4.1 Ongelmia ja niiden ratkaisuja.................. 6 4.2 Ilmiöitä ja niiden seurauksia................... 7 5 Yhteenveto 8 Lähteet 9 i
1 Johdanto Fabian Fagerholm piti vierailuluennon 25.11.2014 Helsingin yliopistolla kurssille Ohjelmistoprojektien johtaminen ja ryhmädynamiikka aiheenaan Ketteristä menetelmistä ja niiden ryhmädynamiikasta [Fag14]. Esitämme tässä raportissa Fagerholmin luennon pääaiheista lyhyen tiivistelmän ja keskitymme esittämään harjoitustyöryhmämme pohdintoja luennolla esitettyihin ajatusleikkeihin. 2 Ketterät menetelmät ja niihin liittyvästä sosiaalipsykologiasta 2.1 Sosiaaliset representaatiot Moscovicin sosiaalisilla representaatioilla tarkoitetaan yhteisiä arkiteorioitamme meille tärkeistä asioista. Ne ovat arvoista, ideoista ja käytännöistä koostuvia systeemejä, joilla ihmiset saavat järjestyksen materiaaliseen ja sosiaaliseen todellisuuteensa. Nämä systeemit mahdollistavat ihmisten välisen kommunikoinnin tarjoamalla yhteisen koodiston, joka määrittelee asioiden nimitykset ja luokitukset. [Fag14] Sosiaalisen representaation muodostumisen keskeisiä prosesseja ovat ankkurointi, objektivointi ja naturalisointi. Ankkuroinnissa ryhmän tarkoituksena on luoda uudesta ja tuntemattomasta asiasta tuttua muun muassa vertailemalla sitä jo tunnettuun asiaan sekä kategorisoimalla sen nykyisten käsitteiden ja arvojen mukaan. Objektivoinnilla pyritään selittämään abstraktia käsitettä konkreettisilla olomuodoilla. Objektivoinnissa pyritään löytämään kytköksiä tunnettuihin asioihin muun muassa personifioinnin kautta, jolloin esimerkiksi suhteellisuusteoriaan saadaan liitettyä henkilökytkös Albert Einsteiniin. Naturalisointi on uuden representaation muodostumisessa vaihe, jossa ryhmä vakiinnuttaa uudet asiat osaksi omaa sosiaalista todellisuuttaan. [Fag14] 1
Sosiaaliset representaatiot muodostuvat ryhmän sisäisesti jatkuvan sosiaalisen prosessin kautta. Kun ryhmään kohdistuu uhkaava tai tuntematon ilmiö tai tapahtuma, jota ei pystytä käsittämään aikaisemman systeemin avulla, ryhmä muodostaa uuden systeeminsä. Tämä tapahtuu tutkimalla uutta ilmiötä tai tapahtumaa ankkuroimalla ja tulkitsemalla sitä aiemman systeemin termien ja representaatioiden avulla. Selitettäessä uutta ilmiötä tutuilla termeillä ryhmä pystyy johtamaan siitä objektivoidun representaation, jota voidaan selittää mielikuvilla, metaforilla tai symbolien avulla. Ryhmä omaksuu tämän objektivoidun representaation uudeksi systeemikseen naturalisoinnin kautta, joka edistää ryhmän sosiaalista identiteettiä. [Fag14] 2.2 Scrumban Scrum ohjelmistotuotannon malli, jossa ohjelmiston kehitys jaetaan muutaman viikon mittaisiin pyrähdyksiin. Scrum keskittyy ohjelmistokehityksen hallinnolliseen puoleen, eikä niinkään teknisiin käytäntöihin. Projektia hallinnoidaan käyttäen apuna muun muassa tarkkaan määriteltyjä rooleja ja kokouksia. [NKMS12, sivu 140] Kanban on scrumiin verrattuna uudempi keksintö. Kanban ei määrittele kehitysiteraatioiden pituuksia kuten scrum, eikä kanban myöskään määrittele scrum master tyylisiä rooleja. Kanbanin idea koostuu prosessin visualisoimisesta, työmäärien rajoittamisesta ja työn aloittamiseen kuluvan ajan mittaamiseen. [NKMS12, sivu 140] Scrumban on kanbanin ja scrumin sekoitus, jossa on koitettu sekoittaa molempien mallien paremmat puolet yhdeksi kokonaisuudeksi. Scrumista on otettu päivittäiset muutaman minuutin mittaiset kokoukset, sekä erilaiset katselmointi- ja retrospektiivikokoukset. Toisaalta kehitysiteraatiot on pudotettu pois ja tilalle on otettu kanbanin malli, jossa tehtäviä tulee jatkuvalla syötöllä. Scrumbanin on scrumiin verrattuna ketterämpi kun pitää reagoida nopeasti muuttuviin vaatimuksiin. Scrumissa nykyisen kehitysiteraation tehtäviin ei kuulu kajota, vaan muutokset kohdistetaan seuraavaan kehitysiteraation. Scrumbanissa sen sijaan muutoksien teko ja uusien tehtävien 2
tuominen on mahdollista heti. Uusi tehtävä menee suoraan backlogiin ja kehittäjät alkavat tekemään sitä tehtävää heti kun pystyvät. 3 Ajatusleikki: sosiaaliset representaatiot ja Agile Ensimmäisessä ajatusleikissä oli tarkoitus pohtia harjoitustyöryhmän kesken mahdollista yhteyttä ketterien ja Lean-menetelmien synnyn ja suosion sekä Moscovicin sosiaalisten representaatioiden välillä. Alla on esitetty harjoitustyöryhmämme pohdintaa luennolla esitettyihin kysymyksiin. Millä tavalla ketterien menetelmien syntyä ja suurta suosiota voisi selittää sosiaalisten representaatioiden avulla? Ohjelmistuotannossa suosituin kehitysprosessi oli pitkään insinöörimäisestä ajattelusta alkunsa saanut vesiputousmalli. 1990-luvun loppuun mennessä ohjelmistokehittäjien sosiaalinen identiteetti oli luultavasti kehittynyt hyvin eri suuntaan kuin tyypillisten insinöörien, jolloin heidän identiteettinsä oli voimakkaasti ristiriidassa ammatillisen identiteetin kanssa. Ketterät menetelmät tarjoavat ohjelmistokehittäjille oman, heidän omaa näkemystään tukevan tavan hoitaa ohjelmistokehitystä. Tätä käsitystä tukee myös luennoitsijan esittämä kysymys: Kuinka moni teistä kokee olevansa insinööri?. Kukaan luennolla olijoista ei kokenut olevansa insinööri. Luennoitsija mainitsi myös, että aiemminkin insinööreiksi oli itsensä kokenut vain jokunen henkilö. Nämä henkilöt olivat olleet TKK:lla diplomi-insinööriksi opiskelevia. Ketterät menetelmät lisäävät myös kehittäjien arvovaltaa suhteessa johtajiin, mikä varmasti osaltaan on vaikuttanut menetelmän suosioon kehittäjien keskuudessa. Kehittäjät ovat ehkä kokeneet, että tämä tuo heille heidän kaipaamaansa arvostusta. Samalla tämä voisi selittää osaltaan, miksi suuret ja hierarkiset organisaatiot ovat tulleet jäljessä ketterien menetelmien käyttöönotossa. 3
Mitä kyseinen lähestymistapa ennustaa ketterien menetelmien tulevaisuudesta? Uusi ohjelmistokehittäjien sukupolvi kasvaa ajatuksessa, että ketterät menetelmät ovat oikea ratkaisu. Todennäköisesti ketterät menetelmät tulevat olemaan aina vain suositumpia, mutta myös ketterien menetelmien puutteita aletaan ehkä ymmärtämään paremmin. Kuinka hyvin sosiaaliset representaatiot soveltuvat tarkastelemaan ketteriä menetelmiä? Esim. Onko Agile sosiaalinen liike? Mikä on liikkeen tavoite? Ketkä ovat sen johtajia? Kenen etua se tavoittelee? Kuinka hyvin SR:n keskeiset prosessit (ankkurointi, objektivointi ja naturalisoiminen) toimivat kyseistä ilmiötä tarkasteltaessa? Agile on sosiaalinen liike siinä mielessä, että se pyrkii tuomaan kokonaan uuden ajattelutavan ohjelmistokehitykseen. Aiemmin ohjelmisto pyrittiin määrittelemään kokonaisuudessaan ennen kuin riviäkään oli kirjoitettu. Nykyään pyritään nopeaan reagointiin ja kevyeen ja mukavaan prosessiin sekä mahdollisimman oikeaan lopputulokseen asiakkaan kannalta. Kettereät menetelmät pyrkivät tekemään oikein menevän prosessin lisäksi jatkuvan muutoksen ajatuksillaan (iteraatiot, jatkuva asiakaskaskontakti yms.) siihen, että valmistuva ohjelmisto on mahdollisimman oikea käyttötarkoitukseensa. Ketteriä menetelmiä on kuitenkin vaikea pitää erityisesti sosiaalisena liikkeenä. Enemmänkin kyseessä on vain kokemuksen myöta parantuva tapa tehdä töitä. Varsinaiseksi sosiaaliseksi liikkeeksi voisi kuvailla esimerkiksi Rails Girlsiä [rai], joka pyrkii tekemään tietotekniikkaa tutuksi naisille. Jos Agile kuitenkin olisi sosiaalinen liike, olisi sen tavoitteena saada työnteko motivoivaksi, parantaa työntekijöiden arvostusta sekä parantaa ohjelmistojärjestelmien laatua. Liikkeellä ei varsinaisesti olisi johtajia, mutta jonkinlaisina 4
esikuvina toimisivat alkuperäisen Agile Manifeston kirjoittajat. Samat henkilöt ovat myös luoneet valtavan määrän Agile-kirjallisuutta ja tällä luoneet pohjan "liikkeen"synnylle. Agile-liike tavoittelisi oikeastaan kaikkien etua. Ohjelmistokehittäjien työ olisi motivoivampaa, työnantajat tekisivat enemmän rahaa ja asiakkaan olisivat tyytyväisempiä saamaansa tuotteeseen. Kuinka hyvin SR:n keskeiset prosessit (ankkurointi, objektivointi ja naturalisoiminen) toimivat kyseistä ilmiötä tarkasteltaessa? Ankkurointina voitaisiin pitää Agile Manifestoa, sillä se luo pohjan koko liikehdinnälle. Ankkurointiin kuuluu myös uuden asian vertaaminen olemassaolevaan, jo tunnettuun asiaan. Tätä edustaa ketterien menetelmien vertaaminen vesiputousmalliin Objektivointina voidaan ketterän sanaston luomista ottamalla käsitteitä oikeasta elämästä. Esimerkiksi termit sprintti ja backlog, joka tarkoittaa kirjaimellisesti tulisijan takana olevaa puuta, joka palaa viimeisenä. Myös termi Burndown chart näyttäisi viittaavan samaiseen tulisijaan. Naturalisoimisella tarkoitetaan vaihetta, jossa uudet käsitykset ja mielikuvat vakiintuvat osaksi vallitsevaa todellisuutta. Naturalisointivaiheen voidaan nähdä jo olevan käynnissä. Ketteriä menetelmiä opetetaan kouluissa ja yliopistoissa ja menetelmää käytetään teollisuudessa. 4 Ajatusleikki: Scrumbaniin liittyviä sosiaalipsykologisia ongelmia ja ilmiöitä Harjoitustyöryhmämme tehtävänä oli pohtia Scrumbaniin liittyviä sosiaalipsykologisia ongelmia ja ilmiöitä ja erityisesti niiden ratkaisemista Scrum Masterin roolissa. Harjoitustyöryhmämme jäsenet ovat kaikki työelämässä, joten pystyimme ammentamaan edellä mainittuja asioita käytännön työelämästä. 5
4.1 Ongelmia ja niiden ratkaisuja Suurin osa kokemistamme ongelmista johtuu tiimin jäsenten viitseliäisyyden puutteesta. Tämä johtaa muun muassa siihen, että tiimi ei sitoudu käytettävään prosessimalliin. Scrumbanin tapauksessa esimerkiksi Kanban-taulua ei päivitetä, tehtäviä kuvaavia lappuja siirretään mielivaltaisesti Kanbanilla eivätkä Work In Progress -rajoitteet pidä. Kun prosessimalliin ei sitouduta, projektin hallinto kärsii, koska prosessi ei ole ennustettava, jolloin on vaikea arvioida työmääräarvioiden oikeellisuutta verrattuna toteutuneeseen työmäärään. Koska Kanban-taulu on tarkoitettu myös tiimin keskeiseksi kommunikaatio-työkaluksi, sen käyttämättä jättäminen johtaa helposti siihen, että pahimmillaan tiimin jäsenet tekevät samaa tehtävää, jolloin toteutunut työmäärä kasvaa arvioituun verrattuna. Tämän ongelman ratkaisussa Scrum Masterin rooli on ensisijaisen tärkeä, sillä huonosti motivoituneen tiimin työn jälki jättää toivomisen varaa, joka voi ratkaista ison asiakkuuden jatkon. Pohdimme, että Scrum Master saa ratkaistua tämän ongelman parhaiten motivoimalla tiimiä ja esittämällä mahdolliset seuraukset prosessiin sitoutumattomuudesta. Yhden harjoitustyöryhmämme jäsenen mielestä hänen tärkein ja paras oivallus liittyen viitseliäisyyteen on se, että loppujen lopuksi asiakas maksaa aina tiimin palkan, joten sen eteen pitää tehdä töitä ja varmistaa asiakastyytyväisyys. Pohdimme myös ongelmaa ja sen ratkaisua siltä kantilta, että vika ei saatakaan olla työntekijöissä vaan prosessin sopimattomuudesta projektin tarpeisiin. Tällöin Scrum Master voisi tiedustella prosessimallin ongelmia suoraan tiimiltä ja muuttaa joko prosessimallia mukautumaan tiimin tarpeisiin ja haluihin tai ohjaamalla ja kouluttamalla tiimiä omaksumaan käytettävä prosessimalli. Jälkimmäinen voisi toteutua esimerkiksi siten, että jokaiselle sprintille sovitaan tietty tavoite. Tavoite voisi olla esimerkiksi se, että aina kun siirretään koodia versionhallintaan, siirrytään Kanban-taululle ja merkitään tehty tehtävä odottamaan katselmointia ja otetaan samalla uusi tehtävä työn alle. Tapaamamme toinen yleinen ongelma on Daily Scrumin venyminen yli sille tarkoitetun 15 minuutin. Tämä on johtunut yleisesti joko paljon asian vierestä 6
puhuvasta tiimin jäsenestä tai jonkun jäsenen ongelmanratkaisusta. Tällöin Scrum Masterilta vaaditaan viitseliäisyyttä ja halua ilmoittaa jäsenelle, että hänen pitää pysyä Daily Scrumin agendassa. Harvinaisempi ongelma on se, että ihmiset eivät noudata tai täytä Scrumin määrittämiä roolituksia. Näitä tapauksia voi olla esimerkiksi Scrum Master, joka ei ratkaise tiimin ongelmia tai varmista tiimin työrauhaa ja joutuisaa työskentelyä tai Product Owner, joka ei varmista tuotteen laatua tai ole projektille muuta kuin projektiin osallistumaton vierestä seuraaja. Näiden ongelmien ratkaisuun vaaditaan roolinsa huonosti suorittavien henkilöiden kouluttamista tai vaihtoa toisiin henkilöihin. Puutteellisesti suoriutuvan Scrum Masterin tai Product Ownerin suhteen tiimin on osattava uskaltaa ilmaista mielipiteensä, koska heidän työskentely kärsii eniten edellä mainittujen roolien huonosta täyttämisestä. 4.2 Ilmiöitä ja niiden seurauksia Scrum(ban)-prosessimallissa on eri henkilöille tai ryhmille selkeät roolit ja niitä kuvaavat vastuualueet. Vastuualueet ja siten roolit poikkeavat suuresti yleisestä yrityskulttuurista, jossa pomo määrää ja alainen tekee, sillä tiimi pyritään pitämään täysin itseohjautuvana. Tällä tavalla varmistetaan se, että asiantuntevuutta vaativaa tehtävää ei ohjaa henkilö, jolla nyt vain on asemansa perusteella oikeus määrätä, vaan henkilö, joka tietää kyseisestä tehtävästä. Voidaankin sanoa, että tiimin itseohjautuvuudella tuodaan niin sanotusti valta kansalle. Itseohjautuva tiimi voi todeta suoraan ylemmälle johtoportaalle, että uutta ominaisuutta ei toteuteta ennen kuin se on järkevää toteuttaa tai sen toteutuksen aloittaminen siirretään myöhemmälle ajanjaksolle. Tiimin työrauhan turvaamiseksi Scrum Master voi estää tiimin häiritsemisen asiakkaan tai toimitusjohtajan toimesta. Tiimi pyrkii myös lisäämään sosiaalista identiteettiään ja tiimin koheesiota aktiivisella tiedon jakamisella. Tiedon jakamista tukevat esimerkiksi päivittäiset Daily Scrumit sekä pariohjelmointi. Pohdimme, että tällaisella käyttäytymisellä taataan se, että kukaan tiimin jäsen ei jää yksin ongelmiensa kanssa ja että 7
ongelmat ovat aina hidasteita, jotka pyritään ratkaisemaan mahdollisimman nopeasti. Daily Scrumin yleisellä agendalla ( Mitä olet tehnyt viime Dailyn jälkeen? Mitä aiot tehdä seuraavaan mennessä? Onko hidasteita? ) varmistutaan myös siitä, että mahdolliset ongelmatilanteet tuodaan aina esille, ja että jokaisella tiimin jäsenellä on edes yleisluontoinen käsitys, mitä muut jäsenet ovat tehneet. 5 Yhteenveto Sosiaalipsykologia tarjoaa hyviä keinoja ohjelmistoprojektien kehityksen ja prosessien tutkimiselle. Ketterien menetelmien vauhdikas yleistyminen ja omaksuminen yrityskulttuuriin luovat mielenkiintoiset puitteet sosiaalipsykologian tutkimukselle. 8
Lähteet [Fag14] Fagerholm, Fabian: Ketteristä menetelmistä ja niiden ryhmädynamiikasta. http://www.cs.helsinki.fi/u/wikla/ odyna/s2014/ketterista_menetelmista_ja_niiden_ryhm% C3%A4dynamiikasta.pdf, marraskuu 2014. Luentokalvot. [NKMS12] Nikitina, Natalja, Mira Kajko-Mattsson ja Magnus Stråle: From Scrum to Scrumban: A Case Study of a Process Transition. Teoksessa Proceedings of the International Conference on Software and System Process, ICSSP 12, sivut 140 149, Piscataway, NJ, USA, 2012. IEEE Press, ISBN 978-1-4673-2352-9. http: //dl.acm.org/citation.cfm?id=2664360.2664382. [rai] Rails Girls. http://railsgirls.com/, vierailtu 1.12.2014. 9