Offshore Agile Software Development: A Practical Guide to Making It Work

In my previous post, I explored how offshore Agile software development offers many benefits over more traditional, Waterfall style approaches, but only if some of the obvious difficulties in communication, overheads and language issues are addressed. So how do organizations overcome those difficulties to make offshore Agile work? Over many years at Capgemini, we have gained experience with distributed Agile […]

Offshore Agile Software Development: Does It Work?

Due to the ever-rising demand for seasoned software developers in the nineties, offshore software development became a compelling alternative to in-house development for many organizations. Despite the cultural, language and time differences and the geographical distance involved, more and more projects were executed with offshore development and testing, benefiting from lower rates of cost and the high availability of people, […]

The changing interpretation of agile

For as long as I can remember I have been evangelizing, promoting, practicing, coaching, and training agile. For me as a developer the goals for applying agile approaches and techniques are pretty clear. I want to make better software. Higher quality, better suited for use, and possibly also faster. And from my own empirical evidence I can certainly state agile […]

Validating sending mail messages in smart use case unit tests

When building applications with the Adf framework, smart use cases are implemented in task classes. Quite regularly mail messages are sent from tasks. To do so we use the MailManager class. Using this class mail messages are usually build up as in the following code example. To send mail messages, the MailManager plugs in an implementation of the IMailProvider interface. […]

Adding specific validation messages to value objects

One of the requests we often get in projects that use the Adf.Net framework is to be able to get specific validation messages, especially when during persisting panels to domain objects, properties that have value objects as their type fail to persist, usually during call such as below. protected void lbOpslaan_Click(object sender, EventArgs e) { BindManager.Persist(Persoonsgegevens, panelPersoonsgegevens); MyTask.OpslaanPersoonsgegevens(); } I […]

Agile business intelligence

Het besparen van kosten is een veelgenoemde aanleiding voor Business Intelligence (BI) projecten. Zo wilde een bekende overheidsinstantie weten hoe effectief de bestrijding van uitkeringsfraude was. Het onderzoeken van mogelijke fraude kost de instantie geld, maar het vinden van fraudeurs levert echter direct geld op. En dus ging zoekt de instantie naar de optimale verhouding tussen het aantallen onderzoeken en […]

Illustrating the Dit Is Agile book

This month I hope to round off the work on my new book Dit Is Agile (in Dutch). Last reviews are coming in, and I’m very happy with the results of my hand-drawn illustration for this new book. The idea of drawing the illustrations by hand instead of using PowerPoint or Visio is working out fine, and also allows me […]

What could the Dutch football learn from agile?

After a series of very disappointing games the Dutch national football team was eliminated during the preliminary rounds of the European Championships. Comments weren’t mild. The most heard comments largely focused on the lack of team spirit and mental fitness. Not uncommon to Dutch national football teams. Earlier this week an interesting broadcast of the Dutch sports program Studio Sport […]

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

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

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

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

Added GetOrDefault() extension methods for state providers

In the framework ADF.NET state can be temporarily stored by calling the StateManager. The StateManager is an static façade that holds three different instances of the IStateProvider interface. These instances are: Personal. State that is stored somewhere for personal use of the current user of the application. Usually in web applications an implementation is plugged in to use the Session […]

Agile Open Holland (Dieren, Netherlands. November 2011. Keynote)

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

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

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

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

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:

Describing (smart) use cases using Enterprise Architect 8. Part II – Use case scenarios and structured specifications

Enterprise Architect by Sparx Systems is a commonly used modeling tool, targeted at modeling UML and BPMN diagrams. One of the most frequently used diagrams is the use case diagram. A use case diagram consists mainly of actors and use cases, either traditional or smart use cases. Use case scenarios There’s different ways of modeling and describing what action a […]

Describing (smart) use cases using Enterprise Architect 8. Part I – Templates and validations

Enterprise Architect by Sparx Systems is a commonly used modeling tool, targeted at modeling UML and BPMN diagrams. One of the most frequently used diagrams is the use case diagram. A use case diagram consists mainly of actors and use cases, either traditional or smart use cases. A use case template The specification of the individual use cases in the […]

SDN Event (Zeist, Netherlands. March 2011)

Sander of software architecture, patterns and frameworks. One man, a whiteboard and three markers At conferences, many keynotes and talks using beautiful slide decks cover advanced topics in software architecture, working with specific frameworks or design patterns. This talk will be different. I will not advertise nor bash certain frameworks, nor will I do a lot of name and acronym […]

Centric Event (Zoetermeer, The Netherlands. March 2011. Keynote + talk)

Will present keynote and some sessions at Centric internal event on agile software development, targeted at project managers, information and business analysts. This talk specifically targets at the role of project management, planning and estimation in agile projects. Topics will include: What is the role of the project manager in agile projects? Does it still exist? Project manager or agile […]

March 16, 2011 – Centric Event. Requirements in agile projects

Will present keynote and some sessions at Centric internal event on agile software development, targeted at project managers, information and business analysts. This talk specifically targets at the role of information analysis and requirements in agile projects. Topics will include: Does business and information analysis still exist in agile projects? Agile requirements Where does the backlog come from? An agile […]

March 16, 2011 – Centric Event. From lightweight agile to enterprise agile.

Will present keynote and some sessions at Centric internal event on agile software development, targeted at project managers, information and business analysts. Topics will include: Why doesn’t waterfall work – and did it ever? What makes agile different? The Agile methodology that doesn’t exist. An overview of agile processes that do exist. Agile key characteristics Agile best practices Agile beyond […]

Hilversum, The Netherlands. March 10 and 11, 2011. Workshop pragmatic modeling using UML and beyond

On March 10 and 11 I will present an intense two-day workshop on the pragmatic use of UML modeling techniques (and beyond) with lots of hands-on exercises for Array Seminars. Of course this workshop will cover smart use cases, domain driven design, service orientation and many other modeling techniques. donderdag, maart 10, 2011 All Day Workshop pragmatic modeling using UML […]

Diegem, Belgium. March 3-4, 2011. Workshop Pragmatic modeling using UML and beyond

On March 3 and 4 I will present the 33th (!) edition of an intense two-day workshop on the pragmatic use of UML modeling techniques (and beyond) with lots of hands-on exercises. Of course this workshop will cover smart use cases, domain driven design, service orientation and many other modeling techniques. Participants modeling activity diagrams with smart use cases donderdag, […]

Capgemini TechEd (Utrecht, The Netherlands. November 2011. Keynote)

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. Title: Implementing and unit testing smart use cases During this interactive talk, speaker Sander Hoogendoorn will demonstrate how to model, […]

Antwerp, Belgium. February 15, 2011. Agile in everyday practice

During this intensive and highly interactive full day seminar Belgian guest speaker Stefaan van Royen and I will cover a wide range of subjects on agile software development, including why waterfall doesn’t work, agile key characteristics, agile processes, Scrum, Smart, XP, and enterprise agile projects. Guest speaker Stefaan van Royen (TomTom) dinsdag, februari 15, 2011 2:00 Agile development in everyday […]

February 10, 2011 – Capgemini Legal, Utrecht. An introduction to agile

An important and often underestimated aspect in organizing agile projects is the contract between the client and the contractor. Getting the contract right is much harder than it seems. Venue: Presentation and discussion for legal department at Capgemini, Papendorp, Utrecht. Reasons for getting into contract disputes have to with that it is very hard to establish upfront what it is […]

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

January 28, 2011 – Capgemini, Munich. An introduction to the Accelerated Delivery Platform (ADP)

[Long video-talk at Capgemini in Munich for several Capgemini offices in Germany and Poland] Because I was in Munich anyway, Capgemini was so kind to invite to present a 2 hours talk introducing the accelerators of our agile software development platform, called the Accelerated Delivery Platform (ADP). During this talk I discussed the effects of enterprise and service oriented aspects […]

A book on pragmatic software architecture, patterns and frameworks?

One of the major items on my wish list – that is on the professional half of it – is to write a book that displays my ideas on software architecture, patterns and frameworks. Yes I know, there are many books on software architecture, and there are many books that explain patterns, and yes there also are a lot of […]

OOP (Munich, Germany. January 2011)

[Talk at 20th anniversary edition of OOP Conference, Munich, Germany] This years edition of the Munich based OOP Conference is it’s 20th anniversary. I have done quite a number of talks at earlier editions of this vibrant conference. So I was keen on coming back to OOP for its anniversary edition. Great line-up. Keynotes by Erich Gamma, Martin Fowler, Tom […]