Wat is moeilijk?

Hoe maak je het en hoe kom je er van af?

Diepgang, omvang, complexiteit

Theo Theunissen

theotheunissen.nl/moeilijk, goo.gl/iRbaX5

Doel van deze presentatie is om aan te geven waaruit het verdiepend semester bestaat en wat je aan moet tonen in je afstuderen.

  • Diepgang gaat over het continue, zelfstandig scheppen van nieuwe resultaten in context
    • Wat is nieuw (voor jou)?;
    • Competenties, context, autonomie;
    • Continue balans tussen uitdaging en verworvenheden.
  • Omvang betreft de hoeveelheid van het resultaat
    • Metrics als LOC, technologieën, organisatie-eenheden, A4’tjes, wiki-entries.
  • Complexiteit is de permutatie van het aantal knopen met het aantal verbindingen
    • Complex;
    • Gecompliceerd;
    • Eenvoud;
    • Chaotisch.

Bij diepgang maak je iets nieuws wat je nog niet eerder gedaan hebt.

  • Niet per se: wetenschappelijke revolutie of uitvinding met octrooi/patent;
  • Van onthouden naar creëren;
  • Nieuw is als de kwaliteit, het proces of resultaat voor jou niet te herleiden is naar wat je eerder geleerd hebt zoals bijvoorbeeld processen, technologieën, paradigma’s, concepten.

Er zijn talloze voorbeelden van nieuwe -emergente- fenomenen, met name in de technologie.

Emergent: De situatie, gebeurtenis, element, proces enz. is niet af te leiden uit de (som van de) eigenschappen van de samenstellende delen. Dus niet: het geheel is meer dan de som der delen.

  • Gartner’s hype-cycle
  • Disruptieve technologieën
  • Waterstof + zuurstof → water
  • Brandstof + warmte + zuurstof → vuur
  • Kristallen
  • Beurskoersen
  • Virale campagnes
  • (Internet) verkeersstromen
  • Geitenpaadjes, olifantenpaadjes
  • Vogelzwermen
  • Levende mensen → geest

Zwerm vogels

Gartner’s hype-cycle

Geitenpaadje

Diepgang is vervolgens betrokkenheid en toewijding, wat zich manifesteert in competenties, verbondenheid en autonomie.

  • Competent
    • Kun je wat je wil?
  • Verbondenheid
    • Relaties met stakeholders zoals o.a.

eindgebruiker, team en opdrachtgever;

    • Relaties met context zoals people, planet, profit.
  • Autonomie
    • Zelf in staat zijn te handelen, onafhankelijk van anderen;
    • Individueel, maar wel samen met anderen.

Je zoekt bij diepgang continu de maximale balans tussen uitdaging en vaardigheid. Dit is je flow channel.

  • Zorg voor voldoende uitdaging (ambitie);
  • Zorg dat je in staat bent om vanuit bestaande situaties (wat je kent en kunt); nieuwe vaardigheden te ontwikkelen;
  • Zorg voor duidelijke doelstellingen. Maak hierbij onderscheid tussen ambitie en verwachting;
    • ambitie is wat je wil;
    • verwachting is wat je kunt.
  • Continue feedback om continue uitdaging te bewerkstelligen → Continuous improvement.

Waterfall

Continuous Development

Omvang van kwaliteit, proces en resultaat kan op diverse manieren gemeten en bereikt worden.

  • Metrics;
    • # Lines of code, # commits, # diffs
    • Technical debt → # refactorings
    • # Test coverage
    • # Componenten
    • # Technologieën
    • # Organisatie-eenheden inclusief leden
    • # A4’tjes specificaties, wiki-entries
  • Motivatie, relevantie, bijdrage tot oplossing.

Complexiteit maak je eerst maximaal om die vervolgens te reduceren tot je zicht en grip hebt.

  • Technisch: computationele complexiteit waarin aangetoond wordt wat de resources (tijd, geheugen, netwerk) zijn om een probleem op te lossen;
  • Complexiteit: Alle combinaties van het aantal knopen met het aantal verbindingen;
  • Zicht: je kent / weet wat de issues zijn;
  • Grip: je bent in staat om invloed uit te oefenen om een bestaande situatie om te vormen in een gewenste situatie te brengen.

In een netwerk met ontelbaar veel knopen en ontelbaar veel verbindingen, wordt aangegeven welke van deze knopen en verbindingen van belang zijn.

Het beoordelen van situaties is te rangschikken in ‘complex’, ‘gecompliceerd’, ‘chaotisch’ en ‘eenvoudig’.

  • Complex;
    • Achteraf zijn oorzaak-gevolg relaties te begrijpen;
    • Oorzaak-gevolg relaties niet te herhalen;
    • Achteraf wel inzicht; grip heb je nooit;
    • Voorbeeld: verbroken liefdesrelaties waarin jij het slachtoffer bent;
    • Vaststellen → begrijpen → reageren.
  • Gecompliceerd;
    • Experts maken een analyse waarin oorzaak-gevolg relaties te begrijpen zijn. Voorbeeld: “Boeing”.
    • Begrijpen → analyseren → reageren.
  • Eenvoudig, duidelijk;
    • Oorzaak-gevolg relaties zijn te begrijpen, voorspelbaar en herhaalbaar. Voorbeeld: “Fietsfabriek”.
    • Begrijpen → categoriseren → reageren.
  • Chaotisch;
    • Oorzaak-gevolg relaties zijn niet inzichtelijk;
    • Crisismanagement. Voorbeeld: “Brand!”
    • Doen → begrijpen → reageren.
  • Wanorde;
    • n.v.t.

The Cynefin Framework (IBM), applied to modern software development methods.

Waterfall

Agile

Checklist met items om diepgang, omvang en complexiteit aan te tonen. Onderbouw je antwoorden.

  • Wat is nieuw dat je nog niet eerder gedaan hebt?
  • Waarom is het nieuw?
  • Hoe toon je dat aan?

  • Wat is je ambitie?
  • Wat is je verwachting? (bedenk: ambitie is groter dan verwachting)
  • Hoe toon je aan dat je je ambitie gaat realiseren, dat je kunt wat je wil?

  • Wie zijn de stakeholders en wat zijn hun belangen?
  • Wat is de context waarin je opereert?

  • Geef aan hoe je je autonomie toont?
  • Geef aan wat afhankelijkheden zijn?

  • Wat ga je leren? Geef aan waarom dit je leerdoelen zijn.
  • Hoe zorg je voor continue feedback en verbetering?

  • Metrics voor omvang zoals #LOC, commits, diffs, refactorings, componenten, technologieën, organisatie-eenheden, A4’tjes, wiki-entries. Motiveer je metrics.

  • Definieer de complexiteit door alle concepten, gebeurtenissen en relaties op te noemen.
  • Orden de items naar een volgorde, bijv. prioriteit, relevantie. Onderbouw de gekozen volgorde.
  • Definieer acties om de bestaande situatie in een gewenste situatie te brengen, inclusief risico’s.

Referenties

  • Diepgang
    • Taxonomie van Bloom
    • Self-determination van Ryan en Deci
    • Flow volgens Csikszentmihalyi, TED talk
  • Omvang
  • Complexiteit