Ketterä metodologia: Merkitys, edut, haitat ja paljon muuta

Oletko aina halunnut tietää, mitä ketterä metodologia ohjelmistokehityksessä on? Katso tarkemmin tästä saadaksesi yksityiskohdat.

Ketterä metodologia on ohjelmistokehitysfilosofia, jonka tavoitteena on tuottaa asiakkaille parempaa lisäarvoa käyttämällä lyhyempiä kehityssyklejä ja jatkuvaa päivitystä.

Ohjelmistokehitys kasvoi matematiikan ja luonnontieteiden aloilta. Joten se sisälsi alun perin näiden alojen tieteelliset menetelmät.

Nämä menetelmät kehittyivät vesiputouslähestymistapaksi 1970-luvulla vastatakseen päivän vaatimuksiin. Tietokoneet ja niiden ohjelmistot olivat tuohon aikaan suuria, monimutkaisia ​​ja suunniteltu kestämään vuosikymmeniä. Joten vesiputousmenetelmä sopi hyvin.

Mutta 1990-luvun lopulla internet muutti maailmaa dramaattisesti, ja uusi lähestymistapa tuli välttämättömäksi. Näin ketterä metodologia heräsi henkiin.

Seuraavassa tarkastellaan lähemmin tätä ohjelmistokehitysliikettä ja kuinka se voi auttaa sinua ja tiimiäsi.

Ketterän kehitysmenetelmän historia

Ketterä ohjelmistokehitys sai alkunsa Internetistä ja sen kyltymättömästä sovellusten tarpeesta 1990-luvun ja 2000-luvun alun nousukausien aikana.

Tämä oli myös ajanjakso, jolloin monet kehittäjät, joilla ei ollut tietojenkäsittelytieteen taustaa, siirtyivät verkkokehitykseen, koska eri ryhmiä ja toimialoja palveleville verkkosivustoille oli valtava tarve.

Luonnollisesti suurin osa startupeista oli pieniä. Joten suurin osa kehityksestä tapahtui pienissä tiimeissä, ja perimmäisenä tavoitteena on usein nopea markkinoilletulo. Myöhästyminen merkitsi markkinaosuuden menettämistä.

Eri kehittäjät keksivät 1990-luvulla erilaisia ​​menetelmiä torjuakseen rajoituksia, joita vesiputousmalli asetti tuotteiden saamiselle markkinoille mahdollisimman nopeasti. Niihin kuuluvat Rapid Application Development (RAD), Scrum, Extreme Programming (XP), Kanban ja muut.

Sitten joskus vuonna 2001 17 kehittäjää, jotka harjoittivat yhtä tai toista varhaisen ketterän kehityksen muotoa, kokoontuivat yhteen Utahissa, Yhdysvalloissa. Sitten he päättivät tapaamisensa julkaisemalla Manifestin for Agile Software Development.

Tämä manifesti perustuu 4 arvoon ja 12 periaatteeseen.

Ketterän kehityksen 4 arvoa ja 12 periaatetta

Tapaamisen aikana saamiensa kokemusten perusteella 17 kehittäjää pääsivät yhteisymmärrykseen arvoista, joiden avulla ohjelmistot voidaan luoda tehokkaammin.

Nämä neljä arvoa ovat seuraavat:

  1. Yksilöt ja vuorovaikutus yli prosessien ja työkalut. Tämä tarkoittaa, että ohjelmiston kehittäminen työkaluilla tiettyä prosessia noudattaen on tärkeää. Mutta pätevien ihmisten tehokkaampi yhteistyö on tärkeämpää.

  2. Toimiva ohjelmisto kattavan dokumentoinnin yli. Tämä hyökkää vesiputousmenetelmää vastaan, jossa ensin suunnitellaan ohjelmisto ja kirjoitetaan sen dokumentaatio ennen varsinaista ohjelmistokehitysprosessia.

  3. Asiakasyhteistyö sopimusneuvottelujen yli. Vain tekemällä läheistä yhteistyötä asiakkaan tai käyttäjän kanssa voit oppia ja kehittää juuri sitä, mitä asiakas tarvitsee. Tämä luo lisää arvoa.

  4. Vastaa muutokseen suunnitelman mukaan. Projektisuunnitelman noudattaminen on tärkeää. Mutta suunnitelma ei saa olla liian tiukka. Sen on mukauduttava muutoksiin, jotta se vastaa sidosryhmien odotuksia.

Nämä yllä olevat ketterän manifestin arvot perustuvat 12 periaatteeseen, ja ne ovat seuraavat:

  1. Asiakastyytyväisyys arvokkaiden ohjelmistojen varhaisessa ja jatkuvassa toimituksessa.
  2. Tervetuloa muuttuviin vaatimuksiin, myös myöhäisessä kehitysvaiheessa.
  3. Toimita toimiva ohjelmisto usein (viikoittain kuukausien sijaan)
  4. Tiivistä, päivittäistä yhteistyötä liikemiesten ja kehittäjien välillä
  5. Projektit rakentuvat motivoituneiden yksilöiden ympärille, joihin tulee luottaa
  6. Kasvokkain tapahtuva keskustelu on paras viestintämuoto (yhteispaikka)
  7. Toimivat ohjelmistot ovat edistymisen ensisijainen mitta
  8. Kestävä kehitys, pystyy ylläpitämään tasaista tahtia
  9. Jatkuvaa huomiota tekniseen huippuosaamiseen ja hyvään suunnitteluun
  10. Yksinkertaisuus – tekemättä jääneen työn maksimoiminen – on välttämätöntä
  11. Parhaat arkkitehtuurit, vaatimukset ja mallit syntyvät itseorganisoituvien tiimien avulla
  12. Tiimi pohtii säännöllisesti, kuinka tehostaa toimintaansa, ja mukautuu sen mukaan

Iteraatiot tai sprintit

Iteraatiot tai sprintit ketterissä ohjelmistokehityksessä ovat lyhyitä, yleensä 1-4 viikon pituisia jaksoja, joihin kehitystyö katkeaa. Tämä helpottaa asioiden hallintaa, koska se vaatii vähemmän suunnittelua.

Kukin tiimi koostuu tyypillisesti myös jäsenistä, joilla on erilaisia ​​tehtäviä, ja näihin voi kuulua suunnittelua, analysointia, suunnittelua, koodausta ja testausta.

Tiimi työskentelee ohjelmiston parissa jokaisessa iteraatiossa tai sprintissä yhdessä. Ja he tuottavat toimivan tuotteen lopussa. Tämä työohjelmisto on ketterän manifestin mukaan todellisen edistyksen mitta.

Tuotteesta ja asiakkaan tarpeista riippuen iteroinnin tuote saattaa joutua markkinoille tai ei. Siksi yksi julkaisu vaatii usein useita iteraatioita.

Ketterän kehityksen edut

Kuten voit kuvitella, ketterällä menetelmällä on monia etuja. Ne ovat seuraavat:

  1. Ideoiden nopeampi toteutus
  2. Enemmän joustavuutta kuin vesiputouslähestymistapa
  3. Parempi tuottavuus hallituilla iteraatioilla
  4. Parempia tuotteita käyttäjien vuorovaikutuksen ansiosta
  5. Virheet tunnistetaan ja poistetaan nopeasti

Ketterän metodologian haitat

Ketterällä kehitysmenetelmällä työskentelemisessä on myös joitain haittoja. Ja ne voivat sisältää:

  1. Alussa voi olla vaikea arvioida kokonaiskustannuksia
  2. Se vaatii paljon asiakkaiden panosta
  3. Sisältää paljon suunnittelematonta työtä
  4. Ei selkeästi määriteltyä projektin loppua

Milloin käyttää ketteriä menetelmiä

  1. Kun et osaa arvioida, mitä ohjelmisto vaatii
  2. Sinulla on tarpeeksi pääsyä asiakkaisiin
  3. Olet kehittämässä verkkosovellusta tai helposti päivitettävää järjestelmää
  4. Sinun on nopeasti kaapattava markkinaosuus varhaisella julkaisulla

On olemassa monia suosittuja ketteriä kehityskehyksiä. Jotkut aloittivat paljon ennen Ketterä manifestia vuonna 2001, kun taas toiset tulivat myöhemmin.

Viitekehyksen tavoitteena on yksinkertaisesti määritellä menetelmän säännöt. Joten vaikka suosituimmat puitteet on lueteltu alla viitteellesi, niitä on monia muitakin. Voit myös vapaasti luoda omasi tai muokata olemassa olevaa kehystä tiimillesi sopivaksi.

  1. Tungos: Tämä kehys on suunniteltu tiimeille, joissa on 10 tai vähemmän jäsentä. Työ jakautuu 2-4 viikon pituisiin sprinteihin, joissa on päivittäin 15 minuutin kokouksia.

  2. Kanban: Toyotasta peräisin oleva Kanban on japanilainen sana, joka tarkoittaa mainostaulua ja on erittäin hyödyllinen visuaalisia apuvälineitä arvostaville ryhmille. Tehtävät siirretään vaiheesta toiseen käyttämällä visuaalisia esityksiä, kuten muistilappuja tai sovelluksia.

  3. Nopea sovelluskehitys RAD: Tämä lause voi viitata sekä ketterään ohjelmistokehitykseen yleensä että James Martinin menetelmään. RAD keskittyy käyttöliittymävaatimuksiin ja luottaa voimakkaasti prototyyppiin.

  4. Lean Startup: Tämä kehys on tarkoitettu niille, joiden on kehitettävä tuote tai palvelu, mutta ensin määritettävä sen elinkelpoisuus markkinoilla. Se sisältää kokeilun sen selvittämiseksi, mikä toimii ja mikä ei.

Muita merkittäviä puitteita ovat Extreme Programming (XP), Adaptive Software Development, Agile Modeling, Dynamic Systems Development Method ja Scaled Agile Framework.

Ketterä vs vesiputous -metodologiat

Tässä on vierekkäinen katsaus ohjelmistokehityksen kettereihin ja vesiputousmenetelmiin. Se voi auttaa tietämään, kuinka kukin menetelmä pinoutuu toisiaan vastaan. Joten voit helposti valita parhaat työkalut työhösi.

KetteräVesiputous
Inkrementaalinen ja iteratiivinen lähestymistapaLineaarinen ja peräkkäinen elinkaarimalli
Joustava vaihdettavaJäykät toteutukset
Testit ja arvostelut ovat käynnissäValmistumisen jälkeen on vain yksi testausvaihe
Vaatimukset voivat muuttuaVaatimukset vahvistetaan suunnittelun jälkeen
Kokoelma monia pienempiä projektejaYksi projekti
Enemmän asiakkaiden osallistumistaVähemmän asiakkaiden osallistumista

Mukautuva vs ennakoiva kehitys

Ketterän ohjelmistokehityksen tavoitteena on sopeutua todellisen maailman muutoksiin. Ja nämä ovat usein seurausta asiakkaan tai käyttäjän tarpeista. Sopeutuminen on jyrkässä ristiriidassa vesiputousmallin ennustavan luonteen kanssa.

Silloin on järkevää käyttää ketteriä menetelmiä kehitettäessä järjestelmiä, joista ei ole niin varma, miten asiat menevät. Tai kun alalla tapahtuu jatkuvasti muutoksia ja kehitystä. Internet on suuri esimerkki.

Muuten, jos olet kehittämässä järjestelmää tai markkinoita, joista tiedät kaiken ja joka tuskin muuttuu tai on immuuni muutokselle. Sitten vesiputousfilosofian ennakoivasta luonteesta voi olla apua.

Ohjelmiston käsityötaito

Software Craftsmanship on toinen ketterille kehitysperiaatteille rakentuva filosofia, joka keskittyy projektiin osallistuvien ohjelmistokehittäjien osaamisen korostamiseen.

Software Craftsmanship -liikkeellä on myös manifesti ja siinä sanotaan:

Pyrkivänä ohjelmistokäsityöläisinä nostamme ammattimaisen ohjelmistokehityksen rimaa harjoittelemalla sitä ja auttamalla muita oppimaan taitoa. Tämän työn kautta olemme oppineet arvostamaan: · Toimivien ohjelmistojen lisäksi myös hyvin muotoiltuja ohjelmistoja · Ei vain muutokseen reagoimista, vaan myös jatkuvaa lisäarvoa · Ei vain yksilöitä ja vuorovaikutusta, vaan myös ammattilaisten yhteisö · Ei vain asiakas yhteistyötä, mutta myös tuottavia kumppanuuksia Toisin sanoen vasemmanpuoleisten kohteiden tavoittamisessa olemme havainneet oikeanpuoleiset kohteet välttämättömiksi. © 2009, allekirjoittanut. Tätä lausuntoa saa vapaasti kopioida missä tahansa muodossa, mutta vain kokonaisuudessaan tämän ilmoituksen kautta

Yhteenveto

Ketterän metodologian ja ohjelmistokehityksen tarkastelun lopussa näet, että siellä on niin monia vaihtoehtoja.

Jokainen joukkue on erilainen. Ja aivan kuten eri tiimit kehittivät erilaisia ​​​​menetelmiään sopeutuakseen muuttuviin aikoihin. Sinunkin on sopeuduttava joko käyttämällä jo vakiintunutta kehystä tai mukauttamalla se tiimillesi sopivaksi.

Nnamdi Okeke

Nnamdi Okeke

Nnamdi Okeke on tietokoneharrastaja, joka rakastaa lukea monenlaisia ​​kirjoja. Hän pitää Linuxista parempana kuin Windows/Mac ja on käyttänyt
Ubuntu alusta alkaen. Voit saada hänet kiinni Twitterissä bongotrax

Artikkelit: 278

Vastaanota teknisiä tavaroita

Tekniset trendit, startup-trendit, arvostelut, online-tulot, verkkotyökalut ja markkinointi kerran tai kahdesti kuukaudessa

Yksi kommentti

  1. Tämä on yksi mukavimmista näkemistäni yhteenvedoista ja vertailuista.
    Auttaa, että se huomauttaa, että ketterä EI ole välttämätön vastaus kaikkiin yrityksen ohjelmistokehityksen ongelmiin.

Jätä vastaus

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *