Skip to content

Henrik Kniberg's blog
Syndicate content
from the Crisp Consultants
Updated: 3 hours 1 min ago

Lean from the Trenches – Managing Large-Scale Projects with Kanban

Sun, 01/22/2012 - 05:17

I’ve published another book! This one’s called “Lean from the Trenches“. It is about how we scaled a 60-person project by combing techniques from Kanban, Scrum, and XP. I chose this title because it really it illustrates how to put Lean principles into practice in a software project, especially the notion of an end-to-end Kanban system, divided into tiers to coordinate multiple teams.

We learned a lot during this project and I’m really happy that I found the time to write about it. The book follows the same style as “Scrum and XP from the Trenches“, with 100% focus on real-life experience rather than theory. Lots of pictures and examples as usual.

You can get a hold of the book here, and also participate in a discussion forum.
http://pragprog.com/book/hklean/lean-from-the-trenches

Any feedback is welcome.

If you’ve read the book and feel like adding a review on amazon then that is greatly appreciated :)

Categories: Blogs

Coming to Brazil

Sat, 01/21/2012 - 21:47

Hi Brazil!

I’m happy to say that I’ll be visiting you in a few weeks.

I’ll be involved in two public events together with Samuel Crescêncio:

The course will be in English, but Samuel will be around to help translate when necessary. This is a unique opportunity, since I don’t get around to Brazil very often. In fact, this is my first visit ever to South America (I’m on a Big Family Trip). You’ll like this course. My courses are almost always rated 9.2 – 9.8 on average (out of 10) by course participants. In addition to the Scrum stuff I’ll be talking about Lean and Kanban and going through some real-life examples from my latest book Lean from the Trenches. The course is highly interactive, with plenty of hands-on exercises and discussions. The course is also very pragmatic, focusing on what actually works and doesn’t work in real life. No dogma.
Categories: Blogs

How the Agile Manifesto went global – 34 languages and beyond

Wed, 12/21/2011 - 06:35

In Feb 2001 17 thought leaders from the software community met at a ski resort in Utah to discuss and compare notes on how to succeed with software development. These people had independently been creating new methods such as Scrum, XP, and Dynamic Systems Development Method (DSDM). During the meeting, they discovered a strong common ground: a shared vision of how to succeed with software development. This became known as the Agile Manifesto. After the meeting they agreed on twelve principles behind these values.

Although the term Agile was coined in 2001, most Agile methods were created in the 1980s and 1990s. Agile is just an umbrella term, a description of the common denominator. Any method or approach that follows these values and principles can be considered Agile.

The Agile Manifesto is a historical document, a call for change. The wording of the manifesto resonated deeply with thousands of people around the world, causing somewhat of a revolution in software development. Ten years later, all the authors (except one) met again in the same location and concluded that they still stand behind agile values and principles. So, it seems that, despite the fast pace of change in the software industry, the Agile Manifesto is standing the test of time.

Although we have learned many things since 2001, the Agile Manifesto itself is not going to change, for the same reason as why we don’t update and maintain the Declaration of Independence, or the Magna Carta, or the meeting notes from last board meeting. It is a historical document, a snapshot of a moment of insight, not a living document.

Nobody owns the term Agile software development, so it has many interpretations. We know what Agile meant in 2001 (through the manifesto); today it is less clear. Many of the original manifesto authors hope that the term Agile will eventually fall out of use, signifying that the Agile values and principles have become simply “the way we do software.” I can only agree.

When the manifesto was created in 2001 the authors decided to call themselves the “Agile Alliance”, which has since evolved to a non-profit organization with the mission of “supporting those who explore and apply Agile principles and practices in order to make the software industry more productive, humane and sustainable”. The Agile Alliance is best known for the yearly Agile conference in the US (Agile 2010, Agile 2011, Agile 2012, etc), but they actually do many other things for the agile community as well.

I was on the Agile Alliance board of directors from 2009 to 2011 (and then stepped down because of a Big Family Trip), and one of our focus areas during that time was internationalization. As part of that effort I started the Agile Manifesto Translation program, which is now being run by Shane Hastie.

Most people in the world don’t speak English, and many people struggle with finding the right translation of the agile terms to their own language. The idea was that, if each community can discuss and agree on how to describe Agile in their own language, this should help spread agile adoption and lessen the risk for misunderstandings. So the mission of this program is to make the Agile Manifesto available in all languages of the world!

After discussion with Ward Cunningham and the other board members, we decided on this rough model:

  • Each translation would be run by the local agile community in that country.
  • Each language would have a lead translator, a volunteer who’s main job is to coordinate the translation effort and validate that the translation is supported by the local agile community.
  • My job as program chair would be to set up the technology and processes to support this.
We decided to make a trial run with Swedish (since I’m Swedish and could lead that translation myself). Ward Cunningham helped me set up the technology. I was amazed by how quickly he managed to add internationalization support to the wiki-based publication system behind the manifesto – I brought up the idea on Saturday and it was finished by Sunday. I guess I shouldn’t have been that surprised, considering that Ward was the guy who invented the whole wiki concept and implemented the first wiki.

I then found an existing Swedish translation of the manifesto and set up an online form where Swedish agile community members could vote on the translation quality of each point of the manifesto, and offer improvement suggestions. I send that to the Agile Sweden mailing list, which generated a flurry of discussion and suggestions.

Through the hundreds of emails on the mailing list, and dozens of face-to-face conversation with people, we created three or four iterations of the Swedish manifesto and finally ended up with a stable version that most people liked and very few disliked.

The Swedish manifesto went live in February 2010, and the addition of the language menu was the first time that www.agilemanifesto.org had changed in 9 years!

Leading this translation was a very interesting experience, and we learned many things:
  1. People care about this.
  2. The Agile Manifesto is a difficult document to translate. It is only two pages (the values and the principles), but the wording is very important and subtle.
  3. Involving the local agile community had a huge positive impact on the quality of the translation.
  4. The manifesto needs to be translated by the practitioners themselves. I tried at first involving a professional translation company, but that translation was no good at all. It was perhaps technically correct, but the essence of agile was lost. The practitioners did it much better. And free :)
  5. While discussing how to translate the manifesto, a more important thing was going on – the local agile community was getting together to discuss the meaning of agile – things like “who is the customer anyway?” and “what do we really mean by responding to change?” The translation effort was bringing us closer together, making the community less fragmented.

Inspired by this, we set up a simple process and basic tools for translation and issued a call for translators through my network – twitter, blogs, facebook, conferences, contacts such as the agile alliance board, etc.

The response was very strong! I was overwhelmed with offers to translate – within 2 days I had 17 people around the world offering to translate to 9 languages – and more kept coming every day. I spent a lot of time trying to ensure that the right person was leading each translation – a person who is truly bilingual, a person who is well connected and well respected within his local agile community, a person who is willing to do the work free and in collaboration with other people, and (if possible) a person who has previous experience doing translations.

Within 6 months we had 13 languages published, after another year we had 30 languages published.

For the Agile 2011 conference in Auguest 2011, I enlisted all the translators to help create an Agile Manifesto Translation Expo (here is the powerpoint original), which was laid out on the floor at the conference, and shown on the big screen during the 10 year reunion of the manifesto authors.

Now (Dec 2011) the Agile Manifesto is available in 34 languages, with another 25 in progress. Some are languages that I had never even heard of before, such as Urdu and Telugu and Tamil and Sinhala. Did you know that Telugu alone has 70 million speakers?

And the budget for this? 0$ :)

When I started the translation program I didn’t think it would be such a big deal, but the impact turned out to be greater than I had thought! I’m very grateful for all the positive feedback I’ve received from people. I was even invited to join a private meeting of the manifesto authors, after the Agile 2011 conference, and was surprised at how enthusiastic they were about this. Ward commented that ”Honestly, I’m having a hard time imagining a more sincere tribute to the original work and the impact it has had than the effort you have lead. Thank you.”

I’d like to reflect that positive feedback back to everyone who has contribute to this program:

Thank you all translators and reviewers! You have shown that Agile has truly gone global!

PS – if you wish to get involved feel free to get in touch with translate@agilealliance.org (current program director is Shane Hastie), or read more about the agile manifesto translation program.

Addendum: After reading this post Ward commented that the translation program has created new insights into the manifesto itself:

  • Its brevity makes it somewhat ambiguous and this may be its strength and appeal.
  • The teams assembled to interpret the text are the seeds to new communities.
Categories: Blogs

The Multitasking Name Game – or How Long Does it Take to Write a Name?

Wed, 12/07/2011 - 08:30

Here’s a useful simulation that illustrates how bad multitasking is, and how easily we get drawn into it.

The article is primarily written for teachers and facilitators who want to know how this simulation works and how to facilitate it successfully. However, anybody else reading the article will probably gain an appreciation for the issue of multitasking and will hopefully see ways to reveal and solve the problem in their own workplace.

Categories: Blogs

Teaching the first CSM course in Iran – and getting lost in the mountains

Wed, 11/30/2011 - 10:48

In April Reza and I traveled to Teheran to teach the first CSM course in Iran. It was my first time in Iran, we had a great time! We had 30 participants in the class and they were absolutely amazing! They spent at least 30 minutes after class discussing, taking pictures, and joking around.

 

 

One of the course participants was blind – that was very interesting. I use a lot of visual slides, so I had to remember to describe what I was showing. We did a programming exercise (elephant carpaccio, thanks Alistair), and I was a bit worried about how that would work out for the blind participant. He did fine though, he typed code just like everyone else and had earphones that told him what his cursor was looking at. Really cool!

Many people had warned me that Iran was dangerous for foreigners (“Beware, Iran hates the US and they might think you look American!”), that people in the class wouldn’t understand English, that they just came to see a foreigner speak, that there would be no women, that nobody would understand Scrum because of the culture, bla bla bla.

On the contrary, I saw nothing but friendly faces, and everyone I met was very happy to meet a foreigner. The course participants were surprisingly good at English, full of thoughtful questions, and yes there were women in the class as well.

I like travelling to places that people have a lot of prejudices about, because most of the prejudices usually turn out to be false :)

This was my first time in Iran, and I was there for less than a week, so there’s obviously a lot that I don’t know. But all in all I was pleasantly surprised about most things.

Reza & I also did something stupid – we got lost in the mountains! On the Sunday before the course we decided to get out of town and explore the mountains surrounding Teheran. The cable car we were planning to take was closed so we hiked up instead. Once we got to the first station we enjoyed the view and tried (but failed) to bribe the station guy to take us back down. And we didn’t want to hike down the same way (boring). So we decided to try a different route. There was a big map posted, and on it we could see that there was another trail down, leading to Darband (an area with really nice restaurants). So we decided to give it a shot. In fact, we could almost see Darband from where we were standing.

As we walked, however, the trail became less and less clear. Either we had accidentally gone off the trail, or the trail just faded away. We could see the rooftops of Darband though and it didn’t look to far away, and we figured we could turn back at any point, so let’s go on a bit further. As we hiked, the slopes gradually became steeper and steeper, and finally we realized that we weren’t actually hiking any more – we were climbing. And we didn’t have any kind of equipment for rock climbing. And even if we did, we probably wouldn’t know how to use it. And it was going to get dark soon. And wait, was that the sound of thunder? And did we just feel rain drops? And the rocks we’re climbing on, aren’t they a bit unstable, with pieces breaking off all the time, and pebbles rolling out from under our feet? And aren’t these rocks gonna get awefully slippery in the rain? We better hold on to the bushes instead. But uh… what is that rattling sound coming out of the bushes? Snakes?

It happened slowly, step by step, so we didn’t realize until too late that we were actually in trouble.

After a couple of hours of scrambling around on the mountain we realized that we had no idea how to get to Darband, and that we should focus on just getting off this mountain now. We realized that if we don’t get off this mountain soon we’ll have to spend the night up here, and probably miss the course tomorrow.

The only clear landmark we could see was a road – and a road must be a good thing right? I mean, roads lead to places, right? So we aimed for the road. To our dismay, the climbing got more and more difficult so towards the last bit we had to literally inch forward. I would climb ahead about 20-30 meters while Reza waited, then I would hide behind a rock while Reza caught up, and so on. This was to avoid being hit by the small rock avalanches that we kept triggering.

Anyway after a pretty scary climb we were finally on the road. Yipee! A road! Civilization! We’re Done!

Unfortunately it turned out that our Definition of Done was no good. We were nowhere near done. Because when we followed the road to the right, we ended up at a military base that wasn’t marked on the map. Furthermore, we were inside the base somehow – because the barbed wire on top of the fence was facing outwards!

That scared us alot! We had heard stories about what happens to lost tourists that wander into military bases in the mountains. So we quickly turned around and walked the other way. The road quickly ended at a new cliff. So we had no choice but to continue climbing down – and we were already exhausted and our water was running out. And now it was raining and the rocks were really slippery. We had to move reeeeaaaally slow.

About an hour later we finally got down from the last cliff and found a hole in the fence so that we could sneak out of the restricted area. After that we ended up in Darband – the place we were aiming for in the first place! Whew, what a relief! We were wet, dirty, bruised, and exhausted, and our clothes were all torn up. But we were uninjured, and really happy to be off the mountain!

Lesson learned: Never take an unplanned path in the mountains without a guide or proper equipment.

Class picture Happy classmates Asad Safari Preparing for the course Programming pair, watched over by a strict product owner Relaxing after the course Having a nice dinner in Darband Hey, where'd the danged trail go? Cliff climbing in rain with no equipment... Bailing out of the military area
Categories: Blogs

Intro to Kanban – slides from Leaders of Agile webinar

Tue, 11/15/2011 - 02:06

Here are my Kanban Intro slides from my Leaders of Agile webinar together with Kent Beck and Aslam Khan on Oct 27. Thanks for participating!

BTW when I did this presentation I was sitting in a small hotel room in Tokyo with 4 sleeping kids. Due to timezone differences it was the middle of the night. Fortunately nobody woke up :)

Sample slides:

Categories: Blogs

Tokyo Scrum Gathering keynote: Everybody wants Change, but nobody likes to Be Changed

Mon, 11/07/2011 - 08:12

Here are the slides for my Tokyo Scrum Gathering keynote “Everybody wants Change, but nobody likes to be changed“. Thanks for attending!

Sample slides:

 

 

 

Categories: Blogs