Ketterä ohjelmistokehitys
Wikipedia
Ketterä ohjelmistokehitys (engl. agile software development) on joukko ohjelmistotuotantoprojekteissa käytettäviä menetelmistöjä, joille on yhteistä toimivan ohjelmiston ensisijaisuus, suora viestintä ja nopea muutoksiin reagointi. Ketteriä menetelmiä on useita, mm. Extreme Programming (XP), Scrum, DSDM, Crystal ja Gilb-EVO.
[muokkaa] Ketterien menetelmien yhteiset piirteet
Useimmat ketterät menetelmät pyrkivät minimoimaan riskejä jakamalla ohjelmistokehityksen lyhyisiin iteraatioihin, jotka kestävät tyypillisesti yhdestä neljään viikkoa. Kukin iteraatio on kuin pieni ohjelmistoprojekti ja sisältää kaikki uusien toimintojen julkaisemiseen tarvittavat tehtävät: projektisuunnittelun, vaatimusanalyysin, ohjelmistosuunnittelun, koodauksen, testauksen ja dokumentoinnin. Vaikka iteraatio ei välttämättä lisää niin paljon toiminnallisuutta, että tuotteen julkaisu olisi järkevää, ketterä ohjelmistokehitysprojekti pyrkii periaatteessa julkaisukelpoiseen ohjelmistoon jokaisen iteraation lopussa. Iteraation lopussa projekti arvioi uudelleen projektin prioriteetit ja päättää seuraavan iteraation sisällöstä.
Ketterät menetelmät pitävät suoraa viestintää (mieluiten kasvokkain) tärkeämpänä kuin kirjoitettuja dokumentteja. Useimmat ketterät tiimit työskentelevät samassa työtilassa, ja tiimiin kuuluvat kaikki, joita tarvitaan ohjelmiston saamiseen valmiiksi. Tämä tarkoittaa vähintään ohjelmoijia ja heidän ”asiakkaitaan”. (Asiakkaat määrittelevät tuotteen ja voivat olla tuotepäälliköitä, liiketoiminta-analyytikkoja tai varsinaisia käyttäjiä.) Tiimiin voi kuulua myös testaajia, käyttöliittymäsuunnittelijoita, teknisiä kirjoittajia ja päälliköitä.
Ketterät menetelmät korostavat toimivan ohjelmiston olevan ensisijainen edistyksen mittari eikä dokumentaatiolla ole samaa itseisarvoa, kuin useissa perinteisemmissä malleissa. Tästä seuraa yleinen harhaluulo, että ketterä kehitys olisi kuritonta hakkerointia, tai että suunnittelua ei tehtäisi lainkaan. Päinvastoin, suunnittelua tehdään jatkuvasti, koko projektin ajan. Suunnitelmia vain ollaan halukkaampia muuttamaan, kuin perinteisissä malleissa.
[muokkaa] Agile Manifesto ja Agile Alliance
Vuonna 2001 17 merkittävää ketterän kehityksen (jota silloin kutsuttiin ”kevyiksi menetelmiksi”) puolestapuhujaa kokoontui Snowbirdin hiihtokeskukseen Utahissa keskustelemaan menetelmiensä yhteisestä perustasta. He julkaisivat julistuksen nimeltä Agile Manifesto (’Ketterä manifesti’), jota pidetään ketterän kehityksen perusmääritelmänä. Manifeston sisältö on seuraava:
- Me etsimme parempia keinoja ohjelmistojen kehittämiseen tekemällä sitä itse ja auttamalla siinä muita.
- Tässä työssämme olemme päätyneet arvostamaan
-
- Yksilöitä ja interaktioita enemmän kuin prosesseja ja työkaluja
- Toimivaa sovellusta enemmän kuin kokonaisvaltaista dokumentaatiota
- Asiakasyhteistyötä enemmän kuin sopimusneuvotteluita
- Muutokseen reagoimista enemmän kuin suunnitelman noudattamista.
- Vaikka oikeallakin puolella on arvoa,
- me arvotamme vasemmalla olevia asioita enemmän.
Ketterien menetelmien käyttöä edistää Agile Alliance -niminen voittoa tuottamaton järjestö.
[muokkaa] Aiheesta muualla
- Agile Alliance (englanniksi)
- Agile Finland (englanniksi)