Etusivu

Lataa PDF-versio

Sisällys:

  1. Johdanto
  2. Sulautettujen järjestelmien ketterät kehitysmenetelmät
  3. Tekniikkakatalogi
  4. Yritysesimerkit
  5. Lisätiedot

Keskustele ja kommentoi:

Johdanto

Esimerkki: Extreme Programming (XP)

Extreme Programming (XP) painottaa muiden ketterien menetelmien tapaan mukautuvuutta enemmän kuin ennustettavuutta. Menetelmän tarkoitus on parantaa sekä ohjelmiston laatua että tiimin kykyä vastata asiakkaan vaatimusten muuttumiseen.

XP:ssä useiden toistuvien ohjelmistojulkaisujen ja lyhyiden kehityssyklien tarkoitus on parantaa tuottavuutta ja tarjota tarkastuspisteitä kehityssyklien välissä. Iteraatioiden välillä uudet asiakasvaatimukset voidaan käydä läpi välittömästi ja tuoda mukaan kehitystyöhön. XP on tarkoitettu melko pienille projektitiimeille, joissa iteraation pituus vaihtelee yhden ja kolmen viikon välillä. Tämän lisäksi XP painottaa tasaista työtahtia, jossa ylitöiden tekoa pääsääntöisesti vältetään.

XP perustuu viiteen ydinarvoon sekä niiden pohjalta luotuihin periaatteisiin ja käytäntöihin. XP:n arvot ja käytännöt on suunniteltu siten, että muutoksen kustannus pysyy projektin ajan suunnilleen samana, eikä kasva eksponentiaalisesti ohjelmistoprojektin edetessä. Jos tähän tavoitteeseen päästään, tiimi voi toimia ketterästi toteuttaen haluttuja muutoksia sujuvasti myös projektin loppupuolella.

XP:n arvot

Kommunikaatio – Käytäntöjen on tarkoitus pitää sekä tiimin sisäinen että tiimin ja sidosryhmien välinen kommunikaatio sujuvana.

Yksinkertaisuus – On edullisempaa tehdä aluksi yksinkertaisin toteutus, jota voidaan joutua muokkaamaan myöhemmin, kuin tehdä heti monimutkainen ratkaisu, jota ei välttämättä ikinä tarvita.

Palaute – Konkreettista palautetta saadaan kehitettävältä järjestelmältä yksikkötestien muodossa, asiakkaalta hyväksymistestien muodossa sekä tiimin sisällä tiiviin yhteistyön kautta. Palautteen kautta tuote kehittyy oikeaan suuntaan.

Rohkeus – Äärimmilleen viedyt käytännöt vaativat rohkeutta. Tiimi kertoo rohkeasti tuotteen todellisen tilanteen. Ohjelmiston osia poistetaan ja kirjoitetaan uudelleen tarpeen tullen. Uusia lähestymistapoja kokeillaan parhaan lopputuloksen saavuttamiseksi.

Kunnioitus – Tiimin jäsenellä on oikeus ottaa vastuu omasta työstään ja tehdä se parhaaksi näkemällään tavalla. Tiimi kunnioittaa asiakkaan mielipiteitä ja asiakas tiimin asiantuntemusta.

XP:n käytäntöjä

2954.png

Kehittäjien päivittäiset käytännöt

Kehittäjät työskentelevät pareittain tarjoten arvokasta palautetta toisilleen ja kehittävät samalla laajempaa ymmärrystä järjestelmän toiminnasta. Ohjelmisto pidetään mahdollisimman yksinkertaisena ja sitä parannetaan jatkuvasti refaktoroimalla. Testivetoisessa kehityksessä  ohjelma rakennetaan yksikkötestien kautta, jolloin kaikki tuotettu koodi on toimivaa. Näin kasvatetaan asiakkaan ja kehittäjien luottamusta ohjelmistoa ja sen laatua kohtaan.

Tiimin työtä tukevat käytännöt

Ohjelmisto kehitetään yhteisen kielen, metaforan kautta. Tämän ja jatkuvan integroinnin avulla järjestelmä on koko ajan toimiva. Tiimillä on yhteiset ohjelmointistandardit ja tiimi omistaa yhteisesti kaiken koodin, jolloin käytännössä kuka tahansa pareista voi tehdä tarvittavat muutokset. Tämän lisäksi tiimin tavoitteena on työskennellä tasaisella tahdilla noin 40 tunnin työviikolla ilman merkittävää ylityötä. Tiimillä on selkeät pelisäännöt, jotka auttavat kohti nopeaa ja laadukasta toteutusta.

Kokonaisuuden hallinnan käytännöt

Koko tiimi työskentelee yhdessä samassa tilassa asiakkaan kanssa saaden jatkuvaa palautetta niin muilta tiimiläisiltä kuin asiakkaaltakin. Suunnittelupelissä otetaan huomioon asiakkaan laatimien käyttäjätarinoiden tekniset, aikataululliset ja liiketaloudelliset seikat ja valitaan mitkä käyttäjätarinat toteutetaan iteraation aikana. Jokaisen lyhyen iteraation lopuksi on olemassa toimintakuntoinen pieni julkaisu. Asiakas määrittelee asiakastestit, jotka tuotteen on läpäistävä ennen kuin sen voidaan sanoa täyttävän asiakasvaatimukset. Niin asiakas kuin kehittäjätkin tietävät koko tuotekehityksen ajan tuotteen realistisen tilanteen ja näin tuote saadaan vastaamaan sitä, mitä asiakas tarvitsee.

Lisää aiheesta

Wells D.: Extreme Programming – a gentle introduction. https://bit.ly/1tuWFpx

Beck K.: Extreme Programming Explained: Embrace Change, 2nd Edition.

Kirjallisuusluettelo


Päivitetty: 22.01.15 13:33

Jaa: