Wat is adaptieve softwareontwikkeling?
Adaptieve softwareontwikkeling is een ontwerpprincipe voor het maken van softwaresystemen. Het principe richt zich op de snelle creatie en evolutie van softwaresystemen. Er is nooit een periode waarin de software is voltooid; er zijn gewoon stabiele periodes tussen nieuwe releases. Adaptieve softwareontwikkeling is voortgekomen uit de snelle methode voor het ontwikkelen van applicaties. Deze twee methoden hebben een vergelijkbare structuur, maar snelle applicatieontwikkeling zorgt voor een tijd waarin het project is voltooid, terwijl adaptieve softwareontwikkeling dat niet doet.
De focus van adaptieve softwareontwikkeling ligt op de computercode. In plaats van de software vooraf te plannen, hebben ontwikkelaars een basisidee in hun hoofd en gaan ze aan het werk. Wanneer stukken moeten worden veranderd of aangepast aan een nieuw systeem, doen de codeerders het gewoon. Als het programma een patch nodig heeft, maakt iemand het gewoon.
Over het algemeen kunnen ontwikkelaars door het ontbreken van stappen voorafgaand aan de planning de software zeer snel maken. Hoewel dit af en toe zal resulteren in software die niet de vereiste precieze functies uitvoert, is dat over het algemeen geen probleem. De ontwikkelingscyclus in dit proces is zo kort dat een nieuwe versie met extra functies heel snel uit kan komen. Dit proces of snelle prototyping is de hoeksteen van zowel adaptieve softwareontwikkeling als snelle applicatie-ontwikkeling.
De plek waar de twee methoden verschillen is in het uiteindelijke eindpunt. Voor adaptieve softwareontwikkeling is er geen echt eindpunt, alleen een moment waarop de software niet langer nodig is of de code wordt overgezet naar een toepassing van een hogere generatie. Aan de andere kant zorgt snelle applicatie-ontwikkeling voor het einde van een project, een tijd waarin de software vrij is van bugs en voldoet aan de eisen van de koper.
Adaptieve softwareontwikkeling bestaat uit drie stappen, die elk draaien om de codering van een programma. De eerste stap is speculatie. Tijdens deze fase proberen codeerders de exacte aard van de software en de vereisten van de gebruikers te begrijpen. Deze fase is afhankelijk van bug- en gebruikersrapporten om het project te begeleiden. Omdat er geen rapporten beschikbaar zijn, gebruiken de ontwikkelaars de basisvereisten die door de koper zijn uiteengezet.
De samenwerkingsfase is wanneer de individuele ontwikkelaars stollen wat ze allemaal doen en hoe ze hun porties kunnen combineren. Deze fase is meestal volledig in eigen beheer. De ontwikkelaars hebben geen aanvullende informatie of externe invoer nodig om dit gedeelte van de software te beheren.
De laatste stap is leren. Tijdens de leerfase wordt de nieuwste versie van de software vrijgegeven aan gebruikers. Dit genereert de bug- en gebruikersrapporten die tijdens de eerste fase van het project zijn gebruikt en de cyclus herhaalt zich.