Vad är adaptiv mjukvaruutveckling?
Adaptiv mjukvaruutveckling är en designprincip för skapandet av programvarusystem. Principen fokuserar på snabb skapande och utveckling av programvarusystem. Det finns aldrig en period där programvaran är klar. det finns bara stabila perioder mellan nya utgåvor. Adaptiv mjukvaruutveckling växte ut ur den snabba applikationsutvecklingsmetoden. Dessa två metoder har liknande struktur, men snabb applikationsutveckling möjliggör en tid då projektet är klart, medan adaptiv mjukvaruutveckling inte gör det.
Fokus för adaptiv mjukvaruutveckling ligger i datorkoden. Istället för att planera programvaran i förväg har utvecklare en grundläggande idé i huvudet och de går på jobbet. När bitar behöver ändras eller anpassas till ett nytt system gör kodarna helt enkelt det. Om programmet behöver en patch, gör någon det bara.
Sammantaget tillåter bristen på förplaneringssteg utvecklarna att göra programvaran mycket snabbt. Även om detta ibland kommer att resultera i programvara som inte utför de exakta funktionerna som krävs, är det i allmänhet inte ett problem. Utvecklingscykeln i denna process är så kort att en ny version med ytterligare funktioner kan komma ut mycket snabbt. Denna process eller snabb prototypning är hörnstenen i både adaptiv mjukvaruutveckling och snabb applikationsutveckling.
Platsen där de två metoderna skiljer sig är i slutändan. För adaptiv mjukvaruutveckling finns det ingen verklig slutpunkt, bara en tid då programvaran inte längre behövs eller koden portas in i en högre generationens applikation. Å andra sidan möjliggör snabb applikationsutveckling slutet på ett projekt, en tid då programvaran är felfri och uppfyller köparens krav.
Adaptiv mjukvaruutveckling består av tre steg, var och en som kretsar kring kodning av ett program. Det första steget är spekulation. Under denna fas försöker kodarna att förstå programvarans exakta karaktär och användarnas krav. Den här fasen förlitar sig på fel- och användarrapporter för att vägleda projektet. I inga rapporter är tillgängliga använder utvecklarna de grundläggande kraven som anges av köparen.
Samarbetsfasen är när de enskilda utvecklarna solidifierar vad de gör och hur man kombinerar sina delar. Denna fas är i allmänhet fullständigt intern. Utvecklarna behöver inte ytterligare information eller extern input för att hantera den här delen av programvaran.
Det sista steget är lärande. Under inlärningsfasen släpps den senaste versionen av programvaran till användarna. Detta genererar fel och användarrapporter som användes under projektets första fas och cykeln upprepar sig.