Open Space Cartoons

For those of you using the Open Space approach to run self-organizing conferences, I created a set of fun cartoons to illustrate its four guiding principles and “law of two feet”. The drawings are vector-based, so you can print them as big as you want. At the formidable Agile Coach Camp Italy 2011, we printed [...]

7 Comments

The making-of the Rise of the Lean Machine

It’s a matter of time. Time I don’t have. I once learned that Alfred Hitchcock used to sketch on storyboards to pre-visualize the shots of his movies. What if I could apply cartooning and storyboarding techniques for my Zen-style presentations? With acceptable results, I thought, I could use those sketches as first-class citizens and incorporate [...]

3 Comments

Public speaking? Like a great movie!

I have really enjoyed doing some public speaking this year. I’m just back from the DDD Community Event in Galway and, once again, the feedback on my talk has been very positive. I always feel the responsibility of fulfilling people’s expectations, so hopefully I didn’t disappoint anybody. I must be doing something right though: 2 [...]

10 Comments

The Developer Summit 2008 has been a triumph!

I’m just back from Stockholm, where I presented a session titled “Passionate Teams and Cooperative Customers: Agile tales of creative customer communication”. Based on my direct experience, I offered some concrete suggestions of how to revert seemingly impossible (but common) situations in IT projects using a combination of agility, effective communication and deliberate creativity. All [...]

0 Comments

Patterns of Systematic Creative Thinking: Extract Concept

As software developers, we love to delve deep into technical matters and write code that delivers value. It’s not a big secret, however, that many problems in software originate with people and not technology. In my experience, the biggest issues arise mostly due to corporate politics, lack of shared values, poor attitude, inadequate communication skills, [...]

2 Comments

The Joy of Speaking and the ExpertZone Developer Summit 2008

I’ll be back to Stockholm in early April, delivering a talk at one of the main IT conferences in Sweden. For such a technology-centric event, it is quite fascinating to see an entire track dealing with the often neglected issues of people working together. We should really give the organizers a standing ovation for such [...]

4 Comments

I’m on Channel 9!

Yes, it’s true. Ron Jacobs has finally released the interview I did with him a while ago for his hugely popular ARCast and ARCast.TV. My initial plan was to use this fantastic opportunity to help promoting the excellent ideas that Dan North has developed in the field of Behaviour-Driven Development (BDD). It’s a great concept, [...]

3 Comments

Simple Continuous Integration with Rails: CruiseControl.rb

In case you missed the official announcement, the CruiseControl family of Continuous Integration (CI) systems has a new member; please welcome CruiseControl.rb.

I’ve always been addicted to its .NET counterpart, but this guy is so incredibly simple to setup and tweak that it certainly deserves a lot of attention.

In fact, it is already up and running here at InnerWorkings, right beside its older brother, polling data from our trusted Subversion code repository; it executes ruby-based acceptance tests on a .NET project we are working on.
We could certainly move the entire project there, but for now we’ll probably leave everything as it is.

After all, we can still use the same cctray client to monitor both CI systems on our Windows machines.

Not surprisingly, CruiseControl.rb uses Rake, which is quickly becoming my favorite build language; I find it way more enjoyable and expressive than any xml-based language I’ve used in the past (mainly NAnt and MSBuild).

There are rumors that CruiseControl.rb is set to become the “official” continuous integration system for Rails applications.

It is certainly an easy choice if you are into Rails, but I would definitely consider adopting it for any type of application, including .NET.

Why? Well, here is my story :-) :

As a developer, I want to use, create, and maintain simple and essential software, so that I can focus on delivering value without being lost in the act of writing code.

0 Comments

Do You Know… the Muffin Man?

At the software architecture workshop held in Cortina last February, JC Oberholzer mentioned that he has been doing a special meeting on a weekly basis for the last three years, with the aim of sharing technical information and improve the morale of his team.

In the past, I thought several times about doing something similar but I was never quite sure it could work out in a sustainable way; JC’s example, however, inspired me to try it here at InnerWorkings and, after successfully testing it for almost three months, I can certainly announce that not only it works for us, but it?s becoming part of our DNA!

Would you like some details?

Ladies and Gentlemen let me introduce you a half-baked (bun…oops…pun intended…ok stop!) pattern that you will never forget:

Muffin Morning

Software developers mature distinct experiences and learn technologies and techniques that can be relevant to others in their team.


How can I share technical information across a team/organization and encourage a healthy self-learning culture?


The most effective developers generally invest a significant amount of their own time researching new technologies, seeking optimal solutions to problems and continuously improving their skills; this is hardly surprising given the rapid transformations that the software industry imposes.

What is needed is a way to encourage team members to share technical information with others.

muffin image


Volunteer to illustrate and debate a technical topic relevant to the team on a regular basis. Encourage others to do the same by keeping things simple and very informal. Meet for an hour every Friday morning without exceptions, and provide muffins, doughnuts, coffee, etc.


The most important thing to keep in mind with muffin morning is that if presentations become too formal, too long or elaborate, few will be able to contribute as it will require too much preparation; a team deadline could easily break the regularity of the event and muffin morning would become nothing more than a failed experiment.

As a consequence, PowerPoint slides should be absolutely banned and the urge to show live code examples on a projector carefully considered.

I personally find that the most successful presentations are the ones that use a whiteboard only, as they encourage a greater dialog and instigate curiosity to find out more about a particular topic.

One of the biggest attractions of muffin morning is its capability to involve several team members in a communication and self-development exercise.

Independently from their presentation skills, volunteers are almost invariably cheered and supported by the rest of the team since they earn the respect of their peers for their courage and effort.

While volunteers have usually enough interest and understanding of a topic to be able to illustrate it to their peers, it is not expected for them to be experts on the subject. Indeed, often some other team mate may happen to have more experience or knowledge about the subject and consequently play a supporting role for the event.

5 Comments

Value-Based Agile Culture

How do you create a strong, positive culture within a team/organization? I considered this problem several times throughout my career. In fact, I think about it all the time.

At some point in my life, my habitual focus on self-improvement gained a whole new dimension as I realized that I could achieve something really amazing only with the synergistic cooperation of others.

I mostly owe this framework of thinking to Stephen Covey: his seminal book, The 7 Habits of Highly Effective People, played a major role in my quest for personal growth.

As developers, we are used to consider software development in pure technical terms: we focus on various technologies, we master the tools and we improve the processes.

While all these elements are very important, there is one fundamental omission; we often forget about the people we work with.

No, I’m not referring to the resources we allocate in a project plan; I’m rather thinking about individuals like you and me, with their cultural differences, their talents and the ideas that they bring, the ones with their struggle to keep up with endlessly evolving technologies, but also with their pride for a job well done.

I recently had a conversation with a developer who told me that people have to earn his respect and trust. He was pretty surprised to hear that I assume people are totally trustworthy unless proven differently over time.

I can understand his point of view. It is the result of a self-preserving mechanism that is unfortunately very common in too many corporate environments; in fact I, for one, have been poisoned by years of the worst corporate (anti) cultures, witnessing people fighting against each other on a daily basis; it’s within enterprises after all that I learned terms such as deception, hidden agenda, blame game, scapegoat, etc.

It does not have to be like that, however.

It takes incredible courage, passion, openness, integrity, determination, respect. These are the same core values that Covey taught me, values I firmly believe in.

Incidentally, I can also argue that these are the same values at the core of all agile methodologies, with their emphasis on individuals and interactions.

As a team leader, over the years I tried several times to become a catalyst of change by helping others to give their best and genuinely succeed in their careers.

I’ve been told more than once that my culture of openness is risky, that it will bite me back hard some day; I’ll keep taking my chances despite the cynical remarks and the unavoidable failures, thank you.

Today, I’m happy to observe that the InnerWorkings’ ecosystem shows more than a few traces of this culture almost everywhere; our thriving daily standup-meetings, internal forums, pair programming efforts, weekly muffin mornings, etc. are a testament of a social culture that is expanding well beyond my wildest dreams.

So, how do you create culture? I’m afraid I don’t have the complete recipe. In fact, I can’t even take full credit for what’s happening in my organization.

But I have one certainty: you too have the power to make a fundamental difference in your organization, your career, your life.

All it takes is courage.

2 Comments