Ons verhaal‎ > ‎

eXtreme samendenken

Geplaatst 11 aug. 2012 15:06 door Koen Aben   [ 10 dec. 2012 11:08 bijgewerkt ]
eXtreem Programming swingt!
Met hartelijke dank aan onze kennisrijke experts: wat een eXtreem coaching plezier hadden we afgelopen woensdagavond op onze allereerste XP night! XP fans hadden een geweldige avond en de volgende keer zijn onze vakantiegangers uiteraard weer terug ;-). De XP night is voor herhaling vatbaar (bij voldoende interesse een keer per kwartaal of half jaar in Eindhoven). XP-ers in onze regio hebben trouwens plannen om de XP-NL community weer actief te maken (zie deze tweets, Ingmar je hebt groot gelijk!).
Craftsmanship game
Gamefication is in de zakenwereld toenemende trend. Je kunt iets belangrijks soms veel beter uitleggen via het laten ervaren in een leuke game dan via saaie theorie. We simuleerden hierom een software ontwikkel sprint, waaraan iedereen fanatiek meewerkte als 1 groot Scrum team. Alleen in het eerste deel lukte niets zonder problemen, er werd niet gefaciliteerd voor de vakman. De ervaring die deze Craftsmanship game aan ieder meegaf is dat het faciliteren eigenlijk een essentieel onderdeel is van vakmanschap in de techniek. Anders gezegd: Michael Schumacher kan nog zo extreem hard rijden in de Formule 1, hij komt letterlijk niet eens vooruit zonder faciliterende crew voor zijn auto. In praktijk wordt echter de vakman in het Scrum team niet altijd goed voorzien. In traditionele rolverdelingen doen medewerkers louter werken volgens traditionele taakvoorschriften en 'de craftsman faciliteren' hoort daartoe niet .

Zorg voor goede facilitering
Duidelijk werd dat de vakman moet letten op goede facilitering. In de praktijk zien we te vaak nog de traditionele ICT, waarin iedereen trots volgens individuele procedure werkt en niet in belang van het team faciliteert. Het opleveren van onnodig complexe ontwerpen, het niet behulpzaam testen of het opdringen van een zware architectuurcomponent: het is allemaal voldoende in de ogen van de goedbedoelende medewerker, maar uiteindelijk maken we het software engineering team niet makkelijker. De vakman maak je er niet productiever mee. 
Software wordt het beste geproduceerd indien alles eenvoudig wordt gehouden en dat is een taak van de vakman. De medewerker moet leren hoe deze werk zo kan aanleveren dat de vakman juist het productiefst voor het team kan zijn. En de F1 toont het ideaal: de F1 medewerker verzorgt met uiterste precisie de hulp aan de coureur en in enkele handelingen kan deze verder!

Ook in de F1: Craftsmanship vereist facilitering
eXtreme samendenken in Open Space
Daarna volgde de Open Space over eXtreem Programming. Hieronder de vier hoofdonderwerpen en hun voorzichtige uitwerking:

 1. XP: Wanneer niet?
Klant niet betrokken. Klant heeft geen tijd. Omgeving niet bekend met XP. Management snapt het niet.
Conservatieve werkcultuur. Geen overtuigingsmogelijkheden. Traditioneel.
 2. XP: Wanneer wel?
Klant heeft een goede time-to market attitude, omtrent ICT en wil hiervoor de juiste betrokkenheid geven. 
Metafoor: de software is net als je tuin, als hieraan wordt gebouwd, wil je ook graag zien wat er gebeurt.
Goede teamsfeer, geschikt voor dynamische, vlotte samenwerking. Goed coachende senioren/agile coaches.
Gemotiveerde, leergierige mensen. Ambachtspassie. Iedereen kan elkaar helpen. Hi-tech cultuur.
Hoge discipline van ICT vakmanschap. Progressief in software methodieken. Voldoende senioriteit. 
 3. XP: Hoe te beginnen?
Klant voldoende opgeleid met deze grensverleggende manier van software realisatie. 
Product Owner altijd indien nodig beschikbaar liefst ook on site voor het maken beslissingen.  
Infrastructuur geschikt. User Stories gereed. Doelgerichte opdracht. Test plan gereed.
Geleidelijk aan invoeren nieuwe XP practices voor medewerkers, 1 per keer.
 4. XP voor Security realisatie: het kan!
Visie
- Security is extreem, is niet een functionele eigenschap, maar een technische eis voor het gehele systeem. 
- Als 1 onderdeel kwetsbaar is dan is het hele systeem kwetsbaar. 
- Hierom is het belangrijk om security als een parallelle applicatie te zien en security integraal toepassen.
- 1 gezamenlijk security begrip
Mensen
- Voldoende security expertise in huis te hebben. Voldoende hacking skills.
- Interne security officer voor het specialisme
- betrokkenheid van klant, bewustwording van security wensen
- klant is zelf aansprakelijk voor veiligheid
Platform
- Security platform voor hergebruik (bv coding standards). Security is een begrepen framework.
- Grenzen van het systeem duidelijk: de security constraints.
- Testbaar, toevoegbaar aan Definition of Done
- Tests op unit nivo en op integratie nivo