TDD Illustrated
Do you see what I mean?
Being a visual person, I had an idea that would illustrate this in a few pictures. Here they are for your scrutiny and enjoyment!
Developer Superstition
But superstition grows out of ignorance, and that's a valley I must admit I have walked in. And some time ago it struck me that I am indeed plagued by superstition as a developer. Let me elaborate.
Suppose you're in a slow edit-compile-debug cycle, and suddenly your changes to file X aren't deployed to Tomcat any more. After some brief investigation it turns out you can get your changes through to Tomcat by prepending your Maven command with "clean", i.e. a clean compile, instead of just incremental.
At this moment your are in dangerous territory, because if you never find the root cause to the problem you are quite likely to ALWAYS do clean builds, thus slowing you down forever!
Does this resemble a situation in your past? If so, then you are also superstitious!
I have added all sorts of shit procedures to my daily work. I do WAY to many clean builds. I restart my laptop twice a day because I can't get it to dynamically go from wireless to wire, or from my second screen at work to my second screen at home, since they are of different size. My Ubuntu 9.10 distro have problems with that, and I just haven't found the root cause to it.
Staving off superstition is simple in theory but hard in practice, since it requires you to go to the root of the cause of problems. I have suddenly gotten much more respect for stubborn people!
Leading Lean Software Development with Mary Poppendieck
March 4-5 in Stockholm

There are still a few spots left, more info and registration here:
http://www.crisp.se/leadinglean
Join us!
The invasion of Lego robots
Kanban vs Lego 0 - 1
It was good fun. So fun teams almost forgot about Kanban :)
Programming the bot:
Agile Support with Kanban
Some tips and tricks
Download the article about Agile support with Kanban
Good Luck!
/Tomas
The TDD Tetrahedron
Best thing since sliced bread
Are you looking for some concrete expression for Test Driven Development? Let me give you a glimpse of what I am working currently on – the TDD Tetrahedron.
The idea originates from when a colleague at Crisp, David Barnholdt, wrote about not focusing on one step at the time. So I thought for a while and came up with this idea, a tetrahedron where each side displayed “failing test”, “implementation” and “refactor”, respectively.
You turn it and look at the first side where you read “failing test”. You write a failing test and turn it again, reading “implementation”. Write the implementation and run the test to get the green bar. Once again you turn the tetrahedron and read “refactor”. You look for something to refactor, confident that if you do, you will be supported by unit tests all the way.
Or the thing just sit on your table to tell everyone how cool you are as being a TDD programmer. At least wish to be. :-)
Anyways, here are some sneak preview pictures of the greatest thing that ever happened to the world of programming, ta da – the TDD Tetrahedron!
Emo-lines
How to get a team to talk about how they feel during a retrospective
Use Emo-lines
Scrum Checklist translated to Russian, Japanese, German, and Portuguese
- Russian (thanks Alexander Plutalov)
- Japanese (thanks Yasunobu Kawaguchi)
- German (thanks Marc Bless)
- Portuguese (thanks Demetrius Nunes)
Agile - ett verktyg, inte ett mål
Slides from breakfast seminar January 18
This is more or less the same presentation as my keynote at Integration Agile 2009 conference in Holland.
Video from Introducing Kanban in operations
Devopsdays'09
Interviewed on Agile Zone about Kanban and Scrum and XP
I was interviewed by Mitch Pronschinske on Agile Zone, this turned into two articles:
I think Mitch did a good job of turning the interview into coherent articles (not an easy job).
Pair program your roadmap
Doing a road map can be a tricky thing. There are plenty of constraints and dependencies to consider:
|
I find that pair programming is by far the fastest way of traversing the decision tree. Basically, if you are a Product Owner, construct the road map together with another person. Lay out the plan that best meets the constraints and business goals and let the other question the options. (Of course, don't forget to switch).
Altogether, it helps you check the different options and prepare arguments. You will be better prepared when meeting the stakeholders. For when you do, there is always something uncertain waiting for you.
Kanban vs Scrum video in Swedish
10 minute lightning talk from Agila Sverige 2009
NOTE - the recording is in Swedish.
The book is out!
Kanban and Scrum - making the most of both
| My and Henrik's book on is out. Get a downloadable version, or buy the full copy at InfoQ. The book includes:
|
![]() |
For further reading about the case study, see my presentation at Devopsday's 2009.
Kanban and Scrum - making the most of both
Book published on InfoQ
The purpose of this book is to clear up the fog, so you can figure out how Kanban and Scrum might be useful in your environment.
The book includes:
- Foreword by Mary Poppendieck
- Foreword by David Anderson
- Updated version of my original “Kanban vs Scrum” article
- In-the-trenches case study by Mattias Skarin
Translators: If you are interested in translating this book to your language, please get in touch with my editor Diana Plesa (diana AT c4media.com).
Merry X-mas!
Traditional Chinese version of Scrum and XP from the Trenches

The other 8 translations are listed on the InfoQ page for the book.
Feel free to email me (henrik.kniberg AT crisp.se) if you want to translate the book to your language.
Change Based Configuration Management
The simplest advanced branching strategy
A CM-plan will deal with several matters, from simple to decide things, such as naming of releases to more advanced subjects, such as branching strategy. I will talk about the latter today.
There are of course different ideas about what a good branching strategy should be. It is my firm belief that it must be aligned with the subject at hand, namely changes.
Agile Alliance Board reception
Wednesday Dec 16 in Atlanta
We’ll host a winter holiday networking reception for Agile Alliance members, partners and friends. We’ll provide refreshments, a preview demo of the new website, and a quick review of the Agile Alliance Roadmap. You’ll bring lively ideas, questions, and a hearty appetite for Agile.
When: Wednesday December 16, 6:30 to 9:00-ish pm
Where: Atlanta Marriott Perimeter Center.
Please let us know if you plan to attend. Send an email with: Your Name, your Company/Affiliation, your Daytime Phone Number, and your “reply to” email address. To: admin@agilealliance.org.
Manage the normal - treat exception as exceptional
Current favourite quote
"This production bug is unacceptable, it must never happen again!"
And that event, outside your systems control, formed a policy that affected all your every day life. Failure to distinguish between uncertainty under our control and uncertainty imposed by outside events is a bad management habit.
Instead;
"Manage the normal - treat exception as exceptional"
And have a happier life :)





