Cascade levenscyclusmodel: voor- en nadelen
Cascade levenscyclusmodel: voor- en nadelen

Video: Cascade levenscyclusmodel: voor- en nadelen

Video: Cascade levenscyclusmodel: voor- en nadelen
Video: What it's like to be a Workshop Controller 2024, April
Anonim

Softwareontwikkeling is niet zoals traditionele engineering. Een methodologie is wat door ontwikkelaars wordt gebruikt om werk op te splitsen in beheersbare, progressieve stappen, waarbij elk kan worden herzien om de kwaliteit te waarborgen. Teams werken samen met de klant om een afgewerkt softwareproduct te creëren met behulp van een van de softwareontwikkelingsmethodologieën. De meest populaire zijn het spiraal-, waterval- of cascademodel (waterval); RAD, of Rapid Application Development; Agile Model, of flexibel en iteratief, of iteratief model. Er zijn andere opties, maar in dit artikel zullen we alleen het waterval- of watervalmodel van de projectlevenscyclus beschouwen en ook de voor- en nadelen ervan onderzoeken. Laten we meteen uitleggen dat het een opeenvolging van bepaalde stappen is, en de eigenaardigheid ervan is dat de nieuwe faseniet mogelijk totdat de vorige is voltooid.

De geschiedenis van het watervalmodel

Methodologie in zijn traditionele vorm laat weinig ruimte voor onverwachte veranderingen. Als het ontwikkelteam niet te groot is en de projecten voorspelbaar zijn, kan Waterfall ervoor zorgen dat ze op tijd worden voltooid.

mensen maken ruzie
mensen maken ruzie

Het watervalontwikkelingsmodel bestaat al meer dan veertig jaar. Het werd voor het eerst beschreven in een artikel uit 1970 door W. Royce als een van de allereerste officiële modellen voor het ontwikkelingsproces. Het werd beschreven als ineffectief voor grote softwareontwikkelingsprojecten, maar niemand verbood het gebruik ervan voor kleine. Bijna een halve eeuw nadat het werd ontdekt, is deze techniek nog steeds relevant in de hedendaagse zakenwereld. Het wordt het verouderde model genoemd en wordt met enige minachting behandeld vanwege de veroudering van de traditionele projectmanagementaanpak. Maar Waterfall is een nuttige en voorspelbare aanpak als de vereisten vast, goed gedocumenteerd en duidelijk zijn, als de technologie begrijpelijk is en als het project niet veel tijd kost om te voltooien. In dit geval kan het watervalmodel van de softwarelevenscyclus een voorspelbaarder eindresultaat opleveren voor een bepaald budget, tijdsbestek en werkomvang.

Wat is het watervalontwikkelingsmodel?

Het Waterfall-model kan worden omschreven als een lineaire, sequentiële ontwikkeling van een project, waarbij processen voortdurend van vereisten naar ontwerp gaan en vervolgens naar implementatie, verificatie en implementatie metdaaropvolgend doorlopend onderhoud. Er wordt aangenomen dat het cascade-levenscyclusmodel is gemaakt dankzij W. Royce, hoewel hij zelf een iteratief ontwikkelingsmodel gebruikte.

Voordelen van het Waterfall Life Cycle Model
Voordelen van het Waterfall Life Cycle Model

De nadruk bij Waterfall-ontwikkeling ligt op planning, timing, doelen, budgetten en uiteindelijk de implementatie van het hele systeem als een enkele entiteit. De belangrijkste voordelen hier zijn eenvoudige vooruit- en achteruitplanning en implementatie.

Beschrijving van het watervalmodel

Vergeleken met andere methodologieën richt Waterfall zich meer dan andere op een duidelijke, gedefinieerde reeks stappen. Het oorspronkelijke model bestond uit vijf fasen. Het wordt vaak beschreven als een lineair sequentieel levenscyclusmodel. Dit betekent dat het een eenvoudige fasestructuur volgt, waarbij de resultaten van elke fase doorgaan naar het volgende ontwikkelingsniveau. De belangrijkste stappen zijn:

  1. Verzamel vereisten en maak documentatie.
  2. Ontwerp en systeemtechniek.
  3. Implementatie.
  4. Test en implementatie.
  5. Ondersteuning.
Voordelen van het Waterfall Life Cycle Model
Voordelen van het Waterfall Life Cycle Model

Teams moeten de hele stap voltooien voordat ze naar de volgende gaan, dus als iets niet klaar is voor een bepaalde deadline, wordt het meteen merkbaar. Ook vereist Waterfall, in tegenstelling tot Six Sigma of Scrum, geen certificering of speciale training voor projectmanagers of werknemers.

Kritiek op het watervalmodel

Cascademodel van de levenscyclus van informatiesystemenis bekritiseerd vanwege de inflexibiliteit na voltooiing van elke stap en voor het vertragen van het vermogen van de klant om feedback te geven. Deze methode kan echter goed werken voor kleinere projecten met beperkte budgetten. Het wordt vaak vergeleken met een bekende projectlevenscyclusmethodologie, PRINCE2, die is ontwikkeld door de Britse regering. Deze methodiek wordt nog steeds gebruikt in de publieke sector. Een van de belangrijkste verschillen tussen PRINCE2 en het Waterfall Life Cycle Model is dat het laatste een schriftelijke beschrijving vereist van alle vereisten vanaf het begin, omdat ze later moeilijk te herzien kunnen zijn. Voordat er met het maken van een code wordt begonnen, moeten deze nauwkeurig worden gedefinieerd en vastgelegd. Dit is een belangrijk voordeel van het watervallevenscyclusmodel.

Voor- en nadelen van het watervalmodel

Omdat technische documentatie een noodzakelijk onderdeel is van de initiële ontwikkelingsfase van de vereisten, betekent dit dat alle teamleden de doelen van het project duidelijk begrijpen. Nieuwe ontwikkelaars kunnen snel de regels voor het maken van code begrijpen en zonder problemen deelnemen aan de workflow. Bij gebruik van een watervalmodel van de levenscyclus van een informatiesysteem of project zorgt de gefaseerde uitvoering voor discipline.

nadelen van het watervallevenscyclusmodel
nadelen van het watervallevenscyclusmodel

Elke stap heeft een goed gedefinieerd beginpunt en conclusie, waardoor het gemakkelijk is om de voortgang bij te houden. Dit helpt om elke afwijking van de projectuitvoering van de overeengekomen tijdlijnen te verminderen.kader. In dit model wordt, in tegenstelling tot de spiraal, de software als één geheel beschouwd. Dus, mits aan alle eisen wordt voldaan, werkt het efficiënter. Als we de cascade- en spiraallevenscyclusmodellen blijven vergelijken, kunnen we concluderen dat de eerste universeler is en op verschillende gebieden kan worden toegepast.

Vereisten onderhandelingsfase

Een ander voordeel van het waterval-levenscyclusmodel is dat de kosten met een vrij hoge mate van nauwkeurigheid kunnen worden geschat zodra alle vereisten zijn geïdentificeerd. Als het wordt toegepast, betekent dit dat in de eerste fase alle testscenario's al gedetailleerd zijn beschreven in de functionele specificatie, wat het testproces eenvoudiger en transparanter maakt. En nog voor de ontwikkeling van de software wordt het ontwerp tot in detail uitgewerkt, waardoor de behoefte en het resultaat voor iedereen duidelijk is.

waterval levenscyclusmodel
waterval levenscyclusmodel

Een van de geweldige dingen van het gebruik van Waterfall is om vanaf het begin naar het eindproduct of eindresultaat te streven. Daarom moeten teams voorkomen dat ze afwijken van het doel. Voor kleinere projecten waar de bedoeling vrij duidelijk is, maakt deze stap het team vanaf het begin bewust van het algemene doel, waardoor de kans kleiner wordt dat het in de details verdwa alt naarmate het project vordert. De aanpak van Waterfall is zeer methodisch en benadrukt daarom het belang van heldere communicatie in elke fase. In het softwareontwikkelingsproces verschijnen bij elke nieuwe stap nieuwe mensen. Daarom is het belangrijk om te streven naarom informatie te documenteren gedurende de levenscyclus van het project.

Nadelen van het levenscyclusmodel van de waterval

Potentiële ontwikkelingsproblemen kunnen tijdens de ontwerpfase worden onderzocht en opgelost. Ook worden alternatieve oplossingen uitgewerkt en worden de optimale gekozen. Dit alles gebeurt voor de start van het project. Veel organisaties waarderen de aandacht voor documentatie vanaf het begin, omdat dit ook betekent dat er geen verrassingen mogen zijn bij het eindproduct. Maar in de praktijk is het zelden mogelijk om zonder wijzigingen aan te brengen. Het is vaak moeilijk voor klanten om hun eigen behoeften in termen van functionele specificatie pas in de vereistenfase te begrijpen. Dit betekent dat ze van gedachten kunnen veranderen zodra ze het eindproduct zien. Een dergelijk probleem is moeilijk op te lossen. Soms moet een applicatie bijna volledig opnieuw ontworpen worden.

Gebrek aan flexibiliteit in het watervalmodel

Een ander nadeel van het trapsgewijze IP (of project) levenscyclusmodel is het potentiële gebrek aan flexibiliteit. Er kunnen vragen rijzen om rekening te houden met nieuwe wijzigingen of wijzigingen in vereisten die zich hebben voorgedaan sinds het eerste overleg.

het cascadelevenscyclusmodel wordt gebruikt
het cascadelevenscyclusmodel wordt gebruikt

Aanpassingen als gevolg van bedrijfsplannen of marktinvloeden zijn mogelijk niet in aanmerking genomen bij de planning. Ook kan het langer duren voordat projecten zijn voltooid in vergelijking met het gebruik van een iteratieve methodologie zoals Agile.

Belangrijke punten bij het gebruik van watervalmethodologie

Als het gaat om het ontwikkelen van Waterfall, is het erg belangrijk dat softwareontwikkelaars klanten effectief kunnen begeleiden en adviseren om al deze problemen later te omzeilen. Vaak is het meest kritische aspect van het toepassen van het waterval-levenscyclusmodel dat klanten niet echt weten wat ze echt willen. In veel gevallen vindt echte wederzijdse interactie tussen ontwikkelaars en klanten pas plaats als de klant het model in actie heeft gezien.

cascademodel van de levenscyclus van het informatiesysteem
cascademodel van de levenscyclus van het informatiesysteem

Ter vergelijking: bij Agile-ontwikkeling kan de klant fragmenten van de werkende code zien die zijn gemaakt tijdens het werk aan het project. In tegenstelling tot Scrum, dat projecten opdeelt in afzonderlijke sprints, richt Waterfall zich altijd op het einddoel. Als uw team een specifiek doel heeft met een duidelijke einddatum, elimineert Waterfall het risico dat u een deadline mist wanneer u eraan werkt. Op basis van deze voor- en nadelen wordt Waterfall-ontwikkeling over het algemeen aanbevolen voor projecten die tijdens de levensduur van het project waarschijnlijk niet zullen veranderen of nieuwe ontwikkeling nodig hebben.

Aanbevolen: