What makes a group of good people a great team? I believe that shared values and experiences are fundamental. While there are many team-building activities available, such as paint ball and boule, I’d like to think that software development teams need more than that.
Crisp's BlogPage 24
from the Crisp Consultants
Yet more information is not always what you need
I’ve been thinking lately about the effects of transparency and information on decision making. After observing situations like:
- Teams flooded with report requests
- Costly measurements requests, but without explanation of why they are requested
- Holding back decisions in wait for complete information (even though just enough information seems to be present)
I’ve have wondered if more information can actually delay your decision making and what is really required to make correct decisions.
In short: More options can actually impair your decision making (more likely for inexperienced people). Experienced people are more likely to make the right decisions even in situations with incomplete information.
A Sabbatical
It has finally started. My sabbatical. In April I decided that I needed some time to step back and try some things my own way. I told my current client that in Q3, I would not be available. A lot of Q3 has passed but, as of this Monday, summer in Sweden is over and our two daughters are back at school and daycare which means I can actually start. 🙂
Journeyman seeking apprentice for coaching
When I started to work as a freshly graduated computer scientist in the mid-nineties I was immediately assigned to a project programming C++. I certainly did my best to implement the functionality with the best quality I could manage to produce, but when thinking back to it, it is no surprise that the result was not very good, the code was actually quite bad. This was pre-XP and Agile time; pair-programming was not widely used and in the first couple of projects we didn’t even code review our code before delivery. Luckily I read a lot of books and articles and studied code examples written by gurus in the field, and after a while I got a good feeling of how to organize and designing the code in order to make it maintainable. What I really would have liked to have during this time was guidance from an experienced programmer helping me to improve my coding skills.Â
I’m a big fan of the software craftsmanship movement; software development is a craft and you need to practice continuously in order to deliver quality software and customer value. I see myself as a journeyman who steadily is gaining new knowledge and experience in how to implement software. I read a lot to get new input and I practice my coding skills as much as possible beside my ordinary programming assignments. So in the spirit of craftsmanship I would like to give an apprentice, someone new in the profession, some guidance that I myself would have loved getting during my first year as a software developer.
Future-spectives
The concept of retrospectives is well established in the agile community as the way to incrementally improve your processes and the way the team members collaborate during their work. The idea is that by regularly looking back at the past period you may find improvement that will increase the productivity and delivered value.
This concept can also be used in other contexts, for example during a project kick-off at the start of a new project and team. To get the team on track and up to speed quickly it is important that the forming process starts out nicely and that the team learns how to collaborate and get focus on their work. Iterative processes with short iteration lengths helps out here in that the team needs to get focused in order to have a successful delivery after the first iteration. But you can also help out by establishing a common goal and vision for the team immediately at the start of the project. This common goal could help the team establish better collaboration and communication patterns as well as good process and engineering practices from start that will kick-start the project. And to establish that goal you could run a retrospective from the future, a future-spective.
Learning, understanding, and horizontal development
As developers feel the daily pressure to deliver, they tend to skip a crucial step in the process: learning and understanding the system. There’s a huge difference between just adding more lines of code to the codebase and making changes that maintain the conceptual integrity of the system.
Horizontal development is the result of not spending enough time learning and understanding the system you’re working on. By starting to churn out code too soon, you’ll inevitably be adding silos of functionality in parallel to existing functionality.
The outcome is legacy code. It doesn’t matter how well factored it is, and what test coverage it has!
How you know you are a Lean organisation
You can embrace lean in different ways. You can make use of Lean tools, you can attend lean courses and you can embrace Lean values (Toyota production system “TPS” to be correct).
But how do you know you are a Lean organisation?
- You define value from the eyes of the end customer
- You have a value stream/process to deliver this
- Management is continuously decreasing the Lead time across that value stream
Igniting change in 20 teams within 6 months
I have the great pleasure to have had my session-proposal accepted to the Lean Kanban Central Europe 2011 conference! Together with Johan Nordin, a colleague coach from Sandvik IT Services, we will present the result of our Kanban coaching since november 2011. The title of our session is about scaling Kanban. The actual presentation is
Continue readingFlow – a language learning game for kids
Links: Game material (powerpoint) – so you can print your own copy of the game www.whereareyourkeys.org – more about the fluency game Have fun!
Continue readingWebinar on Lean software development July 20
I’m doing a free webinar tomorrow together with Kent Beck & Aslam Khan. The topic is Lean software development, with some real-life examples and interesting discussions. I will be sharing some experiences with scaling kanban to larger projects. Join us! Here is the registration link. Wednesday July 20 at 1pm EDT, 10am PDT, 7pm Stockholm
Continue reading“Done” is often “Waste In Progress”
My experience is that most Scrum teams define "Done" as a "potentially shippable" story/feature. However, Lean has taught us that this definition actually introduces waste in the software development process.
Continue readingCoffee Break
You may remember Mats Henricson’s blog entry about what we know at Crisp. Well now we’ve put that same tag cloud (with some minor changes) on a mug! I’m sure you’ll be seeing these mugs in the hands of a Crisper near you in the coming weeks, but here’s a sneak peek: Get in touch
Continue readingMy first blog at Crisp
What the world needs is more lean management
A couple of years ago during a visit to Japan I had the the great fortune of talking to the CEO of Fujitsu Applications, Jun Watanabe. Before we left, I asked him "What is the most important thing in your work?" He’s response was "At the end of the day, all that is asked, is what have I improved"
Jun is a manager who expresses his commitment to improve the capability of his organisation. And to improve it, you first need to understand it 🙂
What is capability? It is your team’s systematic performance, what it is constantly delivering. Examples could be your teams cycle time, your velocity or the number of production bugs you are getting.
How are you doing in this respect? Test yourself by answering these three questions in your mind:
Continue readingThe TDD Tetrahedron, version 2.0
The TDD Tetrahedron, or if you wish, pyramid, has reached 2.0. Like cars, the new model is bigger and comes with new technology.

By pure coincidence, I ran into somebody willing to print this. So here it is, the version 2.0 of the TDD Tetrahedron. The new version has sides of 100 mm and it is made of plastic.
What’s it for?
Well, if you didn’t use the older version, you may be wondering what’s so great about this. It is all about mental focus.
London – Learning to travel with 4 small kids
Having fun in London, beta-testing the concept of travelling with 4 small kids. We wanted to make it a challenge – if anything is to go wrong we’d rather it goes wrong on this short trip, than on the big trip after summer (we’re planning to do a 6 month round-the-world trip). So all the kids (except our youngest, 1 yrs old) got to pack & carry all of their own stuff all the way.
And no cabs or cars, which meant walking 1 km to the bus on gravel & dirt roads + a whole bunch of switching between buses, planes, subways, trains, escalators, elevators, stairs, etc, in both Stockholm and London.
Continue readingBecoming a Product Owner, Part 2
Here is part 2, a week has past. I think as I write so it is a bit different in style and content than my other posts here.
It has been a hectic week, this first week as PO/SM. First of all, it was only four days thanks to national day. Then there were two new developers from Russia which meant twice as many developers as we had before, not counting me. Simple, you just tell people to pair program. That works out if they are well enough to come to work. Which they weren’t. So they russians were left a bit hanging. I had a lot to do just to keep the team running, at least according to my standards.
The Product Owner team
In my opinion, the Product Owner (PO) role is the most demanding one in Scrum, since the PO needs to have so many talents and you rarely find all of them in one single person, so in my current team we formed a PO team instead.
Continue readingBecoming a Product Owner, Part 1
I am programmer and Scrum Master but has been offered to become Product Owner for the same part of the product I am currently working on. I decided to accept the offer and this is my live story, written as I go. Perhaps this will be of interest to you.
First of all, to me, this was not a decision I took lighthearted. However, I do have the fortune of peer coaching at Crisp and the offer came the same morning we had our last coaching. That was a timing like there was a meaning behind.
It is not supposed to be full-time either, so I need to choose what I shall do the rest of my day. It turned out that initially there was no choice. It was not possibly to find a Scrum Master to fill in my gap. The next sprint I will be both PO and SM. Hua!Continue reading
Where to store the product backlog and the release plan
In my present team we have tried many formats for the product backlog and the best one so far is – PowerPoint!
Continue readingWhy should I care about Scala and Akka?
Java is great and I have been doing it for years. Why should I care about things like Scala and Akka?
The short answer could be:
- Scala is the future
- Akka is the killer framework
Lean & Kanban at RPS
Dagens Industri has written an article about my current client RPS – Rikspolisstyrelsen (the Swedish national police board). During the past 6 months I’ve been working with them to implement a Kanban-based software development process in a 60-person project. Our aim is to equip every police car with a laptop & mobile connection to the
Continue readingThe link between testability and object-orientation
What’s testability? And why does object-oriented code feel more testable? In this post I argue, somewhat informally, that making code object-oriented, or just by introducing more accurate abstractions, we decrease the domain-to-range ratio, thus making our code more testable.
Continue readingTools of Our Trade
Today we developers are high in demand, at least here in Sweden. My client is now persuading russians to immigrate only because there are not enough of skilled programmers. While there still are people that think one programmer is as good as another, give or take some experience, others have realized that there is a huge difference.Continue reading
10 pitfalls when implementing kanban – slides

It’s been two busy weeks. First attended and presented at Lean Software and Systems 2011 and the week after at Goto Copenhagen 2011. Lot’s of timezones.. but met inspiring people, had plenty of good discussions and and a great time.

Many great presentations and if you have the chance, go see Benjamin Mitchell present. Also, the "Kanban Primer Play" (by Arne Roock, Bernd Schiffer and Markus Andrezak) is great way of demonstration real lean and cooperative concepts revolving around a kanban board.
I held a talk about pitfalls implementing kanban. Here are my slides!
Continue readingThe story of the little boy and the Big Plan
This is actually a true story that I am about to tell you. I heard it from a friend talking about his childhood a couple of weeks ago. When I listened to him, I could immediately compare it to many of the software projects I have seen.
Micro agile
When we develop using agile principles we have learned to "do the simplest thing that can possibly work". What happens if we apply this thought to agile methodology itself?
In my experience the three most important components in a successful application of agile methods are:
- Joy
- WIP limit
- Regular retrospective
Ranking in Jira
I’ll just start out by saying that I’m no Jira expert, in fact I don’t even have Jira admin privileges at my current project. I do however use Jira at least once a day. I manage versions, and create components. I also create stories and epics, and try to maintain sprint and product backlogs in
Continue readingLimited WIP Society #5 – Playing GetKanban
A short while ago we gathered 24 people to try out the GetKanban game. Here you see Håkan Forss giving instructions to the teams.

I heard a question if Limited WIP Society was only for invited – absolutely not, that is a great misunderstanding. Maybe the name is somewhat misleading.. . It is open for anyone interested in applying Lean, Kanban or Theory of Constraint principles in software, sometimes due to in limitation in our facilities, we have to limit attendees but it is always on first come first serve basis.
We announce the events on the agilesweden list as well invite earlier attendees. If you are interested in the events, just email me and I’ll put you up on the invitation list. Hope to see you there next time!
Cheers
Mattias
Ps: David Anderson is holding a special Kanban Training for managers in Stockholm June 20-21. Check it out: http://www.crisp.se/kanbanformanagers
Continue readingTurn your external screen into the primary one in Ubuntu
Ever had the problem that your dashboard turns up in your laptop display instead of your external display in Ubuntu? xrandr comes to your rescue!
Continue reading


