Iasi, Rumania. June 5, 2015. Designing, developing and deploying a microservices architecture

Posted Posted in Agile, course, Design patterns, microservices, News, Software architecture

On June 5, 2015 I will present a full-day masterclass on microservice architecture in the series of Software Architecture Day in Iasi, Rumania. The development and maintenance of monoliths presents organizations with increasing challenges, resulting in high costs and a slow time-to-market. More and more organizations are therefore attempting to componentize their applications. The latest and greatest paradigm microservices finally […]

Reaching post-conditions in tasks

Posted Posted in .Net, Adf.Net, C#, Design patterns, Frameworks, Smart use cases

Implementing use cases in Adf.Net is covered by the task pattern. Each smart use case in the model is implemented as a descendant of the Task class in Adf.Net. The task pattern consists of three major parts: Starting the task, either using a parameterized Init() method, or the default Start() method. After a task calls another task, and this second […]

How Smart Use Cases Can Drive Web Development. Video for session at DevDays 2011 [in Dutch]

Posted Posted in .Net, Agile, ASP.NET, C#, Design patterns, Extension methods, Frameworks, Smart use cases, Software architecture, Use cases, Video

as the Channel 9 website says: using real-life code examples Sander will demonstrate how to model, generate and build smart use cases and introduce the positive impact smart use cases have on your layered software architecture. Anyway, here’s the video for my DevDays 2011 session:

November 12, 2010 – Microsoft TechEd Europe. How smart use cases can drive web development

Posted Posted in .Net, Anti-patterns, ASP.NET, C#, Design patterns, Domain driven design, Extension methods, Frameworks, Service oriented architecture, Smart use cases, Software architecture, Talks, Testing, Unit testing, User stories

[Session ARC205 at Microsoft TechEd Europe 2010 in Berlin] Use cases have been around for many years describing the requirements of software development projects. From a developer’s point of view, use cases are often seen as too abstract and too complex to develop code from. Until now, that is. During this interactive talk, speaker Sander Hoogendoorn will demonstrate how to […]

November 9, 2010 – Microsoft TechEd Europe. How frameworks can kill your projects.

Posted 1 CommentPosted in .NET RIA Services, Anti-patterns, ASP.NET, ASP.NET MVC, C#, Design patterns, Domain driven design, Entity Framework, Extension methods, Frameworks, Hibernate / nHibernate, Talks

[Session ARC203 at Microsoft TechEd Europe 2010 in Berlin] When it comes to Microsoft .NET-connected development, more and more frameworks are entering the market, both from Microsoft and from open source. Think of ASP.NET MVC, Castle, Windows Workflow Foundation (WF), Entity Framework, Unity, Linq2SQL, ADO.NET Data Services, Windows Communication Foundation (WCF), nHibernate, Spring.NET, CSLA, NUnit, Enterprise Library, MEF or ADF. […]

Sander’s talk at TechEd US 2010. How frameworks can kill your projects and patterns to prevent getting killed

Posted 2 CommentsPosted in .Net, .NET RIA Services, Anti-patterns, ASP.NET, ASP.NET MVC, C#, Design patterns, Entity Framework, Extension methods, Hibernate / nHibernate, Silverlight, Software architecture, Video

Last week, the Microsoft TechEd North America 2010 took place in the great city of New Orleans. I was lucky to be invited to do a talk on how frameworks can kill your projects. When it comes to Microsoft .NET-connected development, more and more frameworks enter the market. Both from Microsoft and from open source. Think of ASP.NET MVC, Castle, […]

DevDays (The Hague, Netherlands. April 2010)

Posted Posted in C#, Conferences, Design patterns, Extension methods, Software architecture

This post was originally published in .NET Magazine. I re-posted it because of the talk I did at Microsoft’s DevDays 2010 in Den Haag recently.  The slides for this talk can be downloaded here. As you’re probably have been made aware of in abundance, in .Net 3.5 Microsoft introduced a little language feature called LINQ. Although LINQ has been demonstrated […]

Pragmatic model driven development. Part III. Creating the domain model

Posted Posted in Design patterns, Domain driven design, Model driven development, Publications, Tobago MDA

Note. This series of posts is also published as a Capgemini group white paper and published in Software Release Magazine (in Dutch, in two parts). The next step towards generated code, and other deliverables, is to create the domain model for the project. Next to the smart use cases, that capture the desired behavior, the domain model provides a structural […]

Extension methods. The overlooked language feature

Posted Posted in ASP.NET MVC, C#, Design patterns, Extension methods, Frameworks, Publications

This post was published in .NET Magazine. I recently did a talk at the SDC Conference at Papendal, Arnhem, discussing this topic. As you’re probably have been made aware of in abundance, in .Net 3.5 Microsoft introduced a little language feature called LINQ. Although LINQ has been demonstrated at all major and minor conferences, the way LINQ executes queries on […]

The days are just packed. My talks in May and June 2009

Posted 1 CommentPosted in Agile, Anti-patterns, Design patterns, DevDays, Model driven development, Scrum, Smart use cases, Software architecture, Talks

The months May and June are notorious for the number of talks – as Rick van der Lans describes: May and June are speaker’s season. Just to remind me not to forget any of my upcoming talks, here’s a list: May 12. Project estimation with smart use cases. At Capgemini, Utrecht. Presentation at internal software estimation seminar for Community of […]

Implementing smart use cases. Guest lecture at Hogeschool Arnhem Nijmegen

Posted Posted in .Net, ASP.NET, C#, Design patterns, Frameworks, Scrum, Smart, Smart estimation, Smart use cases, Software architecture, Tobago MDA, XP

In the second half of last year, I did a guest lecture at the Hogeschool Arnhem Nijmegen (HAN) in Arnhem on an invitation by lecturer Rody Middelkoop. I’m sorry but I can’t remember the exact date – only that I had an upcoming flue. Although if was a Friday afternoon, the audience was good, about 60-70 lecturers and students. I […]

Outline for new pragmatic book on smart use cases

Posted Posted in Agile, Book reviews, Design patterns, Model driven development, Smart, Smart estimation, Smart use cases, Testing

We (my team and I and a lot of people that contributed from projects) have been working on the concept of smart use cases on and off over the last ten years. I think it was back in 1998 that we coincidentally started modeling use cases at bit different than was custom, in a workflow oriented project. We not only […]

Navigating through the hypes, Software architectures and patterns to help avoiding your projects to crash – this year’s DevDays talk.

Posted Posted in .Net, Anti-patterns, C#, Design patterns, DevDays, Entity Framework, Frameworks, Smells of bad code, Software architecture

Good to hear that I’ve made the program of this year’s Microsoft DevDays. Will be a challenging talk on software architecture and patterns, titled just like this blog post. Here’s the description. Hope you like it. Navigating through the hypes, Software architectures and patterns to help avoiding your projects to crash When it comes to .Net software development, more and […]

Client/service architecture. Domain driven development in the distributed era. Episode IV

Posted 2 CommentsPosted in .Net, Anti-patterns, C#, Client /server, Design patterns, Domain driven design, Frameworks, Microsoft CRM, Service oriented architecture, SharePoint, Software architecture, web part

Go to episode three. Go to episode two. Go to episode one. In case you’re wondering why doesn’t this dude come to his point, you’ve probably missed it. I’ve made it already. The point is: you should always have a single point of truth, and at most have it reproduced on the server side. Which in most cases you don’t […]

Single point of truth. Domain driven development in the distributed era. Episode III

Posted Posted in .Net, Anti-patterns, C#, Client /server, Design patterns, Frameworks, Java, Service oriented architecture, Software architecture

Go to episode two Go to episode one Client / server could have been a much more successful era in software development, if it wasn’t for this copy-and-paste programming, leading to applications that slowly became unmanageable. I have seen this anti-pattern occur in any of the popular client / server technologies. Without exception, whether it was Visual Basic, PowerBuilder or […]

The merits of two-tier architecture. Domain driven development in the distributed era. Episode II

Posted Posted in .Net, Anti-patterns, C#, Client /server, Design patterns, Domain driven design, Frameworks, Java, Service oriented architecture, Smells of bad code, Software architecture

Go to episode one. So now you’re stuck with this two-tier architecture. Is this a problem. Well, not yet. However, it can become a huge problem, and it has become a huge problem in many, many client / server applications, in a vide variety of technologies, including several types of (legacy) web application technologies. The truth is out there The […]

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

Posted 2 CommentsPosted in .Net, Anti-patterns, C#, Design patterns, Domain driven design, Frameworks, Java, Service oriented architecture, Software architecture

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

Posted Posted in .Net, Application Migration, C#, Design patterns, Java, Model driven development, Smart use cases, Software architecture

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

Posted 3 CommentsPosted in .Net, Agile, Anti-patterns, ASP.NET MVC, Blogging, C#, Crisis, Design patterns, Frameworks, Java, Model driven development, Project management, Service oriented architecture, Smart estimation, Smart use cases, Smells of bad code, Software architecture, Software estimation, Waterfall

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)

Posted 2 CommentsPosted in Agile, Anti-patterns, Conferences, Design patterns, Frameworks, Java, Model driven development, Software architecture, Testing, Video, Waterfall

This is the video from Parlays.com 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?

Posted 2 CommentsPosted in Anti-patterns, Design patterns, Smells of bad code, Software 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 […]

Implementing value objects

Posted 2 CommentsPosted in C#, Design patterns, Frameworks, Software architecture

When reasoning about business domains in projects with customers, domain objects and their services are always discussed. But if you listen more closely you might hear additional requirements on the domain. “Off course, customers can also find a book by typing in their ISBN” or “we also register the customer’s web site, by adding the URL.” When to use value […]

Sander Hoogendoorn at the DevDays 2008

Posted Posted in .Net, Agile, C#, Design patterns, Frameworks, Smart use cases, Software architecture

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

Posted Posted in .Net, C#, Design patterns, Model driven development, Smart use cases, Software architecture, Video

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]

Posted Posted in .Net, Design patterns, Frameworks, Smells of bad code, Software architecture

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? […]

Implementing value objects in C#

Posted Posted in .Net, C#, Design patterns, Software architecture

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 […]