Release blog - laatste entry
05-07-2011 - Requirements
Wat zijn nou precies, requirements? Een vrouwelijke collega van de afdeling sales stelde de vraag om ...
Lees meer
Release activiteiten
Geen evenementen gevonden.

Release poll
REL_Poll Het informatica-onderwijs moet meer aandacht besteden aan (software-)testen
 
80%
 
6%
 
8%
 
6%
Optimize nieuws
Development Tools - Applicatieontwikkelsoftware
Release vacatures - Array Jobs
Lees meer

Detail
Jos Warmer 
Jos Warmer Jos Warmer is Partner Model Driven Development bij Ordina.

08 juni 2010 - Software breien

De afgelopen maanden ben ik de gelukkige eigenaar geworden van een trui, sokken, sjaal, en muts. En dat allemaal speciaal op maat gebreid. Ik heb natuurlijk wel gekeken naar confectiekleding, je weet wel van die lange rekken met allemaal dezelfde kleren. Op zich goed, maar maatwerk past beter.

Bij de start van een breiwerk wordt er eerst een patroon gemaakt, of een patroon gezocht in de grote verzameling van bestaande patronen. Gaat het om een bestaand patroon dan wordt de persoon voor wie het breiwerk bedoeld is opgemeten en het patroon wordt aangepast. De volgende stap is het breien van een proeflapje. Met de gekozen wol wordt een stukje gebreid om te zien hoe het valt, hoeveel steken er in een centimeter gaan etc. Ook dit leidt weer tot aanpassing van het patroon.
Klinkt bekend? Zo beginnen ook veel software projecten. We maken eerst een ontwerp of architectuur (breipatroon), waarbij we ook vaak kijken naar bestaande ontwerpen. Daarna passen we het ontwerp aan de specifieke eisen van het project aan. Vervolgens een PoC (proeflapje) waarbij we een stukje software bouwen om het ontwerp te toetsen.
Na het bijwerken van het patroon wordt er werkelijk begonnen met breien. Nadat het breiwerk af is wordt de toekomstige eigenaar gevraagd om het te passen. Hierbij blijkt altijd dat het gemaakte breiwerk toch anders valt dan verwacht. Dat betekent dat het breiwerk weer uitgehaald wordt. De benodigde aanpassingen worden in het patroon verwerkt en het breiwerk wordt opnieuw gemaakt.
Zo ontwikkelen we ook veel software. We bouwen volgens het ontwerp en gaan daarna testen. Hieruit komen nagenoeg altijd veel issues, de software ‘valt niet goed’. Hij werkt toch niet zoals men verwachtte. Als gevolg hiervan moeten we het ontwerp herzien en de software herschrijven.
Om sneller feedback te krijgen wordt een breiwerk meestal iteratief gemaakt. Zodra een stukje af is wordt dit direct uitgeprobeerd op de toekomstige eigenaar en kan per stukje opnieuw beginnen worden en het ontwerp bijgesteld. Ook in softwareland hebben we geleerd dat iteratieve methodes op deze manier sneller tot betere software leiden.

Het aanpassen van een breipatroon is een complex werkje. Als er ergens een paar steken meer of minder moeten, heeft dit een domino-effect. Alles moet aangepast worden om weer een samenhangend geheel te komen. Mensen met gevoel voor breien kunnen dit snel en goed doen.
Bij software kennen we hetzelfde probleem. Als er ergens een aanpassing nodig is heeft dit consequenties voor alle andere onderdelen. Ook hier zijn de gevolgen niet goed te overzien. Alleen ontwikkelaars met gevoel zijn in staat om direct aan te wijzen wat de gevolgen zijn.
Aan het eind van het breiwerk blijkt vaak dat het hele breiwerk twee keer gebreid is. Een keer volgens het originele ontwerp, en een keer opnieuw nadat we geleerd hebben wat er fout aan het origineel was. Voor software geldt hetzelfde principe.

Dit alles is volkomen logisch. Als we een nieuw en uniek ontwerp maken betekent dit dat we iets nog nooit eerder gemaakt hebben. De kans dat we van tevoren alles overzien voor zoiets nieuws en unieks is nagenoeg nihil. Natuurlijk moeten we het eerst een keer uitproberen en zien hoe het in de werkelijkheid uitpakt. Met wat we geleerd hebben kunnen we daarna software wel goed schrijven.
Goede breisters kunnen op gevoel in een vroeg stadium zien hoe iets gaat vallen en bijsturen voordat hele hele breiwerk af is. Ook voorzien zij de benodigde wijzigingen in het gehele ontwerp
Voor software geldt hetzelfde. Goede architecten voelen al snel hoe zaken zullen uitpakken en kunnen op tijd bijsturen, inclusief de eventuele gevolgen.
Nooit gedacht dat ik van een stukje huisvlijt als breien zoveel kon leren over mijn eigen vak.
 



Permalink | Trackback | Print | E-mail

Reacties op deze blog
sandra oortveld, 11-11-2010 14:27:04
sinds enkele weken heb ik een website voor handschoenen/wanten. Nu ontwerp ik met de hand maar ik wil het op de computer gaan doen heeft u een software programma waarmee ik sneller en creatiever kan gaan ontwerpen mvg.
sandra oortveld
Reageer
Wilt U een reactie plaatsen op dit bericht? Log dan in op deze website. Heeft U dat nog niet eerder gedaan? Registreer U dan eerst.
Release nieuws || alle items
12-12-2011 - De cloud is niet meer weg te denken uit het IT-landschap
Een IT-landschap zonder cloud is nauwelijks meer voor te stellen. Dat bleek op 7 en 8 december uit het aantal bezoekers dat de vakbeurs CloudExpo NL bezocht. Ruim 1700 belangstellenden vonden hun weg naar de Utrechtse Jaarbeurs om zich te laten informeren naar de laatste ontwikkelingen uit het IT-wolkendek. CloudExpo NL bracht de belangrijkste spelers samen op een overzichtelijke beurs.
Lees meer
25-11-2011 Flexible Workflow Wizard winnaar innovatiewedstrijd ... 
22-11-2011 Atos opent nieuwe kantoren in Vlissingen en Rotterda... 
21-11-2011 Alles op gebied van cloud en telecom onder één dak 
21-11-2011 Salesforce.com tekent definitieve overeenkomst voor ... 
17-11-2011 Eerste boek over testdata management uit 
16-11-2011 Xebia eerste geautoriseerde Europese trainingspartne... 
Lees meer
Release Video || alle items
Interview met Suzanne Robertson
De Britse requirements-goeroe Suzanne Robertson was onlangs in Nederland om een driedaagse workshop over Mastering the Requirements te verzorgen. Voor Robert de Ruiter, hoofdredacteur van Software Release Magazine de gelegenheid om haar te interviewen over dit onderwerp.

Deze video duurt ongeveer 9 minuten.
 
Release personalia || alle items
Java Magazine Nieuws
Release zoeken
Release vacatures
Lees meer
Laatste editie
Release agenda
Geen evenementen gevonden. Lees meer

Klik hier om een evenement op te voeren.
Development Tools - Middleware
Release bloggers
Release Categories
Geen categorieën gevonden.
Blog jaren
Blog tags
Geen tags gevonden.
Release kennispartner