Berichten met de tag ‘Complexiteit’

Vakmanschap

18 februari 2010

De laatste tijd duikt de term vakmanschap (craftsmanship) regelmatig op.  Achter deze term gaat veel schuil denk ik. Ik vermoed dat het voor iedereen wat anders betekent. Waarschijnlijk één van de redenen van haar populariteit. In een poging om er enige helderheid in te brengen, schrijf ik deze post. We hebben besloten dat we hier ook soms wat kortere berichten willen plaatsen. Heel mooi, want ik wou deze graag kort houden. Ik steek dan ook maar meteen van wal: wat wordt er zo ongeveer verstaan onder craftsmanship of vakmanschap?
Lees verder >>

De laatste tijd duikt de term vakmanschap (craftsmanship) regelmatig op.  Achter deze term gaat veel schuil denk ik. Ik vermoed dat het voor iedereen wat anders betekent. Waarschijnlijk één van de redenen van haar populariteit. In een poging om er enige helderheid in te brengen, schrijf ik deze post. We hebben besloten dat we hier ook soms wat kortere berichten willen plaatsen. Heel mooi, want ik wou deze graag kort houden. Ik steek dan ook maar meteen van wal: wat wordt er zo ongeveer verstaan onder craftsmanship of vakmanschap?
Lees verder >>

Het nieuwe paradigma?

17 januari 2010

Binnen software ontwikkelland ontstaat meer en meer aandacht voor event gebaseerde systemen. Bertrand Meyer schreef hier in 2003 al een artikel over event driven design. Gregory Young heeft met zijn CQRS benadering van systeembouw een interessante structuur neergezet. Binnen Sogyo hebben we inmiddels ook de eerste event gedreven implementaties in de praktijk toegepast. De voorlopige conclusies zijn dat deze vorm van systeemontwerp en -bouw zeer goed kunnen werken, maar slechts voor een beperkte set aan toepassingen.
Lees verder >>

Binnen software ontwikkelland ontstaat meer en meer aandacht voor event gebaseerde systemen. Bertrand Meyer schreef hier in 2003 al een artikel over event driven design. Gregory Young heeft met zijn CQRS benadering van systeembouw een interessante structuur neergezet. Binnen Sogyo hebben we inmiddels ook de eerste event gedreven implementaties in de praktijk toegepast. De voorlopige conclusies zijn dat deze vorm van systeemontwerp en -bouw zeer goed kunnen werken, maar slechts voor een beperkte set aan toepassingen.
Lees verder >>

Normalized Systems

25 september 2009

Een tijd terug werd ik gewezen op het boek Normalized Systems: Re-creating Information Technology Based on Laws for Software Evolvability van Mannaert en Verelst [1]. Het boek resoneerde sterk met enkele ideeën die ik heb over software ontwikkeling. Met name de gedachte dat een software applicatie meer gemeen heeft met een chaotisch systeem dan een strikte orderlijke structuur is iets waar Mannaert en Verelst ook naar lijken te neigen, hoewel ze die term niet gebruiken.
Lees verder >>

Een tijd terug werd ik gewezen op het boek Normalized Systems: Re-creating Information Technology Based on Laws for Software Evolvability van Mannaert en Verelst [1]. Het boek resoneerde sterk met enkele ideeën die ik heb over software ontwikkeling. Met name de gedachte dat een software applicatie meer gemeen heeft met een chaotisch systeem dan een strikte orderlijke structuur is iets waar Mannaert en Verelst ook naar lijken te neigen, hoewel ze die term niet gebruiken.
Lees verder >>

Object transport

26 januari 2008

Inmiddels ben ik in heel wat applicaties een vorm van object transport tegengekomen. Bepaalde objecten uit een business-logica laag of component dienen getransporteerd te worden vanaf of richting een user interface, email component of database. Wat heel vaak gedaan wordt is transport via (web)services richting een user interface waarbij de services niet de ‘echte’ business objecten vervoeren maar DTO’s (Data Transfer Objects). Aangezien logica of gedrag van deze objecten niet meegestuurd wordt over deze services zie je dat in de targetlaag vaak bepaalde logica die al bestond in de bronlaag opnieuw declareert.
Lees verder >>

Inmiddels ben ik in heel wat applicaties een vorm van object transport tegengekomen. Bepaalde objecten uit een business-logica laag of component dienen getransporteerd te worden vanaf of richting een user interface, email component of database. Wat heel vaak gedaan wordt is transport via (web)services richting een user interface waarbij de services niet de ‘echte’ business objecten vervoeren maar DTO’s (Data Transfer Objects). Aangezien logica of gedrag van deze objecten niet meegestuurd wordt over deze services zie je dat in de targetlaag vaak bepaalde logica die al bestond in de bronlaag opnieuw declareert.
Lees verder >>

Het supermarkt effect

14 januari 2008

Het belangrijkste aspect van software ontwikkeling is volgens mij eenvoud. Eenvoud in het proces en de methodiek. Eenvoud in code en architectuur. Eenvoud zorgt ervoor dat mensen snel kunnen begrijpen waar het over gaat. Dat een enkele oogopslag voldoende is om de essentie van de software te doorgronden.
Lees verder >>

Het belangrijkste aspect van software ontwikkeling is volgens mij eenvoud. Eenvoud in het proces en de methodiek. Eenvoud in code en architectuur. Eenvoud zorgt ervoor dat mensen snel kunnen begrijpen waar het over gaat. Dat een enkele oogopslag voldoende is om de essentie van de software te doorgronden.
Lees verder >>

Liever geen Inversion of Control

22 oktober 2007

Okay! Ik ben tegen de Spring manier van ontwikkelen! Ik heb een hekel aan het zogenaamde ‘inversion of control‘(IoC)! Het is niet de manier hoe wij onze software zouden moeten ontwikkelen. Om dit op een conferentie of gesprek met medeontwikkelaars te melden leidt meestal tot een verbaasde stilte. Vervolgens proberen verschillende mensen mij uit te leggen waarom Spring en IoC zo geweldig en nuttig zijn. En ik kan het niet anders brengen: Ze hebben ongelijk!
Lees verder >>

Okay! Ik ben tegen de Spring manier van ontwikkelen! Ik heb een hekel aan het zogenaamde ‘inversion of control‘(IoC)! Het is niet de manier hoe wij onze software zouden moeten ontwikkelen. Om dit op een conferentie of gesprek met medeontwikkelaars te melden leidt meestal tot een verbaasde stilte. Vervolgens proberen verschillende mensen mij uit te leggen waarom Spring en IoC zo geweldig en nuttig zijn. En ik kan het niet anders brengen: Ze hebben ongelijk!
Lees verder >>

Waar ligt de essentie van jouw software?

15 oktober 2007

Hierboven staat een vraag die je niet dagelijks zult krijgen. Toch is het in de software ontwikkeling wel één van de belangrijkste dingen om bij stil te staan. Waar draait het nu eigenlijk om in je software? Draait je software om de database? Draait het om de User Interface?
Lees verder >>

Hierboven staat een vraag die je niet dagelijks zult krijgen. Toch is het in de software ontwikkeling wel één van de belangrijkste dingen om bij stil te staan. Waar draait het nu eigenlijk om in je software? Draait je software om de database? Draait het om de User Interface?
Lees verder >>

Complexiteit: Controleren of Evolueren

15 oktober 2007

Vaak roep ik dat het kernpunt van software ontwikkeling de omgang met complexiteit is. In de geschiedenis van software ontwikkeling zie ik bijna alle stappen in het licht van beheersing van deze complexiteit van de software systemen, van procedures en object oriented programming tot service oriented architecture. De meeste ontwikkelaars knikken instemmend als ik dit roep en gaan daarna gewoon verder met ontwikkelen zoals ze dat altijd deden. Ze laten me achter met een gevoel dat ik iets heb verkondigd dat ze al jaren wisten en triviaal oplosbaar is. Hun code en applicaties vertellen echter een ander verhaal.
Lees verder >>

Vaak roep ik dat het kernpunt van software ontwikkeling de omgang met complexiteit is. In de geschiedenis van software ontwikkeling zie ik bijna alle stappen in het licht van beheersing van deze complexiteit van de software systemen, van procedures en object oriented programming tot service oriented architecture. De meeste ontwikkelaars knikken instemmend als ik dit roep en gaan daarna gewoon verder met ontwikkelen zoals ze dat altijd deden. Ze laten me achter met een gevoel dat ik iets heb verkondigd dat ze al jaren wisten en triviaal oplosbaar is. Hun code en applicaties vertellen echter een ander verhaal.
Lees verder >>