Wat zijn de juridische voor- en nadelen van elk ontwikkelingsmodel voor systeemontwikkeling?
Er bestaat een bepaalde methodologie voor het uitvoeren van systeemontwikkelingsprojecten. Meestal, wanneer men leert over juridische kwesties met betrekking tot systeemontwikkeling uit boeken en dergelijke, wordt vaak uitgegaan van de meest klassieke methode, bekend als het watervalmodel. Echter, de methodologie of het model voor het voortzetten van systeemontwikkeling is niet beperkt tot alleen het watervalmodel. Bijvoorbeeld, recentelijk wordt de Agile ontwikkelingsmethode ook vaak gekozen.
In dit artikel zullen we het watervalmodel en het Agile ontwikkelingsmodel vergelijken en uitleggen vanuit het oogpunt van juridische risico’s en geschillenpreventie.
Wat is een ontwikkelingsmodel?
Wat is het watervalmodel?
De meest algemene en klassieke manier om systeemontwikkeling aan te pakken is als volgt:
- Vereisten definitie: Identificatie van de functies die het systeem moet hebben en de benodigde specificaties
- Basisontwerp: Ontwerp van het totaalbeeld van het systeem, voornamelijk vanuit het perspectief van de gebruiker, zoals schermontwerp en schermovergangen
- Gedetailleerd ontwerp: Ontwerp van het totaalbeeld van het systeem, voornamelijk vanuit het perspectief van de ontwikkelende leverancier, zoals de verbindingen tussen programmacodebestanden
- Programmering implementatie: Codering van het programma volgens het ontwerpdocument
- Testen: Verificatie of het product voldoet aan de specificaties en het vragen van bevestiging aan de gebruiker
Deze ontwikkelingsmethode, die streeft naar een stroom van bovenstroom naar benedenstroom zonder zoveel mogelijk terugval of omkering van stappen, wordt het “watervalmodel” genoemd. Deze stroom is niet noodzakelijk om een werkend systeem te creëren. Echter, in systeemontwikkeling, die vaak een project wordt dat veel mankracht en een lange periode vereist, is planning belangrijk. Daarom wordt er ook vaak belang gehecht aan zaken als het scheiden van de verschillende stadia, het organiseren van rollen en het verduidelijken van de verantwoordelijkheidsgebieden van elke verantwoordelijke persoon.
Wat is het Agile ontwikkelingsmodel?
Aan de andere kant, de manier waarop ontwikkelingswerk wordt uitgevoerd, hoeft niet altijd te zijn door het “van bovenstroom naar benedenstroom” in één keer door te voeren. Natuurlijk is planning en vooruitziendheid belangrijk vanwege de aard van het werk. Echter, omdat het in de eerste plaats gaat om het creëren van iets nieuws of het maken van een kunstwerk, is het vaak onmogelijk om vanaf het begin een perfect plan op te stellen. Als we deze punten in overweging nemen, zou er ook een manier moeten zijn om niet alleen het werk volgens het plan uit te voeren, maar ook om gemakkelijk aanpassingen en specificatiewijzigingen na het feit te kunnen maken, en om het aantal herhalingen van trial and error te verhogen. Deze benadering wordt weerspiegeld in de “Agile ontwikkelingsmodel”. In het Agile ontwikkelingsmodel wordt over het algemeen zo min mogelijk tijd besteed aan het voorbereiden van gedetailleerde plannen en ontwerpen, en wordt een zeer klein programma geïmplementeerd en herhaaldelijk getest, geleidelijk aan veranderend in een groter programma of systeem.
De watervalmethode maakt het gemakkelijker om juridische kwesties te leren
Voordat we de twee ontwikkelingsmodellen vergelijken, willen we eerst de juridische kwesties die bij elk ontwikkelingsmodel horen en de gemakkelijkheid van informatie verzamelen en juridisch leren bespreken.
Veel referentieboeken zijn geschreven op basis van de watervalmethode
Als het gaat om het verzamelen van informatie en het leren over juridische kwesties gerelateerd aan systeemontwikkeling, heeft de watervalmethode de overhand. Juridische boeken die over systeemontwikkeling discussiëren, zijn meestal geschreven met de watervalmethode als uitgangspunt. Omdat klassieke en algemene systeemontwikkeling volgens de watervalmethode wordt uitgevoerd, wordt agile ontwikkeling vaak slechts als aanvulling beschouwd en blijft de introductie ervan vaak beperkt. Daarom, als je informatie wilt verkrijgen uit boeken over juridische kwesties gerelateerd aan systeemontwikkeling, is het gemakkelijker om te leren met de watervalmethode.
De watervalmethode heeft ook veel rechtspraak
Bovendien, omdat de watervalmethode een klassieke en algemene methode voor systeemontwikkeling is, kan er ook worden gezegd dat er veel accumulatie is van conflicten die in het verleden daadwerkelijk zijn opgetreden. In juridische discussies is kennis van eerdere rechtszaken net zo belangrijk als de artikelen zelf. Zelfs in gevallen waarin het moeilijk is om te zeggen of iets ‘wit’ of ‘zwart’ is door alleen de tekst van het artikel te interpreteren, kan kennis worden verkregen uit eerdere rechtszaken, waardoor de inhoud van het artikel kan worden aangevuld.
Zelfs als het geen gecodificeerde wet is, kan de accumulatie van oordelen die door de rechtbank zijn gegeven, worden gevestigd als een criterium voor oordeel, net als een artikel. Dit wordt ‘jurisprudentie’ genoemd. Zelfs in gebieden waar al jurisprudentie is opgebouwd, zoals systeemontwikkeling, kan het relatief gemakkelijk zijn om de uiteindelijke uitkomst van een conflict te voorspellen, zelfs als het een onbekend conflict is. Dit is een van de vele voordelen van systeemontwikkeling op basis van de watervalmethode.
De voordelen van elke ontwikkelingsmethode
Met inachtneming van het bovenstaande, zullen we hieronder de voor- en nadelen van elke methode vergelijken en ordenen. Het eerste deel is voornamelijk gericht op de voordelen van het watervalmodel, en hoe verder je naar beneden gaat, hoe duidelijker de voordelen van Agile ontwikkeling worden.
Vergelijking op basis van planning en voorspelbaarheid
Wat betreft planning en voorspelbaarheid, kan men zeggen dat het watervalmodel de overhand heeft. Ongeacht hoe groot het systeem is dat wordt gecreëerd, het wordt altijd opgesplitst in verschillende fasen die ‘van boven naar beneden’ verlopen. Door deadlines in te stellen voor elke fase, wordt het gemakkelijker om de voortgang relatief planmatig te beheren.
Aan de andere kant, omdat Agile ontwikkeling een methode is die niet veel kosten of inspanning besteedt aan voorafgaande planning of het totale concept, kan het gemakkelijk leiden tot een ad-hoc benadering.
Vergelijking op basis van de duidelijkheid van individuele rollen en verantwoordelijkheden
In het watervalmodel is er het voordeel dat de rollen van elk projectlid duidelijk kunnen worden gedefinieerd, omdat de processen in detail worden onderverdeeld.
Aan de andere kant, in Agile ontwikkeling, omdat de scheiding van processen vaak vaag wordt, is er een neiging dat ook zaken zoals wie verantwoordelijk is voor onvoorziene problemen vaag worden.
Vergelijking van de gemakkelijkheid van grootschalige ontwikkeling
Het superieure Waterfall-model in termen van planning en rolverdeling wordt steeds voordeliger naarmate de ontwikkeling groter wordt. Zelfs als er veel personeel georganiseerd moet worden, kunnen de kosten voor het afstemmen van menselijke relaties worden verlaagd door het proces te verfijnen en de arbeidsverdeling te bevorderen.
Aan de andere kant wordt het Agile ontwikkelingsmodel vaak niet geschikt geacht voor grootschalige ontwikkeling. Omdat het een aanpak is die meer waarde hecht aan het gevoel van snelheid tot aanvang dan aan planning en rolverdeling, is het moeilijk toe te passen in situaties waar men zich zorgen maakt over zaken als het uitlopen van de uiteindelijke deadline.
Vergelijking van snelheid en efficiëntie
Agile ontwikkeling begint sneller
Als het gaat om de snelheid waarmee een functieverzoek van de gebruikerskant daadwerkelijk wordt geïmplementeerd, heeft het Agile ontwikkelingsmodel de overhand. Dit komt omdat in het watervalmodel de verantwoordelijkheden meestal duidelijk gescheiden zijn tussen de bovenstroom en de benedenstroom, wat vaak leidt tot meer interne communicatie aan de kant van de leverancier. Dit aspect van verhoogde communicatie-inspanning is ook gekoppeld aan een grotere gevoeligheid voor verzoeken om specificatiewijzigingen na het feit.
Aan de andere kant kan het Agile ontwikkelingsmodel verwacht worden om snel te beginnen en uit te voeren zonder bewust een tussenpersoon in te stellen. Dit is nauw verbonden met het grootste voordeel van het Agile ontwikkelingsmodel, namelijk dat het gemakkelijk is om te reageren op specificatiewijzigingen na het feit. Echter, zelfs in het Agile ontwikkelingsmodel, als je blijft toegeven aan verzoeken voor specificatiewijzigingen en extra ontwikkeling, kan dit een risico vormen dat het project ‘in brand’ kan zetten. In deze zin is het succes van systeemontwikkeling met het Agile ontwikkelingsmodel afhankelijk van hoe goed je ‘verandermanagement’ kunt uitvoeren. Een gedetailleerde uitleg over verandermanagement is te vinden in het volgende artikel.
https://monolith.law/corporate/howto-manage-change-in-system-development[ja]
Het watervalmodel is minder geneigd om halverwege te stoppen
Aan de andere kant, bij het vergelijken van snelheid en efficiëntie, is het belangrijk om ook te kijken naar een langere tijdschaal. Als je het risico overweegt dat een project halverwege ‘in brand’ kan vliegen en de voortgang kan stoppen, heeft het watervalmodel de overhand. Het grootste risico dat een project halverwege stopt, is een gebrek aan communicatie tussen de gebruiker en de leverancier. Het watervalmodel, dat het gemakkelijker maakt om de rollen van beide partijen duidelijk te definiëren, heeft hier een voordeel.
Agile ontwikkeling is gemakkelijker te bevorderen in de acceptatiefase
Echter, vanuit het oogpunt van het gemak van het voeren van gesprekken in de acceptatiefase, heeft het Agile ontwikkelingsmodel enigszins de overhand. Dit komt omdat het een voorwaarde is dat de gebruiker en de leverancier gedetailleerde informatie delen, zelfs tijdens de voortgang van de systeemontwikkeling. Dit vermindert het risico dat een discrepantie in het begrip van beide partijen plotseling aan het licht komt bij het bekijken van het uiteindelijke product. Een gedetailleerde behandeling van de stap van systeemontwikkelingsacceptatie en de bijbehorende juridische problemen is te vinden in het volgende artikel.
https://monolith.law/corporate/estimated-inspection-of-system-development[ja]
Samenvatting
Als we deze vergelijking maken, kunnen we over het algemeen stellen dat het watervalmodel bijdraagt aan grondig beheer, terwijl het Agile ontwikkelingsmodel de voorkeur geeft aan snelheid van aanpak en uitvoering. Voor juridische kwesties die verband houden met systeemontwikkeling op basis van het Agile ontwikkelingsmodel, zie het volgende artikel voor meer details.
https://monolith.law/corporate/legal-and-contract-issues-of-agile-development[ja]
Of het watervalmodel of het Agile ontwikkelingsmodel het meest geschikt is, hangt niet alleen af van juridische overwegingen, maar moet ook worden beoordeeld op basis van de schaal, het budget en het doel van het project.
Category: IT
Tag: ITSystem Development