“Should technical people be allowed to talk to customers, or should that be done by salespeople?” Gert-Jan Schouten has written an interesting blogpost about this question!

"Om productiviteit te verhogen moeten we onnodige druk vermijden, onze omgeving aanpassen aan ons werk en vooral inzien dat goede softwareontwikkeling eigenlijk nooit bouwen is, maar altijd denken. Zodra je veel bouwt doe je iets fout, en moet je terug naar de tekentafel."

De technische architectuur van .NET applicaties is in 2008 subtiel gewijzigd met de introductie van .NET 3.5 en Visual Studio 2008. (okee, voor insiders was vs2008 al eind 2007 beschikbaar ;-) )

Onderstaand diagram is een globaal overzicht van een meerlaags architectuur gebaseerd op het ontwikkelen van een applicatie met Visual Studio 2008.

apparchitecture

WPF, WCF en Linq zijn de nieuwe verschijningen en vervangen respectievelijk winforms, webservices en SQL queries/Hibernate-achtige oplossingen.

Update: Zoals we de diagrammen van meerlaags applicaties in de studieboeken zien zou je bijna denken dat je zelfs voor het simpelweg ophalen van een lijstje met plaatsnamen of landen uit een eenvoudige databasetabel een business-class moet maken. Dat lijkt me in dat geval overbodig. Daarom wijzig ik het bovenstaand plaatje in:

apparchitecture

Waarbij de directe lijn tussen de service laag en de datalaag wordt gebruikt voor gegevensuitwisseling waarbij geen extra logica nodig is. Iemand een idee waarom dit niet zou kunnen of mogen?

Laatst had ik het met een collega over de wat minder exacte kant van software ontwerpen: het belang van alfa-golven en het in je hoofd kunnen uitdenken van een ontwerp.

Wat nog ontbrak in ons gesprek was het fenomeen ‘flow’. Flow is als woord iedereen wel bekend, maar het is toch leuk om de bedenker van het woord, de psycholoog Mihály Csíkszentmihályi, eens te horen spreken over dit onderwerp. Boeken zijn natuurlijk bij mij te leen ;-)