Hvad er adaptiv softwareudvikling?
Adaptiv softwareudvikling er et designprincip for oprettelse af softwaresystemer. Princippet fokuserer på hurtig oprettelse og udvikling af softwaresystemer. Der er aldrig en periode, hvor softwaren er færdig; der er bare stabile perioder mellem nye udgivelser. Adaptiv softwareudvikling voksede ud af den hurtige applikationsudviklingsmetode. Disse to metoder ligner struktur, men hurtig applikationsudvikling giver mulighed for et tidspunkt, hvor projektet er færdigt, mens adaptiv softwareudvikling ikke gør det.
Fokus for adaptiv softwareudvikling ligger i computerkoden. I stedet for at planlægge softwaren på forhånd, har udviklere en grundlæggende idé i hovedet, og de går på arbejde. Når brikker skal ændres eller tilpasse sig et nyt system, gør koderne simpelthen det. Hvis programmet har brug for en programrettelse, gør nogen bare det.
Generelt giver manglen på forhåndsplanlægning trin udviklerne mulighed for at fremstille softwaren meget hurtigt. Selvom dette lejlighedsvis resulterer i software, der ikke udfører de nøjagtige funktioner, der kræves, er det generelt ikke et problem. Udviklingscyklussen i denne proces er så kort, at en ny version med yderligere funktioner kan komme ud meget hurtigt. Denne proces eller hurtig prototype er hjørnestenen i både adaptiv softwareudvikling og hurtig applikationsudvikling.
Det sted, hvor de to metoder er forskellige, er i det endelige slutpunkt. Til adaptiv softwareudvikling er der ikke et reelt slutpunkt, bare et tidspunkt, hvor softwaren ikke længere er behov for, eller koden er porteret til en applikation med højere generation. På den anden side muliggør hurtig applikationsudvikling afslutningen af et projekt, et tidspunkt, hvor softwaren er fejlfri og har opfyldt køberens krav.
Adaptiv softwareudvikling er lavet af tre trin, der hver især drejer sig om kodning af et program. Det første trin er spekulation. I denne fase forsøger kodere at forstå den nøjagtige art af softwaren og brugernes krav. Denne fase er afhængig af fejl og brugerrapporter for at guide projektet. I ingen rapporter er tilgængelige, bruger udviklerne de grundlæggende krav, der er skitseret af køberen.
Samarbejdsfasen er, når de enkelte udviklere styrker, hvad de gør, og hvordan man kombinerer deres dele. Denne fase er generelt helt internt. Udviklerne har ikke brug for yderligere information eller ekstern input for at administrere denne del af softwaren.
Det sidste trin er læring. I indlæringsfasen frigives den nyeste version af softwaren til brugerne. Dette genererer den fejl og brugerrapporter, der blev brugt i den første fase af projektet, og cyklussen gentager sig selv.