Author Archives: Sander Hoogendoorn

About Sander Hoogendoorn

In his role of principal technology officer and global agile thought leader at Capgemini, Sander Hoogendoorn is a software development enthusiast, constantly involved in the innovation of software development processes, techniques, architectures, patterns and technologies, both at Capgemini and its many international clients. Sander has coached many organizations and projects, has published books on UML and agile and has written numerous articles. He is an appreciated speaker at international conferences and seminars, including JAOO, OOP, TechEd US, SDC, DevDays, TechEd Europe, JavaPolis, SET, TDWI, TestNet, DTC. He is also a member of Microsoft’s Partner Advisory Council .NET, and several other editorial and advisory boards. See also www.sanderhoogendoorn.com and www.smartusecase.com.

Agile anti-patterns. Yes you agile projects can and will fail too

Over the years I have noticed a lot of agile anti-patterns during projects. Wrongly used agile approaches, dogmatic use of agile approaches, agile-in-name-only. Recently I have presented a talk at a number of agile and software development conferences that demonstrates patterns of agile misuse. These conferences include Agile Open Holland (Dieren), Camp Digital (Manchester), GIDS (Bangalore), ACCU (Oxford) and Jazoon (Zurich). Anyway, here’s the slide deck. Enjoy. Agile Anti-Patterns. Yes your agile projects can and …

Continue reading

| Posted on by Sander Hoogendoorn in Uncategorized | 2 Comments

How to kill your estimates

It must have been about twenty five years ago. I was working for a large international consultancy firm. One of the reliable ones. The ones that you would think that had everything worked out. But I guess this was merely the product of my imagination. At one time two colleagues and I were working on an estimate for a bid for a software development project. Now the three of us together, despite the fact that …

Continue reading

| Posted on by Sander Hoogendoorn in Agile, Custom Software Development, Web | 1 Comment

Evolving agile

Without any doubt agile is the biggest evolution in software development approaches since the introduction of waterfall back in the early seventies. And yes. Agile is an evolution rather than a revolution. The best practices and techniques in agile didn’t just pop-up. Rather they emerged from years of hard-working, real-life experience in succeeding and failing in projects. So working in short iterations, in multi-disciplinary teams, prioritizing our work items regularly, and testing and delivering early …

Continue reading

| Posted on by Sander Hoogendoorn in Agile, Custom Software Development | Leave a comment

A short notice about object relational mapping framework generated queries…

I guess object relational mapping is an accepted paradigm for exchanging data between an object oriented domain layer and underlying databases. For most applications object relational mapping is more than sufficient. And if not, perhaps command query responsibility segregation might contribute well to your solution. Being a more than frequent user, this very short blog post is not meant to question either of these popular paradigms. However, I would like to make it clear that …

Continue reading

| Posted on by Sander Hoogendoorn in Architecture, Custom Software Development, Data | Leave a comment

Het institutionaliseren van agile

[Sorry this entry is in Dutch.] Er is een anti-patroon op het gebied van agile dat me nauw aan het hart gaat. En dat is de institutionalisering van agile. In de afgelopen vijftien jaar heb ik met veel plezier en inzet organisaties en projecten gecoacht op weg om agile worden. In die vijftien jaar heb ik ongelooflijk veel geleerd, over software ontwikkeling, over programmeren, over processen, over het doen van projecten maar misschien vooral over …

Continue reading

| Posted on by Sander Hoogendoorn in Uncategorized | Leave a comment

Death by Dogma versus Agile Assembly

On November 3, 2011 I presented the keynote of the Agile Open Holland Conference in Dieren. During this challenging talk I discussed the current state of affairs in agile organizations and projects and the effects of the recent strong rise in popularity of agile approaches. Let’s put it mildly: there’s a lot of work to be done. Death by dogma Almost all organizations, large and small, are turning towards agile to escape failing traditional software …

Continue reading

| Posted on by Sander Hoogendoorn in Agile, Architecture, Custom Software Development | 1 Comment

Flower-Power Agile Fluffiness

To all the dear people in the agile community and to the faint-hearted: this will not be an easy blog post. There was a time when being a software developer was a decent craft, requiring decent craftsmanship and yes also a lot of creativity, some communication, some collaboration. Still it was a decent craft. The waterfall-ish methodologies we used weren’t extremely optimal, but at least software development was a craft. Similar to a carpenter who …

Continue reading

| Posted on by Sander Hoogendoorn in Agile | Leave a comment

Scrumdamentalists and Crusaders

After having promoted agile and iterative approaches to software development projects for over a decade, I finally find that, like Bob Dylan says, the times they are a-changing. And for the better. Many small and large organizations and enterprises are now turning towards agile approaches, often to compensate for years and years of failing projects. You might suggest that all’s well that ends well . But… With the growing success of agile approaches new patterns …

Continue reading

| Posted on by Sander Hoogendoorn in Agile | 2 Comments

Modeling your domain models in UML

In any given system under development, the business domain of that system is key. It holds all concepts important to the domain, and captures the business logic from the domain. An important question to answer is what to model about the objects in that domain and how to model this in UML class diagrams. Identifying the elements of the business domain First of all, it is important to underline which types of classes participate in …

Continue reading

| Posted on by Sander Hoogendoorn in Architecture | Leave a comment

The explicit role of testing and testers in agile projects

Not all agile processes and approaches recognize the role of testing explicitly, other than stressing the importance of unit testing. However in short iterative projects, testing is key from day one. On of the agile approaches that does explicitly describes the role of testing – and of having testers on-board – is the agile process Smart. One of the characteristics of this process is that its main unit of work is the smart use case. …

Continue reading

| Posted on by Sander Hoogendoorn in Agile | Leave a comment