Hva er adaptiv programvareutvikling?
Adaptiv programvareutvikling er et designprinsipp for å lage programvaresystemer. Prinsippet fokuserer på rask oppretting og utvikling av programvaresystemer. Det er aldri en periode hvor programvaren er ferdig; det er bare stabile perioder mellom nye utgivelser. Adaptiv programvareutvikling vokste ut av den raske applikasjonsutviklingsmetoden. Disse to metodene har samme struktur, men rask applikasjonsutvikling tillater en tid når prosjektet er ferdig, mens adaptiv programvareutvikling ikke gjør det.
Fokus for adaptiv programvareutvikling ligger i datakoden. I stedet for å planlegge programvaren på forhånd, har utviklere en grunnleggende idé i hodet, og de går på jobb. Når brikker trenger å endre eller tilpasse seg et nytt system, gjør koderne ganske enkelt det. Hvis programmet trenger en oppdatering, lager noen det bare.
Totalt sett lar mangelen på forhåndsplanlegging trinn utviklerne lage programvaren veldig raskt. Selv om dette av og til resulterer i programvare som ikke utfører de nøyaktige funksjonene som kreves, er det vanligvis ikke noe problem. Utviklingssyklusen i denne prosessen er så kort at en ny versjon med tilleggsfunksjoner kan komme ut veldig raskt. Denne prosessen eller rask prototyping er hjørnesteinen i både adaptiv programvareutvikling og rask applikasjonsutvikling.
Stedet hvor de to metodene er forskjellige, er i det endelige sluttpunktet. For adaptiv programvareutvikling er det ikke noe reelt sluttpunkt, bare en tid der programvaren ikke lenger er nødvendig eller koden blir portert inn i en applikasjon med høyere generasjon. På den annen side tillater rask applikasjonsutvikling slutt på et prosjekt, en tid der programvaren er feilfri og har oppfylt kravene fra kjøperen.
Adaptiv programvareutvikling er laget av tre trinn, som hver dreier seg om koding av et program. Det første trinnet er spekulasjoner. I løpet av denne fasen prøver kodere å forstå den nøyaktige arten av programvaren og kravene til brukerne. Denne fasen er avhengig av feil- og brukerrapporter for å veilede prosjektet. I ingen rapporter er tilgjengelige, bruker utviklerne de grunnleggende kravene som er skissert av kjøperen.
Samarbeidsfasen er når de enkelte utviklerne styrker hva de gjør og hvordan de kan kombinere delene. Denne fasen er generelt fullstendig internt. Utviklerne trenger ingen tilleggsinformasjon eller eksterne innspill for å administrere denne delen av programvaren.
Det siste trinnet er læring. I løpet av innlæringsfasen blir den nyeste versjonen av programvaren utgitt til brukerne. Dette genererer feilen og brukerrapporter som ble brukt i den første fasen av prosjektet, og syklusen gjentar seg.