Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Magazine
  • Nieuwsbrief

Aanvallend ontwikkelen of leunen op verdediging?

25 februari 2010 - 10:054 minuten leestijdOpinieSoftware & Development

In een ontwikkelteam is het niet zo gangbaar om over de opstelling te praten als in de voetbalwereld. Toch zijn er veel parallellen te maken tussen beiden. In dit artikel doe ik een voorzet.

Hoewel je het in eerste instantie niet zou verwachten, vertonen sportteams veel overeenkomsten met ontwikkelteams. Dit wordt ook onderschreven door Alistair Cockburn in het boek Agile Software Development met als kernmerkende ondertitel The Cooperative Game . Hij concludeert uiteindelijk dat rotsklimmen het beste te vergelijken is met software-ontwikkeling. Dit komt met name door de twee elementen samenwerking en doelgerichtheid.

Wanneer we kijken naar bijvoorbeeld een voetbal- of hockeyteam, dan zien we dat er veel aandacht wordt besteed aan de samenwerking tussen de spelers. Er wordt daarnaast nagedacht over de rolverdeling: de aanvallers, middenvelders en verdedigers. In een ontwikkelteam is het eigenlijk niet veel anders, daar heb je de projectleiders, testers, ontwerpers en ontwikkelaars.

Nu bestaan er natuurlijk wel roltyperingen zoals de Belbin-groepsrollen: groepswerker, vormer, brononderzoeker, etc.. Maar deze verdeling geeft geen inzicht in de stijl van het programmeren waarmee ontwikkelaars te maken hebben.

Programmeerstijlen

Programmeerstijlen zijn vaak verbonden aan teams en de personen. In dit artikel richt ik mij op twee stijlen. De eerste stijl maakt gebruik van ‘defensive programming richtlijnen', terwijl de tweede die richtlijn niet volgt.

Defensive programming gaat over de hoeveelheid veronderstellingen die gemaakt worden tijdens het ontwikkelen van software. Dit zijn veronderstellingen in de trend van invoerparameters die altijd gevuld zijn of binnen bepaalde minima en maxima blijven. Bij defensive programming worden weinig of geen veronderstellingen gedaan en worden veel controles uitgevoerd die vervolgens leiden tot een keurige foutafhandeling.

Een defensieve ontwikkelaar werkt vaak volgens de handelwijze dat hij een stuk code vooraf goed uitdenkt en vervolgens pas invoert. Vervolgens zal hij tijdens het ontwikkelen blijven opletten dat er geen onverwachte excepties kunnen optreden en dat de exceptie-afhandeling ook goed in elkaar zit. Een kenmerk van deze ontwikkelaars is dat het altijd vrij lang duurt voordat de programmatuur klaar is, maar dat de kwaliteit dan meestal wel goed is. Er worden dan ook weinig fouten gevonden tijdens het testen en ook niet in productie.

Daarnaast zijn er ontwikkelaars die zo snel mogelijk, meestal via trial-on-error, de code in elkaar zetten. Deze ontwikkelaar veronderstelt vaak dat zaken aanwezig zullen zijn of op een bepaalde manier gevuld zullen zijn. Zolang deze veronderstellingen waar zijn levert het programma dezelfde uitvoer als die van de defensieve ontwikkelaar. De niet-defensieve ontwikkelaars vangen pas fouten af op het moment dat die voor het eerste optreden. Er ligt dus veel focus op de functie die het programma moet uitvoeren en minder voor de loodgieterswerkzaamheden eromheen. Van zo'n ontwikkelaar krijg je dus vaak snel een eerste oplevering, maar er zijn mogelijk nog enige bugfixes nodig om te komen tot stabiele programmatuur.

Stelling

Met deze informatie kom ik tot de conclusie dat de verdedigers in het voetbal ook defensieve ontwikkelaars zijn in het ontwikkelteam. De aanvallers bij voetbal komen overeen met de ontwikkelaars die de code in elkaar zetten en doen daarbij veel veronderstellingen. De middenvelders lijken dan de personen te zijn die de opruimwerkzaamheden doen om de aanval en verdediging aan elkaar te knopen. Een klein rondje door het voetbalheden of -verleden van collega's en vrienden lijkt deze stelling alleen maar verder te onderbouwen.

Optimale opstelling

 Wat te doen met deze kennis? De voordelen van deze rolpatronen zijn dat je een optimale teamsamenstelling kunt maken voor het maken van een bepaald programma. In het voetbal gaat altijd veel aandacht uit naar de spitsen die immers de doelpunten maken. Dit is ook in software-ontwikkeling iets waar een projectmanager of opdrachtgever zich toe kan laten verleiden. Veel focus op snelle oplevering van functionaliteit leidt vaak tot een flinke backlog (bijvoorbeeld in de vorm van een verzameling fouten) die later in een ontwikkeltraject terugkomt. Het is dus zaak om ook verdedigers en middenvelders op te nemen in het ontwikkelteam en hen ook zeker werkzaamheden te laten uitvoeren op het gebied van reviews. Ga eens na hoe jouw huidige team is opgebouwd en misschien is het zelfs verstandig om bij een volgende sollicitatie na te gaan of het karakter van de ontwikkelaar op deze manier te ontdekken is.

Meer over

Agile

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    Agentic AI in actie

    De stappen van automatiseren naar écht autonoom werken. Welke toepassingen zijn succesvol?

    Computable.nl

    Staat Digitale Connectiviteit Bouw- en Installatiebranche

    Connectiviteit is de kern van veel processen en van strategisch belang voor de toekomst. Waar sta jij?

    Computable.nl

    Design Sprints: 4 dagen van idee naar prototype

    Hoe zet je in vier dagen tijd een gevalideerd prototype neer met Design Sprints?

    2 reacties op “Aanvallend ontwikkelen of leunen op verdediging?”

    1. Yeah schreef:
      25 februari 2010 om 11:14

      Mijn analyse luidt: Bij Microsoft barst het van de aanvallers. De verdedigers, die Windows etc stabiel hadden moeten maken, waren waarschijnlijk te duur en zijn wegbezuinigd.

      Login om te reageren
    2. Gast2 schreef:
      5 maart 2010 om 18:35

      Haha.. Nou, wat ik aan gestuntel in het veld tegenkom lijkt me voor de gemiddelde Linux “programmeur” een seizoenskaart bij de zaterdagamateurs ook geen overbodige luxe ;-( Ook is het “open” karakter van een gemiddelde Linux voetbalwedstrijd tegenwoordig het beste te vergelijken met een risicoduel zonder supporters..

      Login om te reageren

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Meer lezen

    ActueelData & AI

    Ai maakt populaire programmeertalen nog populairder

    OpinieData & AI

    Van opensource naar ‘open washing’: waarom bedrijven nu misbruik maken van vertrouwen in licenties

    ActueelCloud & Infrastructuur

    Kingston University organiseert expositie gaming-geschiedenis

    AI data-analyse business consultancy
    ActueelData & AI

    Kort: Nieuwe ai-oplossingen van Netsuite en Xebia, data-analyse voor wielersport (en meer)

    Failliet
    ActueelCarrière

    Ex-Rodeo-topman Pieter Vos persoonlijk failliet na bewezen miljoenenfraude

    ActueelCloud & Infrastructuur

    Tech Tribes laat oog vallen op OpenValue Group

    ...

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine
    • Topics

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs