Scrum ei ole kaikenratkaiseva hopealuoti

Kuten edellisessä blogikirjoituksessa kerroin, perinteisen määrittele – toteuta – testaa -vesiputousmallin käyttäminen IT-projektityössä on auttamattomasti vanhentunut toimintatapa. Eikä se ollut koskaan edes järin hyvin toimiva.

Vesiputouksen suurin ongelma on se, että kunnollisten määrittelyiden tekeminen esimerkiksi kilpailutusta varten vie aikaa ja rahaa. Ja lopputuloksena on vasta määrittely. Määrittely itse on vain dokumentti. Se ei sellaisenaan tuota mitään, ennen kuin joku toteuttaa sen.

Onko järkevää käyttää kolmasosa projektin budjetista määrittelyn kirjoittamiseen ja huomata toteutustyön edetessä, että kaikkea ei sittenkään osattu ennakoida?

Ketterät menetelmät ja scrum eivät kuitenkaan ole kaikenratkaisevia hopealuoteja. Niissäkin on omat ongelmansa.

Scrum-projektihallintamenetelmä soveltuu omien kokemusteni mukaan heikosti tilanteeseen, jossa projektiin vaikuttavat seuraavat asiat:

  1. Osa-aikaiset tekijät
  2. Maantieteellinen hajaannus
  3. Paljon ulkoisia riippuvuuksia

Näistä ensimmäinen kohta, osa-aikaiset tekijät, on ketterän projektityön kannalta ehkä haitallisin – joskin ratkaistavissa oleva – ongelma.

Jos tekijät eivät pääse keskittymään yhteen projektiin, on “normaalikin” projekti ongelmissa. Jossainpäin kun on kuitenkin aina kiireellinen tulipalo, jota on pakko lähteä sammuttamaan. Tällöin kärsijänä on luonnollisesti projekti ja aikataulut pääsevät pettämään.

Yksittäisen tehtävän aikataulujen pettäminen on scrum-projektissa paljon suurempi ongelma kuin perinteisessä projektissa. Tavanomaisessa projektissa projektipäällikkö pystyy pitämään takataskussaan turvamarginaalipäiviä. Scrumissa moinen ei ole mahdollista; siinä varmuusmarginaalit ovat julkisia ja suoraan sanoen tulevat paljon useimmin myös käytettyä.

Paras ratkaisu osa-aikaisten tekijöiden kiroukseen on suoraviivainen: otetaan projektiin kokopäiväisiä tekijöitä. Vaikka sitten konsultteja. Tällöin linjaorganisaation palomiehet voivat keskittyä ohjaamaan toimintaa ja projektin kannalta aikatauluongelmat ovat huomattavasti epätodennäköisempiä kuin firman omaa väkeä käytettäessä.

Maantieteellinen hajaannus on ongelmana itsestäänselvä, mutta sen vakavuutta aliarvioidaan. Työkalujen osalta etätyö on vielä kohtuullisen helposti ratkaistavissa, mutta varsinainen ongelma on – kuten projekteissa yleensäkin – ihmisten kanssa.

Jos projektiryhmä ei työskentele yhdessä tilassa, jää paljon epävirallista ja jopa sanatonta viestintää tapahtumatta. Merkittävin ongelma on ehkä “tekemisen meiningin” fiiliksen aikaansaannin vaikeus ja MBWA:n mahdottomuus.

Kuten arvostamani teoreetikko Tarmo Toikkanen kirjoittaa, maantieteellisesti hajautettu scrum-tiimikin on mahdollista saada toimimaan. Mutta se on huomattavasti vaikeampaa ja haastavampaa, kuin yhdessä tilassa kokoontuva.

Yksi oleellisimpia tekijöitä maantieteellisesti hajautetun projektitiimin toimimaansaannin varmistamiseksi on pitää kiinni kurista. Päivittäiskokouksiin on tultava. Piste. Ja tarvittaessa huutomerkki.

Viimeisenä, muttei suinkaan vähäisimpänä, ongelmana ovat ulkoiset riippuvuudet. Nämä ovat scrum-työlle puhdasta myrkkyä.

Olen itse ollut aikoinaan vierestä katsomassa tilannetta, jossa yksinkertaisesta asiasta piti sopia erään toisen projektin kanssa, mutta nämä peruivat tapaamisia jatkuvasti lyhyellä varoitusajalla ja toimivat muutenkin kuin oppikirjaesimerkissä 9780836217582.

Seuraamalleni projektille palavereiden jatkuva peruminen sekä toimitettavista asioista lipsuminen aiheutti nopeasti aikatauluongelmia. Kun backlogissa alkoi olla yksinkertaisia tehtäviä “sovi palaverista XX:n kanssa” ja “pidä palaveri XX:n kanssa” estynyt-tilassa, oli lopulta parempi jättää tämä osuus projektin scopesta kokonaan ulos.

Olen tullut siihen tulokseen, että monet kriitiset ulkoiset riippuvuudet ovat scrum-projektille “No Go”-tason ongelma. En halua lähteä vetämään scrum-projektia, jossa lopullinen onnistuminen ja tärkeät tuotokset ovat toisten projektien onnistumisen varassa. Semminkään, kun epäonnistumisen aiheuttama negatiivinen spiraali leviää scrum-tiimiin nopeasti.

* * *

Scrum ja muut ketterät menetelmät eivät ole hopealuoteja. Ne ratkaisevat monia projektityön ongelmia, mutta esittelevät monia uusia ennakkoedellytyksiä projektille.

Aiheet: Yleiset
Tilaa RSS-syöte
Takaisin ylös

Kommentit 15 kommenttia

Minusta vesiputousmallin ongelma ei niinkään ole se, että määrittelyn tekemiseen kuluisi paljon työtä, vaan se, että etukäteen tehty määrittely ei käytännössä vastaa kovin hyvin niitä oikeita tarpeita, jotka tulevat ilmi vasta projektin edetessä.

“Sillanrakennusprojekti” toki varmaan onnistuu etukäteismäärittelyllä hyvin, mutta jos projektissa on yhtään ei-triviaaleja käytettävyyskysymyksiä tai integraatiota usean eri toimijan kesken, niin on taattua, että etukäteen tehty määrittely muuttuu matkalla paljon.

Oma näkökulmani tähän tulee muuten EU/Tekes-projekteista, joissa tuntuu olevan aina hyvin vesiputousmainen projektisuunnitelma. En tiedä onko kukaan koskaan yrittänyt hakea rahoitusta jollekin muulla tavalla suunnitellulle projektille.

Tosin kyllä näissäkin projekteissa iteroidaan, mutta yleensä nopeudella yksi iteraatio vuodessa. Mielestäni julkisrahoitteiset tutkimusprojektit olisivat paljon tehokkaampia jollain muulla toimintamallilla. Niiden rahoitus ei muutenkaan riipu etukäteen täsmälleen määritellyistä tuloksista.

Mistä saisin tietoa ja referenssejä “vesiputouksesta”?

Kennu, meidän tutkimusryhmä oli mukana EU-hankkeessa “CALIBRATE”, jossa meidän työpaketti oli kuvattu ketteränä kehitysprojektina. Ja hyvin meni läpi rahoituksessa ja loppuarviossa oli projektin paras tulos. Lisätietoja: http://calibrate.eun.org

Mielestäni nuo Ossin esittämät ongelmat koskevat kyllä enemmän ja vähemmän kaikkia projektimallleja, eivät mitenkään erityisesti vain scrum-mallia.

Eikä vesiputousmalli oikeasti niin huono ja vanhentunut ole kuin mitä väität. Riippuu hyvin pitkälle projektista mikä malli on paras. Mielestäni scrum soveltuu erityisen hyvin yrityksen oman tuotekehityksen projekteihin. Monesti taas asiakasprojektit, erityisesti julkiset hankinnat on pakko toteuttaa vesiputousmallilla jo kilpialutus säännösten vuoksi.

Nyt jäi se punainen lanka tästä arktikkelista puuttumaan.

Ok, scrummi ei toimi kaikissa tilanteissa, varsinkin jos on noita riippuvaisuuksia toisiin projekteihin, mutta mikä tähän olisi sitten se toimiva ratkaisu tai vaihtoehto siinä tilanteessa, jos projektissa on paljon riippuvaisuuksia? Ja kyllähän nuo riippuvaisuudet ovat ongelma joka tapauksessa.

Scrummissa on meillä ainakin ollut vikana se, että siitä ei pidetä kiinni tarpeeksi kovasti.
- Scrummipalaverit venyvät liian pitkiksi tai niitä jätetään väliin
- suunnitelua ei tehdä perusteellisesti
- sprintti mennään rikkomaan liian usein eli otetaan uusia käyttötarinoita (user story) kesken kaiken.

Totuus on, että projektia ei viedä läpi pitämällä päivittäisiä palavereja eikä päivittämällä backlogeja, vaan tekemällä oikea toteutus mahdollisimman tehokkaalla tavalla. Scrumin päätarkoitus on tarjota organisaatiolle mahdollisimman läpinäkyvä projektinhallinta, jossa mahdolliset ongelmakohdat korostuvat ja niihin voidaan puuttua ajoissa. Scrumin tarkoitus on herättää organisaatiossa kysymyksiä siitä, voidaanko jokin asia tehdä paremmin. Käytännössä Scrum-projektissa tulisikin ilmetä enemmän ongelmia kuin perinteisessä “piilotellaan varapäiviä pöytälaatikossa” -projektissa. Scrumia voidaan pitää eräänlaisena toteusprosessin testipenkkinä.
Valittettavan monessa it-alan yrityksessä toteutetaan tällä hetkellä “Scrum but”- menetelmää, jossa leikitään käytettävän Scrumia, mutta todellisuudessa Scrumista otetaan vain yrityksen käyttöön soveltuvat ja helposti toteutettvat osat. Scrum on yksinkertainen menetelmä, joka on hyvin vaikea toteuttaa oikein.

Aluksi pidin näitä blokkauksia hyvänä viihteenä enkä niinkään provona, mutta vaikuttaa siltä että Ossi itse uskoo näihin kirjoituksiinsa täysin.

Surullista että henkilö on toiminut alalla yli 10v ja uskoo edelleen tälläiseen soopaan… No, uskoohan pieni tyttärenikin Joulupukkiin vielä.

Kysymys Scrum Master(e)ille: Miten hyvin Scrum toimii, jos tiimin jäsenet tekevät yhtäaikaa monia projekteja ja muutenkin hoitavat erilaisia hommia projektityön lomassa?

Minulle on syntynyt mielikuva, että Scrummissa pitäisi olla aika keskittynyt siihen yhteen projektiin, jota sprintataan tiiviisti eteenpäin.

Jos joutuu repimään itseään useaan projektiin samanaikaisesti, on kusessa kehitysmenetelmästä riippumatta: http://www.codinghorror.com/blog/archives/000691.html

Ossin kuvaamat ongelmat hoidetaan Scrumissa backlog itemeillä. Arvioidaan ajat riittäviksi ja/tai pilkotaan vielä pienemmiksi tehtäviksi. Otetaan huomioon se, että joku tiimistä tekee työnsä Japanissa ja joku toinen Suomessa, ylläpidetään kommunikaatiota jne. Ei se ole vaikeaa kun pitää kiinni Scrumista ja toimii sen mukaan.

Scrum on tosi ykisinkertainen kaikkeihin muihin ITIL:eihin ja sie … metodologioihin.
MUTTA … .

Scrum vaatii asennemuutosta + läpinäkyvyyttä eikä pelkästään koodareiden kesken vaan KOKO organisaatiossa.

Noo , siihen se tyssääkin. Koska kaikkien Talouselämän- ja Kauppalehden höpö höpö juttuihin nähden totuus on aivan muuta ja tosi karua eikä kukaan halua sanoa sitä, koska sillä lähtee oma pää ….

Sen takia tämäkin kirjoitus on niin ympäripyöreä …

Ingnjör:
Totta. Riippuvuudet muista ovat aina haaste. Mutta väitän niiden olevan suurempi haaste ketterille projekteille kuin perinteisille.

Kennu ja Jussi Judin:
Oletuksenne on oikea. Scrummaaminen vaatii kokoaikaisuutta tekijöiltään.

Yordan:
Käsittelin tässä kirjoituksessa muutamia ongelmia, joita scrum-projekteissa voi olla.

olen ollut jo oitkään alalla. vaikka on ollut “vesiputous”-malli käytössä ei se ole tietenkään ollut OIKEA vesiputous-malli. ei se ole tarkoittanut, etteikö muutoksia suunnitelmiin olisi tehty – sehän olisi aivan idioottimaista! vaan muutokst on tehty CR mallilla (systemaattinen vs agilen adhoc) tai sitten bugiraportina (sama vesiputouksessa kuin agilessakin). enemmän agile on ihmiesten/tiimin muutosta ymmärtää myös ITSE testata OIKEIN, eikä vaan tuupata softaa toiselle tiimille “laadunvarmistukseen”. laatua ei tee yksinkään ihminen eikä tiimi yksin vaan se on tehtävä yhdessä!

jotenkin tuntuu, että nyksyisin pitää ottaa agile käyttöön koska se on niin hot. minusta on typerää ottaa mikätapansa malli käyttöön sen mallin itsensä takia. kokoajan pitää tutkia ja oppia virheistä mitä on tehty (niin toimintatavoista tai SW virheistä tai virheellisistä vaatimuksista/designista) ja jos on paljon virheitä niin sitten voi ajatella ottavansa uuden mallin (eli esim agilen) käyttöön.

Tuohon jutun alkuun haluaisin puuttua sen verran että vesiputousmallin alkuperäisessä julkaisussa sanotaan että se ei toimi isoissa projekteissa. Näin ollen vie pohjan koko agilen perusteluista. Itseasiassa agilekin on vain pieniä vesiputousmallisia kehityssyklejä peräkkäin. Näin se olisi mennyt myös silloin jos vesiputousmalli olisi ymmärretty oikein. Tämä sama virhe on kaikissa agile-puolen tutkimuksissa. Samoin agile on vain arvaus että tämä voisi toimia eikä alun perin ollut mitään todisteita että se toimisi.

Vesiputoumalli on lanseerattu Dr. Winston W. Royce:n artikkelissa “Managin the developmen of large software systems”

Kommentoi kirjoitusta

Kirjoitusohjeita

  • Huomioi toisten mielipiteet ja ymmärrä, etteivät kaikki voi olla samaa mieltä kanssasi.
  • Ole kohtelias ja huomaavainen, äläkä tarkoituksella provosoi tai loukkaa muita kirjoittajia.
  • Muista, että kirjoittajana olet rikos- ja vahingonkorvausoikeudellisessa vastuussa viestiesi sisällöstä.

Toimitus varaa oikeuden poistaa sopimattomat viestit keskusteluista. Voit ilmoittaa sopimattomat viestit "ilmoita"-linkeistä.

Katso myös keskustelun ja kommentoinnin säännöt.

Takaisin ylös
RSS

Selaa blogikirjoituksia

Aiheet
Arkistot
TTL ry
Pieni kirjapuoti
Takaisin ylös