icon-arrow icon-check icon-mail icon-phone icon-facebook icon-linkedin icon-youtube icon-twitter icon-cheveron icon-download icon-instagram play close close icon-arrow-uturn icon-calendar icon-clock icon-search icon-chevron-process icon-skills icon-knowledge icon-kite icon-education icon-languages icon-tools icon-experience icon-coffee-cup
Werken bij Dev Talents

Software ontwikkeling methode

Software ontwikkeling methode

Er zijn verschillende methode van software ontwikkeling. De methodes kunnen worden onderverdeeld in drie groepen, namelijk de Lineaire methode, de iteratieve software methode of de spiraal software methode.

De Lineaire methode

Bij deze methode beginnen de software ontwikkelaars pas met hun werk als alles van te voren duidelijk is. Elke fase wordt stap voor stap uitgevoerd. Wel moet eerst de eerste stap helemaal zijn uitgevoerd voordat er naar de volgende stap kan worden gegaan. Een bekende software methode die hier onder valt is de watervalmethode.

De watervalmethode

De watervalmethode heeft zijn naam te danken dat de methode ook als een waterval verloopt. Zoals hierboven ook al genoemd, kan je niet terug naar een eerder stap en ga je pas verder als een stap helemaal is afgerond. Het proces verloopt van boven naar beneden, als een waterval dus. De volgende stappen worden in het proces opgenomen:

  • Analyseren en definiëren (=doel)
  • Ontwerpen (=wat)
  • Technisch ontwerp (=hoe)
  • Programmeren, ontwikkelen en implementeren
  • Testen
  • Integratie
  • Beheer & onderhoud

Als er geen iteratie is opgenomen in het proces, dan kan er in principe niet meer teruggegaan worden naar eerdere stap om iets te verbeteren. Vergelijk het met het bouwen van een huis. Als eenmaal de muren staan kan er niks meer worden gedaan aan de fundering. Een groot nadeel van deze methode is dat het langer duurt voordat er resultaten zichtbaar zijn. Ook als ze zichtbaar en fout zijn dat zijn ze moeilijk te herstellen en komt er vaak een groot kostenplaatje bij kijken. Wel is het een goede methode voor een gebruiker of een opdrachtgever als degene goed kan vertellen wat hij/zij wil. In de praktijk zie je echter dat veel software ontwikkelaars deze methode niet meer gebruiken.

De iteratieve software methode

In deze methode wordt het proces herhaalt. Het draait om het snel willen ontwikkelen van een prototype. Ook is het prototype flexibel waar door er soepel om gegaan kan worden met de specificaties van het prototype. Deze methode kan worden gekenmerkt door een cyclus. Een bekende methode die hier onder valt is de Agile methode, hieronder vallen Scrum, Kanban en Lean software Development.

Scrum

Zoals hierboven al genoemd van Scrum onder de Agile werkwijze. Scrum vergoot de wendbaarheid maakt het mogelijk om zo goed mogelijk aan te sluiten op de wensen van je doelgroep en eindgebruiker. Met Scrum zorg je ervoor dat je zo snel mogelijk toegevoegde waarde levert aan de opdrachtgever. Ook wordt Scrum niet alleen in de software branche gebruikt, maar ook in andere branches.

Bij Scrum schrijf je minder plannen en doe je in verhouding meer. Je doet dit in korte cycli die sprints worden genoemd. Daarnaast werk je in een multidisciplinair team en lever je op korte termijn werkende tussenproducten. Tijdens de sprint heb je een aantal vaste meetings (ook wel events genoemd), die geven het proces structuur. Daarnaast zijn er ook vaste rollen in het team en wordt er gebruik gemaakt van een aantal hulpmiddelen (ook wel lijsten genoemd).

De rollen in Scrum:

  1. Het ontwikkelteam: Is een zelf organiserend en multidisciplinair team.
  2. Product Owner: Draagt de product verantwoordelijkheid en staat in contact met de opdrachtgever en eventuele stakeholders. De wensen van de opdrachtgevers en stakeholders worden door de product owner vertaalt naar items op de backlog. Daarnaast bepaalt de prioriteiten en mag besluiten nemen.
  3. Scrum Master: Is de coach van het team. De scrum master zorgt voor snelheid, reflectie, overzicht het houdt het proces in de gaten.
  4. Stakeholder: Hier kan onderscheid worden gemaakt onder gebruikers, belanghebbende en beslissers. De stakeholder is niet een rol in Scrum maar communiceren wel met de product owner tijdens een review. Ze zijn dus welkom om feedback te geven bij een opgeleverd tussenproduct tussen de sprints door.

De lijsten in Scrum:

In Scrum staan lijsten voor een poster of een flipovervel met post it. Er zijn vier soorten namen te geven aan deze lijsten:

  1. Product Backlog: Hier staan alle kenmerken en eisen van het eindproduct vertaald naar tussenproducten. Aan de start van het project wordt deze lijst opgeleverd en wordt tijdens het project geactualiseerd.
  2. Sprint Backlog: In deze lijst worden voor iedere sprint geselecteerde items opgenomen van de product backlog. Het gaat om de items die de meeste klantwaarde opleveren in de sprint.
  3. Acceptatiecriteria: Dit zijn de selectiecriteria die worden opgesteld om na afloop van een sprint te kunnen beoordelen over het resultaat is behaald en aan de eisen voldoet.
  4. Scrumbord: Dit is ook wel het bekendste hulpmiddel van Scrum. Het bord heeft drie kolommen met To do, Busy en Done. Onder To do worden alle huidige activiteiten die gedaan moet worden neer gehangen. Onder Busy worden de activiteiten van To do onder gezet als iemand er mee bezig is. Vervolgens als diegene het afgerond heeft kan hij/zijn hem hangen onder Done. Zo is er een overzichtelijke planning waarbij iedereen kan zien wat er al gedaan is en wat nog moet gebeuren.

De bijeenkomsten in Scrum:

Daarnaast zijn in het Scrum proces vier bijeenkomsten, die in vast volgorde worden aangehouden. Zo wordt er meer flexibiliteit en aanpassingsvermogen gecreëerd. Het gaat om de volgende bijeenkomsten:

  1. Sprintplanning: Hierin bepaalt de product owner met het team wat de doelen per sprint zijn en welke tussenproducten dus worden opgeleverd.
  2. Stand up: Elke dag wordt er door het team een dagelijkse voortgangsgesprek gehouden van maximaal 15 minuten. Tevens worden hier knelpunten behandeld.
  3. Review: Bij deze bijeenkomsten worden de resultaten van de sprint opgeleverd. Hierbij worden de stakeholders uitgenodigd om feedback te geven.
  4. Retrospective: Bij deze bijeenkomst vind een evaluatie plaats over het proces en de prestaties van het team. Hierin worden werkafspraken gemaakt om het teamproces te verbeteren. Ook is dit laatste bijeenkomst van de sprint en wordt hierna een nieuwe sprint gestart met een nieuwe sprintplanning.

 

Kanban

Kanban is een methode om processen te definiëren, managen en verbeteren. Denk bijvoorbeeld aan proces voor softwaredevelopment of contentproductie. Deze methode maakt onzichtbare kenniswerk zichtbaar. Daarnaast is het de bedoeling om niet alle taken tegelijk op te pakken.

Bij de Kanban methode zijn zes kerngberuiken opgesteld:

  1. Visualiseer wat je kunt visualiseren (het werkproces)
  2. Limiteer de hoeveelheid werk dat je tegelijkertijd oppakt
  3. Manage de flow van werk
  4. Maak afspraken expliciet
  5. Implementeer feedback loops
  6. Verbeter samen, evolueer experimenteel

 

Lean Software Development

Bij deze methode gaat het om het aanpakken van verspillingen en het stroomlijnen van het proces. Het doel is dat er zo snel mogelijk software opgeleverd kan worden, wel moet het waarde voor de eindopdrachtgever kunnen bieden.

Ook deze methode kent een aantal kernprincipes, namelijk de volgende zeven:

  1. Eliminate waste
  2. Build Quality In
  3. Create Knowledge
  4. Decide as late as possible
  5. Deliver Fast
  6. Respect People
  7. Optimize the Whole

De spiraal software methode

De spiraal software methode is een soort kruising tussen de lineaire en de iteratieve software methode. Het voegt daarmee de voordelen van de twee methodes samen. Ook hier wordt in een cyclus gewerkt.

Benieuwd welke software ontwikkeling methode bij jouw bedrijf past?

Neem contact op met Business Managers Merel of John, via 030 - 890 53 50 of office@devtalents.nl

Dev Talents is dé thuishaven voor software developers. Benieuwd wat wij voor jou kunnen betekenen?