Siirry sisältöön

Mitä on ketterä kehitys?

Ketterä (agile) on sateenvarjonimitys joukolle menetelmiä, jotka rakentuvat yhden vedonlyönnin ympärille: ohjelmisto on liian arvaamatonta suunniteltavaksi yksityiskohtaisesti etukäteen, joten toimita pieninä viipaleina, kuuntele mitä palautuu ja säädä jatkuvasti.

Tämä sivu käsittelee taustaa. Jos tiedät jo kaiken tämän, hyppää kohtaan Miten East Agile Tracker kartoittuu ketterään.

Helmikuussa 2001 seitsemäntoista ohjelmistoammattilaista — Kent Beck, Martin Fowler, Robert Martin, Ron Jeffries ja muita — tapasivat hiihtomajalla Utahissa ja kirjasivat ylös, mikä heillä oli yhteistä. He kutsuivat sitä Ketteräksi manifestiksi. Se on neljä riviä:

Löydämme parempia tapoja kehittää ohjelmistoja tekemällä sitä itse ja auttamalla muita siinä. Tämän työn myötä olemme oppineet arvostamaan:

  • Yksilöitä ja vuorovaikutusta enemmän kuin prosesseja ja työkaluja
  • Toimivaa ohjelmistoa enemmän kuin kattavaa dokumentaatiota
  • Asiakasyhteistyötä enemmän kuin sopimusneuvotteluja
  • Muutokseen reagoimista enemmän kuin suunnitelman noudattamista

Eli vaikka oikealla puolella olevilla asioilla on arvoa, arvostamme vasemmalla puolella olevia enemmän.

Siinä se. Sivun alkupuhe, kaksitoista tukevaa periaatetta ja yllä olevat neljä riviä. Se on vaikutusvaltaisin asiakirja nykyaikaisessa ohjelmistotyössä.

Neljän arvon takana manifestin kaksitoista periaatetta tarkentavat, miltä “ketterä” todella näyttää päivästä toiseen:

  1. Tärkein prioriteetti on asiakkaan tyytyväisyys arvokkaan ohjelmiston varhaisen ja jatkuvan toimittamisen kautta.
  2. Toivota muuttuvat vaatimukset tervetulleiksi, myös myöhään. Ketterät prosessit valjastavat muutoksen asiakkaan kilpailueduksi.
  3. Toimita toimivaa ohjelmistoa usein — viikkojen, ei kuukausien välein.
  4. Liiketoiminnan ihmisten ja kehittäjien on työskenneltävä yhdessä päivittäin.
  5. Rakenna projektit motivoituneiden yksilöiden ympärille. Anna heille mitä he tarvitsevat ja luota siihen, että he saavat työn tehtyä.
  6. Tehokkain tapa välittää tietoa on kasvokkainen keskustelu.
  7. Toimiva ohjelmisto on edistymisen ensisijainen mitta.
  8. Ketterät prosessit edistävät kestävää kehitystä — tasaista tahtia, loputtomiin.
  9. Jatkuva huomio tekniseen erinomaisuuteen ja hyvään suunnitteluun parantaa ketteryyttä.
  10. Yksinkertaisuus — taito maksimoida tekemättä jätetyn työn määrä — on välttämätöntä.
  11. Parhaat arkkitehtuurit, vaatimukset ja suunnitelmat syntyvät itseohjautuvista tiimeistä.
  12. Tiimi pohtii säännöllisesti, miten tulla tehokkaammaksi, ja virittää ja säätää sitten toimintaansa.

“Ketterä” on sateenvarjo. Sen alla on useita erillisiä metodologioita:

  • eXtreme Programming (XP) — Perheen vaativin. Pariohjelmointi, TDD, jatkuva integraatio, paikan päällä oleva asiakas, pienet julkaisut. Katso XP-sivumme.
  • Scrum — Aikarajatut iteraatiot nimeltä sprintit, päivittäiset standupit, nimetyt roolit (Product Owner, Scrum Master). Kevyempi insinööritekniikoiden suhteen kuin XP.
  • Kanban — Visualisoi työnkulku, rajoita keskeneräistä työtä, optimoi virtaus. Ei aikarajoja; vedä työntämisen sijaan.
  • Lean — Lainattu Toyotan tuotantojärjestelmästä: poista hukka, optimoi kokonaisuus, toimita nopeasti, rakenna laatu sisään.

Nämä menetelmät menevät päällekkäin ja yhdistyvät. Useimmat toimivat tiimit poimivat kirsikat kaikista neljästä. East Agile Tracker on mielipiteellinen XP:n suuntaan — katso eXtreme Programming — mutta suurin osa siitä, mitä se tarjoaa, toimii millä tahansa ketterällä makutyypillä.

Muutama sitkeä väärinkäsitys, jotka kannattaa nimetä:

  • Ketterä ei ole “ei suunnittelua”. Suunnitelmat ovat pienempiä ja lyhyempiä, mutta suunnittelu on jatkuvaa.
  • Ketterä ei ole “ei dokumentaatiota”. Kirjoita mitä tarvitaan. Manifesti sanoo, että toimiva ohjelmisto on arvokkaampaa kuin kattava dokumentaatio — ei sitä, että dokumentaatio olisi huono asia.
  • Ketterä ei ole Scrum. Scrum on yksi ketterä menetelmä. Niitä on useita.
  • Ketterä ei ole työkalu. Mikään työkalu ei tee sinusta ketterää. Ketterä on tapa työskennellä. Työkalut (tämä mukaan lukien) auttavat; ne eivät korvaa.

Miten East Agile Tracker kartoittuu ketterään

Osio nimeltä “Miten East Agile Tracker kartoittuu ketterään”

East Agile Tracker on suunniteltu yllä olevien periaatteiden ympärille. Tässä vastaavuus:

PrincipleHow the tracker supports it
Jatkuva toimitus1–4 viikon iteraatiot; nopeuteen perustuva automaattinen suunnittelu; julkaisut ensiluokkaisena tarinatyyppinä.
Muutoksen tervetulleeksi toivottaminenJärjestele työjono uudelleen milloin tahansa; tarinat liikkuvat vapaasti iteraatioiden välillä; ei “iteraatiolukkoa”.
Toimiva ohjelmisto mittanaNopeus laskee oletuksena hyväksytyt pisteet — vain toimitettu, toimiva työ lasketaan.
Kestävä tahtiNopeus ei ole tavoite; se on havainto. Järjestelmä suunnittelee seuraavan iteraation sillä, mitä todella teet.
ReflektioIteraatiokohtainen analytiikka: burndown, hylkäysaste, läpimenoaika, ennusteet.
Itseohjautuvat tiimitRoolit ovat tarkoituksella minimaaliset: owner / member / viewer. Tiimi päättää.
YksinkertaisuusTietopaneeli on yksi näyttö. Taulu mahtuu yhdelle sivulle. Vastustamme ominaisuuksia, jotka vievät huomion pois toimittamisesta.

Manifesti kirjoitettiin vuonna 2001. Sen jälkeen ohjelmistokehitys on saanut uudenlaisen osallistujan: tekoälyagentit.

Mielestämme agentit kuuluvat ketterään tiimiin — nimettyinä osallistujina, joilla on omat roolinsa, tekemässä oikeaa työtä ihmisten rinnalla. Periaatteet pätevät edelleen. Yksilöt ja vuorovaikutus sisältää nyt agenttiosallistujat. Itseohjautuvat tiimit sisältää nyt päätöksen siitä, mitä agentteja tuodaan mukaan ja mitä niiden sallitaan tehdä. Reflektio sisältää nyt agenttien panosten tarkastelun aktiivisuuslokista ja sen virittämisen, mitä ne työstävät.

East Agile Tracker on rakennettu tekemään tästä käytännöllistä. Jokainen tarina voi olla ihmisen tai agentin omistuksessa. Jokainen tarkastuslokimerkintä kohdistaa todellisen toimijan. Jokainen agentin toiminta on näkyvä, tarkasteltavissa ja peruutettavissa.

Rakentanut East Agile.