Watervalmethodologie versus RUP
Er zijn tegenwoordig een aantal verschillende methoden voor softwareontwikkeling die in de software-industrie worden gebruikt. Waterval-ontwikkelmethode is een van de eerste methoden voor softwareontwikkeling. De methodologie voor softwareontwikkeling van Waterfall is een sequentieel model waarin elke fase volledig wordt voltooid en in een vaste volgorde wordt gevolgd. RUP (Rational Unified Process) is een aanpasbaar procesraamwerk van iteratieve softwareontwikkelingsmethoden. RUP behandelt verschillende punten van kritiek op de ontwikkeling van watervallen, zoals starheid.
Wat is watervalmethodologie?
Watervalmethodologie is een van de eerste softwareontwikkelingsmodellen. Zoals de naam al doet vermoeden, is het een opeenvolgend proces waarin de voortgang van boven naar beneden door verschillende fasen stroomt, analoog aan een waterval. De fasen van het Watervalmodel zijn behoefteanalyse, ontwerp, ontwikkeling, testen en implementatie. Bedrijfsanalisten (of programmeurs zelf als het een kleine organisatie is) voeren de analysefase uit door de systeem- en bedrijfsvereisten van de klant van het project te krijgen. Vervolgens komen softwarearchitecten (of senior softwareontwikkelaars) met ontwerpdocumenten die de structuur en componenten van het voorgestelde systeem weergeven. Vervolgens doen junior-ontwikkelaars de codering met behulp van de ontwerpdocumenten. Na afronding van de ontwikkeling wordt het product overgedragen aan het testteam voor test- en verificatieprocessen. Ten slotte wordt het product geïmplementeerd (of geïntegreerd) bij de klant en wordt het project afgetekend. Belangrijk om hier op te merken is dat elke fase volledig is voltooid voordat u doorgaat naar de volgende fase. Dit model was een direct resultaat van het simpelweg aanpassen van de hardware-georiënteerde ontwikkelingsmethode (gevonden in de productie- en bouwsector), in een tijd dat er geen formeel model voor softwareontwikkeling was.
Wat is RUP?
RUP behoort tot de familie van iteratieve softwareontwikkelingsmethoden. Het is ontwikkeld door Rational Software Corporation (van IBM) in 2003. Het is eigenlijk een aanpasbaar procesraamwerk (geen enkel concreet proces), dat door de ontwikkelingsorganisatie kan worden aangepast aan hun behoeften. Enigszins vergelijkbaar met waterval, heeft het vaste fasen zoals aanvang, uitwerking, constructie en overgang. Maar in tegenstelling tot waterval is RUP een iteratief proces. De drie strategieën die door RUP zijn vastgelegd, zijn een aanpasbaar proces dat de ontwikkeling begeleidt, geautomatiseerde tools om het proces te versnellen en services die helpen om processen en tools sneller toe te passen. Deze stagiair van strategieën legt de zes best practices van software engineering vast (iteratieve ontwikkeling, beheervereisten, op componenten gebaseerde architectuur, visuele softwaremodellen,continue verificatie en beheer van wijzigingen).
Wat is het verschil tussen Waterfall Methodology en RUP?
Hoewel de Waterfall-methodologie en RUP vaste fasen hebben gedefinieerd, zijn er belangrijke verschillen tussen deze twee modellen. De belangrijkste eerbied is dat hoewel de Watervalmethodologie duidelijk een opeenvolgend proces is met voorgeschreven stappen waarin de huidige fase wordt voltooid voordat naar de volgende fase wordt overgegaan, RUP een iteratief proces is. In tegenstelling tot de watervalmethodiek, ontwikkelt RUP het product in verschillende fasen op basis van feedback van de aandeelhouders. Omdat elke RUP-iteratie een uitvoerbare release oplevert, krijgen de klanten veel eerder voordelen dan Waterfall. Ten slotte is de Waterval-methodologie een prescriptief concreet proces, terwijl RUP een aanpasbaar raamwerk van softwareprocessen is.