hyväksymispäivä arvosana arvostelija Raportti Fabian Fagerholmin vierailuluennosta 25.11 Eero Laine Helsinki 2.12.2014 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Sisältö 1 Johdanto 1 2 Ketterät menetelmät ja niitten sosiaaliset representaatiot 1 2.1 Perinteinen ohjelmistokehitys...1 2.2 Ketterä ohjelmistokehitys...2 2.3 Moscovicin sosiaaliset representaatiot...2 3 Ryhmädynamiikka ketterissä tiimeissä 3 4 Yhteenveto 4 Lähteet 5
1 1 Johdanto Tohtorikoulutettava Fabian Fagerholm piti Ohjelmistoprojektien johtaminen ja ryhmädynamiikka -kurssilla vierailuluennon 25.11.2014 ketteristä menetelmistä ja niiden ryhmädynamiikasta [FAG14]. Ketterät menetelmät ovat 2000-luvun alkupuolella muotonsa saaneita ohjelmistokehityksen tekniikoita, jotka korostavat tiivistä asiakassuhdetta, matalaa hierarkiaa, itseorganisoituvia pienryhmiä ja kehitysprosessin joustavuutta. Fagerholm esitti sosiaalipsykologiaan perustuvia malleja siitä, kuinka ketterät menetelmät otetaan käyttöön ja kuinka ryhmädynamiikka pienryhmässä voi toimia. Tämä artikkeli on ensisijaisesti raportti luennon sisällöstä niin kuin se luentotilanteessa havainnoitiin, sekä luennon herättämiä ajatuksista, ei niinkään tutkielma luennon aiheesta. Tämän lähestysmistavan tavoitteena on tavoittaa itse luennon havaintotilanne kaikkine virheellisine käsityksineenkin. Koska Fagerholmin luento perustuu luentomateriaalin ja muistiinpanojen lisäksi ainoastaan muistikuviin, ei ole hyödyllistä tai edes mahdollista erotella aina tarkasti omia näkemyksiäni ja tulkintaa Fagerholmin esitelmästä. 2 Ketterät menetelmät ja niitten sosiaaliset representaatiot 2.1 Perinteinen ohjelmistokehitys 1960-luvun lopulla laitteiston laatua pidettiin hyvänä, mutta ohjelmistojen laatua heikkona ja niiden kehitystyötä hallitsemattomana. Ohjelmistojen laadun kontrolliin kehitettiin nk. vesiputousmalli, jossa prosessin alussa määriteltiin tarkkaan projektin tavoitteet, tulosvaatimukset ja aikataulu. Vesiputousmalli saavutti nopeasti dominoivan aseman ohjelmistokehityksessä ja tätä paradigmaa alettiin laajamittaisesti kyseenalaistaa ja kritisoida vasta ketterän kehityksen myötä. Vesiputousmalli nojasi lähtökohtaan ohjelmistokehityksestä rakentamisena ja insinööritaitona. Ohjelmistoja kehitettiin yksinkertaistaen samalla tavalla kuin fyysisiä rakennelmia, kuten siltoja. Haluttu lopputulos määriteltiin mahdollisimman tarkkaan, ja ohjelmistot kehitettiin ennalta määritellyn tuotantoprosessin mukaisesti loppuun tietyssä aikataulussa virheitä ja
2 poikkeamia mahdollisimman tehokkaasti vältellen. Myös keskusjohtoisuuden voi katsoa juontavan tavoitteesta prosessin täydelliseen kontrolliin. Ketterissä menetelmissä valta ja johtajuus ovat usein oletusarvoisesti hetkellisiä, eikä kellään kehittäjällä ole täyttä kontrollia tuotteeseen tai vastuuta siitä. Perinteisessä kehityksessä projektipäällikkö tai vastaava johtaja oli kuitenkin vastuussa asiakkalle ja ylemmälle johdolle alkuperäisen, hyväksytyn suunnitelman tarkasta noudattamisesta. Tämä on yksinkertaistus, mutta kuvaa hyvin perinteisen ja ketterän ohjelmistokehityksen filosofisia eroja. 2.2 Ketterä ohjelmistokehitys Ketterät menetelmät saavuttivat 2000-luvun kuluessa aseman innovatiivisena ja modernina oppina. Ketterän kehityksen katsottiin vastaavan paremmin todellisten ohjelmistoprojektien epävarmaa toimintaympäristöä, jossa lopputuloksen täsmällinen muoto ei ollut niin asiakkaille kuin kehittäjillekään selvää projektin alkaessa. Iteratiivisuudesta tuli keskeinen käsite ketterässä kehityksessä: tuotetta pystyttiin hahmottelemaan uudelleen jatkuvasti, ja sen väliversiot olivat "iteraatioita", jotka muodostivat pohjan jatkokehittelylle. Vastaavasti myös johtaminen oli luonteeltaan väliaikaista, hajautettua ja asiantuntemukseen perustuvaa. Johtajan rooli kuului sille, joka sopivassa tilanteessa osasi tehdä tuotteeseen liittyviä päätöksiä oman, sillä hetkellä relevantin asiantuntemuksensa pohjalta. 2.3 Moscovicin sosiaaliset representaatiot Sosiaalipsykologi Serge Moscovici näki ihmisten hahmottavan uudet asiat sosiaalisten representaatioiden kautta. Sosiaaliset representaatiot ovat vahvan aseman saavuttaneita käsitteitä, joista ihmisillä on yhtenäinen mielikuva. Ihmisille uudet ja vieraat käsitteet hahmotetaan Moscovicin mukaan alun perin vanhojen ja tuttujen käsitteiden kautta (Moscovicin termein ankkurointi ja objektivointi), kunnes nämä uudet käsitteet ovat saavuttaneet vakiintuneen aseman (naturalisointi). IT-alalla ketterän kehityksen käsitteet olivat alun perin vieraita, ja tämä on näkynyt niiden soveltamisessa. Useiden ketterien ohjelmistoprojektien on nähty epäonnistuvan juuri siksi, että ne ovat joutuneet toimimaan hierarkiaa ja kontrollia painottavassa organisaatiokulttuurissa, joka ei tue ketteriä periaatteita. Yksi tyypillinen esimerkki on projektipäällikön roolin liittäminen nimellisesti ketterään projektiin. Myös
3 liiketoiminalliset vaatimukset, kuten tarkat sopimukset asiakkaan kanssa, voivat rampauttaa ketterää projektia. Tyypillisesti ketterät periaatteet ankkuroidaan vakiintuneessa organisaatiossa vesiputousmallin, tarkan ennalta suunnittelun ja hierarkian hallitsemaan viitekehykseen, koska organisaatiossa ei ole valmista kontekstia ketterällä kehitykselle. Yksi syy ketterien toimintamallien soveltamisen vaikeuksissa voi olla ketterän kehityksen epäselvä sosiaalinen representaatio. Ketterä kehitys on henkilöitynyt tiettyihin pioneerihahmoihin ja raamatullisen aseman saavuttaneisiin ydinteksteihin, kuten alkuperäinen Ketterä manifesti. Liikkeen pioneerit hyödyntävät gurun rooliaan konsultoimalla ja kirjoittamalla kirjoja, mutta mitään tarkkaa määritelmää sille, mikä todella on ketterää kehitystä, ei ole. Vaikka tässä artikkelissa onkin yritetty määrittää tiettyjä ketterän kehityksen avainperiaatteita, ketterät mallit näyttävät usein koostuvat irrallisista, moderneista tekniikoista, kuten Kanban-taulu, laatustandardit ja aamupalaverit, joita kehittäjät sitten yhdistelevät omien mielihalujensa perusteella. Tähän ketterän kehityksen teoreetikot taas saattavat reagoida kritisoimalla kehittäjiä siitä, että he poikkeavat puoliuskonnollisen aseman saaneista säännöistä: esimerkiksi halventava käsite "Scrum-but" viittaa Scrum-prosessiin, jossa on uskallettu tinkiä jostain Scrumin lukuisista periaatteista. Fagerholm on yrittänyt hahmottaa ketterän kehityksen ydintä määrittelemällä ketterän kehityksen arvoja ja myös sen vastaisia arvoja. Yksi ydinarvo ketterällä kehitykselle vaikuttaa olevan kurinalaisuus, johon liittyy määrätietoisuus ja prosessin seuraaminen tarpeen mukaan joustaen. Tämä arvo on kuitenkin usein ristiriidassa joustavuutta korostavien ketterien tekniikoiden kanssa. Ketterien menetelmien vastaiseksi arvoksi Fagerholm määrittelee alustavasti kapean työn fokuksen, jossa keskitytään omaan asiantuntemukseen ja omaan alueeseen ja vältellään interaktiota asiakkaan ja tuotekehityksen kanssa. Monet ketterät mallit korostavat juuri kehittäjien osaamisen laaja-alaisuutta ja kehittäjien omien "valtakuntien" välttelyä. 3 Ryhmädynamiikka ketterissä tiimeissä Fagerholm tarkasteli ketterän kehityksen ryhmädynamiikkaa Scrumban-tiimien kautta. Scrumban on yhdistelmä kahdesta ketterästä kehitysmallista, Scrumista ja Kanbanista.
4 Scrumbania määrittää vahvasti Kanban-taulun käyttö, Scrumista taas otetaan vapaasti vaikutteita ja tekniikoita. Kanban-taulussa työprosessia hahmotetaan tuotteen eri ominaisuuksia kuvaavilla paperilapuilla, joiden sijainti taululla viittaa ominaisuuden kehittämisen edistymiseen. Kanbanissa prosessi on jatkuva, kun Scrumissa tuotetta tarkastellaan iteraatioissa. Scrumista lainatuista tekniikoista Fagerholm otti esille tiimipalaverin (daily scrum), joka Scrumbanissa yhdistetään Kanban-taulun tarkasteluun työpäivän aluksi. Tiiviistä ketteristä tiimeistä muodostuu helposti sisäänpäin kääntyneitä ryhmiä, joiden korkea koheesio eli kiinteys estää nk. ulkoryhmän eli ryhmän ulkopuolisten tahojen vaikutusta ryhmään. Myös Scrum-prosessin "valmentaja" eli Scrum Master voi helposti jäädä ulkoryhmään, kuten ulkopuoliset projektipäälliköt. Pahimmassa tapauksessa ryhmä lähestyy työtehtäviä omien eikä organisaation tavoitteiden kautta. Ryhmä on tässä vaiheessa käytännössä kuin oma organisaationsa virallisen organisaation sisällä. Tällöin ulkopuolisten johtajien tulee tunnistaa kussakin tilanteessa sisäryhmän tehtävä- tai tunnejohtaja ja johtaa heidän kauttaan. Tilannejohtaja edustaa tilanteen kannalta relevanttia asiantuntemusta, kun taas tunnejohtajalla on hyvä kosketus sisäryhmän sisäiseen psykologiaan. Epävirallinen johtaja on sisäryhmän "prototyyppi", joka edustaa myös ulkoisella olemuksellaan ryhmän arvoja. 4 Yhteenveto Fagerholmin luento oli pintapuolinen katsaus hyvin erilaisiin teemoihin sosiaalipsykologian ja ketterän kehityksen alueelta. Ketterän kehityksen historia ja voittokulku, Moscovicin sosiaaliset representaatiot ja ryhmädynaamiset mallit ovat kaikki tarkastelun arvoisia aiheita, mutta niiden yhteys toisiinsa, mikäli sellaista oli tarkoitettu havainnollistaa, jäi epäselväksi. Luennosta on vaikea löytää yhtä kantavaa teemaa, mutta ketterän kehityksen eri puolien tarkastelu oli kiistämättä ansiokasta.
5 Lähteet FAG14 Fabian Fagerholmin luento aiheesta "Ketteristä menetelmistä ja niiden ryhmädynamiikasta" 25.11.2014, ml. luentomateriaali ja muistiinpanot