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

Posted Posted in Agile, Kanban, Offshore, Scrum, Smart use cases, Use cases, User stories, Video

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?

Posted 4 CommentsPosted in Agile, Kanban, Offshore, Scrum, Waterfall

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

Posted 2 CommentsPosted in Agile, Scrum

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

Posted Posted in .Net, Adf.Net, C#, Frameworks, Smart use cases, Unit testing

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

Posted Posted in Adf.Net, Validation, 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 […]

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

Agile business intelligence

Posted 1 CommentPosted in Agile, Business intelligence, iteration, Scrum, Smart, Smart estimation, Smart use case points (SUCP), Smart use cases, Software estimation, sprint, User stories

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

What could the Dutch football learn from agile?

Posted 4 CommentsPosted in Agile, Anti-patterns, Project management, Waterfall

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

Posted Posted in Agile, Kanban, Lean, Requirements, Scrum, Smart, Smart use cases, Software architecture, Software estimation, User stories

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

Posted 2 CommentsPosted in Agile, Client /server, Estimation, Smart estimation, Smart use case points (SUCP), Smart use cases, Software estimation

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

Posted 2 CommentsPosted in Agile, Anti-patterns, Kanban, Lean, Scrum, Smart, Waterfall

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…

Posted Posted in .Net, Anti-patterns, C#, Domain driven design, Entity Framework, Frameworks, Hibernate / nHibernate

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

Het institutionaliseren van agile

Posted 3 CommentsPosted in Agile, Anti-patterns, Documentation, Project management

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

Added GetOrDefault() extension methods for state providers

Posted Posted in Uncategorized

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)

Posted 5 CommentsPosted in Agile, Anti-patterns, Conferences, Documentation, iteration, Kanban, Scrum, Smart, Smart estimation, Smart use cases, Talks, User stories

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

Posted 29 CommentsPosted in Agile, Anti-patterns, Kanban, Lean, Scrum, Smart use cases, Use cases, User stories, Waterfall

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

Posted 15 CommentsPosted in Agile, Anti-patterns, Scrum, Smart use cases, User stories, Waterfall

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]

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:

March 30, 201 – Capgemini KM Webinar. Smart use cases. Achieving reuse in requirements

Posted Posted in Talks

[Presentation for Capgemini Knowledge Management Worldwide, via LiveMeeting] A while ago I received a very kind invitation to address the Capgemini Global Knowledge Community on a subject of my choice concerning reuse. It said: “On behalf of FS GBU KM, I would like to invite you to deliver a brief talk on a topic of your choice in Knowledge Management. […]

March 8, 2011–Model driven development using smart use cases and domain driven design

Posted Posted in Talks

[Talk at Capgemini Microsoft TechEd, at Papendorp, Utrecht] Again due to illness of one of the speakers, I got to do an additional session at Capgemini Microsoft TechEd, after doing a keynote and a talk the week before. This time I demonstrated our approach to model driven development using smart use cases, domain driven design and Tobago MDA. Here’s the […]

Capgemini TechEd (Utrecht, Netherlands. March 2011. Keynote)

Posted Posted in Conferences, Talks, Video

[Talk at Capgemini TechEd, March 1 at Capgemini, Papendorp, Utrecht] Due to illness of one of the speakers I did an additional talk at the Capgemini TechEd. I presented my successful talk on software architecture and frameworks, please check the video below, which was shot during the Microsoft TechEd Europe conference in Berlin in November 2010. When it comes to […]

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

Posted 4 CommentsPosted in Documentation, Enterprise Architect (Sparx), Smart use cases, UML, Use cases

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

Posted 2 CommentsPosted in C#, Documentation, Domain driven design, Enterprise Architect (Sparx), Smart use cases, UML, Use cases

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)

Posted 1 CommentPosted in Conferences, Talks

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)

Posted Posted in Conferences, Talks

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

Posted Posted in Talks

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.

Posted Posted in Talks

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

Posted Posted in course, Talks

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

Posted Posted in course, Talks

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)

Posted Posted in Conferences, Talks

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

Posted 1 CommentPosted in course, Talks

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

Posted Posted in Talks

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

Posted 2 CommentsPosted in Agile, Dashboard, Smart, Smart use cases, Testing, User stories

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)

Posted Posted in Talks, Video

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

Posted 9 CommentsPosted in .Net, .NET RIA Services, ASP.NET, ASP.NET MVC, C#, Client /server, Domain driven design, Entity Framework, Extension methods, Frameworks, Hibernate / nHibernate, Model driven development, Modeling, Service oriented architecture, Silverlight, Smart use cases, Smells of bad code, UML

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