Back in the days of client/server. Domain driven development in the distributed era. Episode I

At this point in time, where we slowly shift from service orientation to cloud computing, building business software is more complicated then it has ever been. There are many platform that your software needs to target, and there are even more ways of writing the software. Beyond choosing technology Choosing a technology goes way beyond stating that you are doing […]

Application migration using smart use cases and a model driven development approach

Application migration is the process of migrating older applications (often referred to as legacy) to application that have more of less similar functionality, but are developed in newer technology. Application migration has proven to be a crucial but very hard part of software development over the years. Key to such projects is: Automated migration is hardly ever possible. It is […]

So much to write, so little time

It’s too bad there’s only 24 hours in a day. There are so many ideas in my head that I still have to write down, that I have to make a (short) list now to keep my head from exploding. So here it is: White paper on how to do agile SAP projects using smart use cases. Article on applying […]

Javapolis (Antwerp, Belgium. November 2007)

This is the video from that presents the talk I gave at the last JavaPolis conference in Antwerp, Belgium. During the talk I ask myself the question how everybody in their own role can attribute to making our project fail, as it is far too complicated to make your projects succeed. The talk presents popular anti-patterns I’ve gathered over […]

Why do you need a layered architecture?

The first business software I wrote professionally – that is, got paid for – was a set of small and similar calculation applications. I wrote these in the pre-Windows era in some version of Turbo Pascal. And no matter how ignorant I still was about good software architecture, these small applications already had a notion of layered architecture. And though […]

Why do we need software architecture?

Over the past twenty or so years I have been involved in many software development projects, code reviews, and software factory implementations. Although I had stretched the virtues of good software architecture for decades, it wasn’t until a series of recent event, that I really started re-valuing of having a sound software architecture in place. And to me a well-defined […]

Increasing the productivity of software development

Earlier this week I presented a talk at the inspiring Software Developers Conference 2008 in Noordwijkerhout, the Netherlands. My talk had an inspiring, or at least intriguing title: How to keep our jobs. Why? Well, let me share some thoughts on the productivity of software development projects. A 100-fold Recent research by Gartner shows that the productivity of software development […]

Sander Hoogendoorn at the DevDays 2008

Finally, after some experimenting we’ve got it. My team managed to put out the broadcast of my talk on everything and the kitchen sink on YouTube, and moreover, link from that. See the results here. Introduction The introduction part with some jokes in it. Software architecture, design patterns and smart use cases in code A brief introduction into software architecture […]

Talk on DevDays 2008 combining smart use cases, model driven development, software architecture, Silverlight and WCF

At the last Microsoft DevDays Conference (2008) in Amsterdam I did a talk (sorry, it’s in Dutch) that covered a lot of subjects, including software architecture, agile software development, dependency injection, domain modeling, smart use cases, Silverlight, WCF, model driven development, Tobago MDA, our Accelerated Delivery Platform and a lot of other stuff that I can’t remember (getting old). In […]

Core [in Dutch]

Het is maandagmorgen. Er schijnt een waterig zonnetje over Ede. Ik parkeer mijn auto op het parkeerterrein van de Reehorst dat verlaten oogt bij de start van de nieuwe werkweek. Ook vandaag is de Reehorst het toneel voor een Software Developers Event. Één sessie in het bijzonder heeft mijn interesse: Addressing non-functional requirements with aspects. Waarom nu juist deze sessie? […]

God Class

In Dutch. Appears in SDN Magazine, February 2008. Ik weet het nog goed, hoewel het twee jaar geleden was en mijn geheugen niet meer alles is. Mijn collega Wouter belde. Geschrokken. “Zoiets heb ik nog nooit gezien,” begint Wouter, mij nieuwsgierig makend. “Ik dacht dat we in Nederland toch wel aardig konden programmeren. Maar wat ik hier nu bij mijn […]

Implementing value objects in C#

Earlier this year I wrote an article on how to implement value objects (as mentioned by Martin Fowler en Eric Evans in their books, respectively Patterns of Enterprise Application Architecture and Domain Driven Design). It appeared in English in International Developer Magazine (from Australia), and was later translated into German to appear in ObjectSPECTRUM. Finally it now also features in […]

Goeroe Kent [in Dutch]

Soms wordt ik door bedrijven of hogescholen gevraagd een mooi verhaal te komen vertellen. Vaak een goede gelegenheid om eens te sparren met developers. Zo sprak ik recent in Arnhem bij Avisi – een klein, zeer enthousiaste Java-bedrijf. En terwijl ik vertelde over agile, Smart, smart use cases, patronen en het genereren van code vanuit UML viel het me weer […]


Under normal circumstances Barcelona is a lovely city, where beatiful dark-haired and dark-eyed girls parade the small streets of Barri Gotic and El Raval, and tapas bars are overcrowded by locals and tourists trying to act as locals. But not this week. This week the conglomerate of Microsoft and Glasgow Rangers supporters pollutes the pavings. The latter are easy recognizable […]

Build by use case

On many projects, developers are included to build their software from the ground up, layer by layer. This is argumented by the developers stating that “we really need to build the database access layer first, otherwise we are unable to realize the domain layer”. So the software is built layer by layer. There is a big risk involved in building […]