12.0 Waterfall vs. Cyclical Project Management (Osa 5) – Suhdanneprojektien hallinnan ehdot

Käyttäjät/asiakkaat osallistuvat aktiivisesti #

Jokainen syklisen projektinhallinnan sykli sisältää vaatimusten kehittämisen, suunnittelun, toteutuksen ja testauksen. Tämä tarkoittaa, että monia valintoja on tehtävä syklin aikana. Jos ohjelman halutaan edustaa tarkasti asiakkaan toiveita, asiakkaan tulee olla projektitiimin aktiivinen jäsen.

Asiakkaiden on ilmoitettava vaatimuksensa ohjelmoijille ja suunnittelijoille mahdollisimman selkeästi. Tämä edellyttää usein viikoittaista (tai vähintään kahden viikon) osallistumista projektitiimiin.

Projektissa kuluttajat osallistuvat tarvittavien ominaisuuksien määrittelyyn ja syklin suunnitteluun. He tekevät yhteistyötä hyväksyntätesteissä, hyväksyvät tai hylkäävät välihavainnot ja edistävät hankkeen yleistä suuntaa. Lisäksi asiakkaiden aktiivinen osallistuminen johtaa parempiin tuloksiin vesiputousmenetelmää käytettäessä.

Ryhmällä on valtuudet tehdä valintoja. #

Syklin sisällä projektiryhmällä on oltava valtuudet tehdä omat päätöksensä. Jos projektiryhmältä puuttuu tämä valtuutus, projektinhallinnan syklinen malli ei toimi. Jos esimiehen jatkuva hyväksyntä vaaditaan koko syklin ajan, tämä voi johtaa pysähtymiseen. Lisäksi ulkopuoliset eivät usein tiedä mitä tapahtuu, koska he eivät ole aktiivisesti mukana projektiryhmässä; tämä tekee heidän vaikeaksi tehdä järkeviä päätöksiä.

Projektin tuotos (ohjelmisto) voidaan jakaa pienempiin osiin. #

Syklinen projektinhallinta on menetelmä projektien hallintaan, jossa osia projektista suoritetaan jaksoissa. Tämä on mahdollista vain, jos kehitettävä ohjelmisto on hajotettavissa useiksi enemmän tai vähemmän erillisiksi komponenteiksi.

Johdon vaatimukset projektinhallintaohjelmistoille ovat ensisijaisesti globaaleja; hallinta ei aseta suoria, konkreettisia tai erityisiä vaatimuksia. Yksi syklisen projektinhallinnan eduista on tiivis yhteistyö asiakkaan, suunnittelijoiden, ohjelmoijien ja mahdollisten testaajien välillä syklien aikana. Jos projektin alussa asetetaan erityisiä ja konkreettisia vaatimuksia, se rajoittaa projektiryhmän kykyä käyttää parasta harkintaa suunnitteluvalintoja tehdessään. Useat hanketta koskevat vaatimukset paljastuvat mukauttamisen tarpeessa prosessin aikana, eikä niitä siksi pitäisi (liian) lujasti vahvistaa alussa.

Asiakas ymmärtää toiminnan. #

Jos syklin sisällä on tehtävä merkittävää teknistä työtä, jota asiakkaan on vaikea ymmärtää, on olemassa riski, että asiakas ei pysty osallistumaan tehokkaasti tiimiin. Tällaisessa tilanteessa asiakkaalla on hyvin vähän sananvaltaa tehtäviin suunnittelupäätöksiin.

Samanlainen riski on olemassa, kun asiakas ei ole tietoinen edistymisestä. Esimerkiksi suuri osa työstä voi olla omistettu koodaamiseen, mutta käyttöliittymään ei kiinnitetä juurikaan huomiota. Asiakkaiden on tärkeää saada riittävä käsitys syklin sisällöstä ja etenemisestä, jotta vältytään työntämiseltä sivuun.

Askeleita pitäisi voida jäljittää. #

Jopa syklisessä projektinhallinnassa tiimit kulkevat toisinaan polkuja, jotka osoittautuvat vääriksi. Tällaisessa tapauksessa pitäisi olla mahdollista ottaa askel taaksepäin. Jos syklin aikana luotu uusi moduuli havaitaan riittämättömäksi, on voitava jatkaa työskentelyä edellisen moduulin kanssa. Tämä asettaa vaatimuksia erityisesti projektimateriaalien arkistointiin ja dokumentointiin. CVS ja Subversion ovat kaksi hyödyllistä työkalua näihin tehtäviin (katso täydellinen luettelo työkaluista liitteestä 3).

Ohjelmointitaitojen ohella ohjelmoijien tulee kyetä olemaan tehokasta vuorovaikutusta asiakkaiden kanssa ja päinvastoin. Ryhmän jäsenten on oltava älyllisiä ajattelijoita. Työssä jatkaminen vaatii kurinalaisuutta.

Organisaation, jossa hanketta toteutetaan, on myös tuettava riittävästi tätä toimintatapaa. Projektien tukemiseen tarvitaan ajanseuranta-, arkistointi- ja aikataulutusjärjestelmiä. Nämä rekisteröintijärjestelmät tarjoavat olennaisen avoimuuden taatakseen resurssien oikeudenmukaisen jakamisen projekteille ja ajanjaksoille.

Priorisointi #

Hankkeille tulee antaa riittävä painoarvo, ja tiimin jäseniä tulee tarjota niiden käyttöön. On tehotonta vaatia tiimin jäseniä tekemään liian monta tehtävää samanaikaisesti. Jos organisaatio ei ole riittävästi sopeutunut projektipohjaiseen työhön, syklinen projektinhallinnan joustavuus johtaa todennäköisesti kaaokseen. Lisäksi vesiputoustekniikka hyötyy organisoidusta lähestymistavasta projektinhallintaan (katso Wijnen, 2004, s. 111).

Ohjelmistokehitysyrityksen johtajalla, joka oli enemmän visionääri kuin johtaja, oli lähes joka kuukausi hyvä idea ja hän teki jatkuvasti uusia aloitteita yrityksessään. Tämän seurauksena vanhemmat projektit eivät koskaan valmistuneet ja työntekijät työskentelivät jopa viidessä projektissa samanaikaisesti. Karismaattinen johtaja oli juuri lukenut kirjan nopeasta sovelluskehityksestä (RAD) ja oli siitä erittäin innoissaan – erityisesti “rapid” -elementistä. Hän teippasi RAD:n perusideat kopiokoneeseen ja odotti sitten, että kaikki alkaisivat työskennellä näiden käsitteiden parissa. Loppujen lopuksi se oli loistava tekniikka.

Suhdanneohjauksen riskit #

Sykliset projektinhallintatekniikat eivät toisinaan jätä tarpeeksi aikaa vaadittujen ominaisuuksien suorittamiseen. Koska projektin kesto on kiinteä, toimintoja tulee lähes varmasti vähemmän kuin alun perin odotettiin.

Vaikka tämä on perusteltu huolenaihe, se kuuluu myös vesiputouslähestymistapaan . Vesiputouslähestymistavan määrittelyvaihe sisältää vaatimusten perusteellisen tarkastelun. Tämä analyysi johtaa todennäköisesti parempaan ajanhallintaan. Näin ei useinkaan ole todellisuudessa edellä mainituista syistä.

Lisäksi toiminnallisuudet jätetään tässä lähestymistavassa pois, koska niiden kehittämiseen ei ole riittävästi varoja.

Vaatimuksia käsitellään pragmaattisesti syklisissä lähestymistavoissa. Esimerkiksi syklien tarpeet voidaan luokitella MoSCoW-kriteereillä (Stapleton, 2003) seuraavasti:

  • Pakollinen: järjestelmäkriittiset vaatimukset
  • Pitäisi olla: kriittiset tarpeet, joita käyttäjät todella haluavat
  • Voisi olla: toivottuja tarpeita, jotka voidaan helposti jättää huomiotta
  • Haluatko saada: vaatimukset, jotka eivät täyty tällä kertaa: vaatimukset, jotka voivat odottaa myöhemmin

Riippumatta siitä, onko tiettyjä ominaisuuksia enää saatavilla, DANS-projektipäälliköt uskovat, että syklinen työ johtaa korkeampaan asiakastyytyväisyyteen kuin vesiputouslähestymistapa. Joka tapauksessa odotuksia valvotaan säännöllisesti tehokkaammin, ja projektit tuottavat rutiininomaisesti toimivia tuloksia, vaikka ne olisivat vähemmän monimutkaisia kuin alun perin kuviteltiin.

Mahdollisten haittojen ymmärtäminen #

Yksi yleisesti mainittu XP:n haittapuoli on se, että ohjelmoijille siirretään merkittävää tehoa. Jos he käyttävät väärin tätä oikeutta, he voivat käyttää hyväkseen asiakkaan teknisen asiantuntemuksen puutetta. Tämän skenaarion välttäminen vaatii projektijohtajan, joka osaa ottaa huomioon sekä ohjelmoijien että asiakkaan edut. Nämä projektipäälliköt auttavat asiakkaitaan syklien valinnassa ja suunnittelussa, valintansa teknisten perusteiden ymmärtämisessä sekä hallinnossa ja raportoinnissa.

Lopuksi toinen XP:n haittapuoli on, että menetelmän toteutus vaatii korkeaa oppimiskäyrää ohjelmoivilta, johtajilta ja kuluttajilta.