marcusoft.net - sharing is learning


function share(knowledge){ return share(++knowledge) }

Principles and practices, guilds and cross-functional teams


This post is work in progress - I’ll finish it tomorrow.

I have been involved in many organisational changes that turn the organisation sideways. From functional departments to cross-functional teams, from projects and completing activities to continuous delivery and focus on reaching effects.

Just about always this creates some initial confusion around where decisions get made and how the old ways fit into the new. Quite often worry about chaos break out.

For example;

Who is in charge of the overarching architecture, now that each team is deciding everything by themselves?

I realize that I’ve done a bad job describing how this is going to work. The other week I found myself describing this with a pretty simple model that I wanted to share.

Read on ...

Tags, markers and behaviour it drives on the board


I just had a conversation with a client that I keep coming back to. It has to do with how we are using electronic systems that manager our work, for example JIRA and TFS.

I needed something to refer back to and I hope that you can get something out of me writing this down.

Read on ...

The things I (we) worry about in vain


Although I often preach about embracing uncertainty and sometimes get comments about always being calm… despite that; I worry. As do we all.

But sometimes, in rare moments of clarity, I have the opportunity to stop and reflect over the what I am worried about. It just about always brings me to the realization that I worry in vain.

Let me share three things in particular, that I have worried about lately. That gave me nothing but more worry.

Read on ...

KanbanStats VI: Queue length


It’s time to wrap this series up. I have one final thing that I want to visualize: queue length. How much stuff is waiting and how long will that take us to complete? And maybe even, “if I add something in the queue now, how long before it’s done?”

  1. Lead time
  2. Lead time with filters
  3. Throughput
  4. Where time is spent
  5. Single numbers - averages, median and max of lead time

As always my sheet is found here and you can make a copy of it and use it. Please let me know how it’s working out for you and if you end up doing something cooler than me.

Let’s do it - queue length!

Read on ...

Trying out test commit or revert


I stumbled over a new concept the other day. As it was conceived by Kent Beck, that inspired and thought me a lot in the past, I got interesting.

[UPDATED]

I read Kents blog post a bit too fast and missed that this idea was actually proposed by Oddmund Strømmer. Very sorry that I missed that in my writeup, Oddmund. Thanks for correcting me, Raquel.

And after some even more research the origins seems to be traced back to a group of people that took a workshop with Kent Beck. Not only Oddmund Strømme but also Lars Barlindhaug and Ole Tjensvoll Johannessen. Those Norwegians… always a few steps ahead of me.

[BACK TO THE OLD TEXT]

When I read his blog post I got to this quote:

I hated the idea so I had to try it.

I felt the same actually and now I’ve tried it. I was so provoked by it so I had to try it.

The idea is pretty simple:

The full command then is test && commit || revert. If the tests fail, then the code goes back to the state where the tests last passed.

In this blog post, I have documented my complete workflow in getting this up and running and trying it out on a simple kata. The post became pretty long but is hopefully easy to follow.

Read on ...

KanbanStats V: Single numbers


This post is all about just aggregating and averaging out to a single number… and then I can’t control myself but start to lay that number out over the individual weeks too.

That, and we will use the Gauge-chart for the first time in my life.

This is the fifth post in my series on some simple kanban board statistics. We have been talking about:

  1. Lead time
  2. Lead time with filters
  3. Throughput
  4. Where time is spent
Read on ...

KanbanStats IV: Where is time spent?


This is the fourth post in my series on some simple kanban board statistics. We have been talking about:

And this time it’s time to see if we can visualise a bit where time is spent. For this first post, we will make some basic classifications of active and not active or not “on the board” and “on the board”.

In the coming posts I want to expand on this and see if we can make a distinction between other states on the board as well, but for that, we need to expand the data in “Raw data”, because that data only contains completed items right now.

Ok - let’s get going. As for all these post I am in this Google Sheet - make a copy if you want to play along

Read on ...

KanbanStats III: throughput


Lead time is awesome to track and try to improve. In fact, it’s something that will guide you to a lot of improvements and should be front-and-centre of your process metrics.

But that says very little about how much that gets done per time unit. Doing one thing in a day, fast and with quality, and then nothing for the rest of the month means that no other things get done.

Let’s start to track another metric; throughput or

the amount of material or items passing through a system or process.

With the data, we have this is pretty easy to get hold of.

Read on ...

KanbanStats II: filter the process chart


This is the second post in my series where I show how you can get make powerful visualizations of process data. As before, my goal here is that you can dump your process data into one tab of my sheet and then the dashboard will make all the other calculations.

In the first post, I talked at some length about other goals of this tool and some of the principles I built these ideas on.

Speaking of those principles; in this post, I will violate one of them a bit, by adding a filter capability to the lead time chart, so that we can see just a part of the data.

Read on ...

KanbanStats: Simplify process stats - get started


I have been coaching agile teams for about 15 years now. One thing that I often help teams that I coach is to tap their process of some valuable data. It turns out that many of the tools that we are using have a lot of data in them that we seldom look at and even more seldom act on.

Most of these tools (like JIRA or Team Foundation server) obviously have ways of looking that this data too, but I’ve found that it’s either really hard to understand the visualizations or that the reports that you can produce simply don’t cut along the right axis.

I’ve now grown tired of recreating these simple reports for every client and wanted to share my, very simple, stats here. This way I can reuse it for future clients and also maintain it in one place. The goal is simplicity – so I’ve put it on Google Sheets to be shareable. For the integration, between the dashboard and the different source systems, the goal is that you should be able to just paste in some data, in a certain simple format, in one tab (conveniently called “Raw data”) and then the dashboard will do all the other calculations.

Read on ...

Make a copy of GitHub repo - the script way


At </salt>, a boot camp that I’ve been part of setting up, I get to try all kind of different things that I haven’t done before. Mostly around configuring, management and supporting the students computers and our code.

Just last week we had the need for a simple way to do a copy of our GitHub repositories. I did some research and found a simple way that I’ve put together in a script. I wanted to share it here.

Read on ...

A story about dentists... busy dentists


When I introduce agile I do that through a nice little quandrat originally from the This is Lean book by Pär Åhlström and Niclas Modig, and visualized by Håkan Forss. I’ve wrote about it here. This post will only focus on the top left triangle - where we focus on maximizing resource utilization.

But I’ve noticed that personal stories sticks better and I have used a story about my dentist to show an example of a setting that focuses heavily on the resource utilization.

I lately was called back to a checkup at the dentist and did some further research. It was a fascinating peek into a world where many people was working hard, smart and diligent to achieve an outcome that was not any good for me as an end customer (aka the wrong thing, in my book).

I wanted to share this story with you, as I think it teaches us a lot about where focus on resource utilization can lead us… everyone working very hard to do the wrong thing.

Read on ...

Board visualisation tips


Quite often I get to introduce people to using a “work visualization board” (often referred to as a kanban board), these days. When I do I’m struck with the common misconceptions that follow many tools - especially tools that I have been nudged (or forced) to use..

I wanted to share a few of the things that find myself repeating to new users of kanban boards.

Read on ...

Bash script to add file(s) to all repositories in an organisation


Hey Marcus, can you just add a License file to each of our repositories?

All of them?

Yeah, all 42…

This was a task given to me about 50 minutes ago. I’m done now.

Obviously I spent all that time writing a script to do this. And I wanted to share this with you guys and my future self.

Obviously I learned a lot as well.

Read on ...

Kanban - cementing the flow?


I got another email from a former client that I wanted to answer here on the blog. In fact, in this instance, I also got the same question during a Lean Coffee discussion at a current client too.

Without stating the whole email the questions were a little bit like this:

With kanban - isn’t there a risk that you lock in and cement the different parts of the board?

Also, are we not risking to focus too much on the efficiency of the individual steps in the workflow?

Since the board clearly shows bottlenecks in some areas we risk putting in an effort to solve that and then just move the workload to another place in the workflow.

and then in the lean coffee

I don’t like those columns - it looks like a waterfall. I just want DOING to show that we are working together.

Well.. thanks for your questions. My answer is Yes, Yes, Yes and Ok. … but also No, No, No and Why.

Let me explain.

Read on ...

3 basic (priorization) assumptions


The last couple of weeks I have talked a lot about prioritization at my current client. In many conversations, I’ve felt the need to go back the foundation of things that I build my coaching and consulting on. For example, I might question how we prioritized as we done, and then I notice that people become defensive - thinking that I am questioning them rather than the way. This has led me to reflect, formulate and then re-iterate three basic assumptions that are increasingly important to me:

  1. Everyone did their best, and continue to do so
  2. There’s always more work to do than we have the capacity to do
  3. We don’t know what will work best

Let me describe a little bit more what I mean.

Read on ...

Playing with names


At my current client, we are trying to make a change to focus more on flow than on resource utilization. This is harder than it sounds because much of the current ways of working, structures, roles and rewards are built to support another mindset.

One of the things that lately have popped up for me are the words we are using to describe the roles we have in different parts of the organisation. This heavily prevailing in the IT-industry and maybe agile actually has helped to cement a few of these (an excellent keynote by Michael Feathers put me onto that idea).

This also ties into a great quote from David L. Marquet and his excellent Turn the Ship around book

There’s no they on Santa Fee!

Let me try to explain.

Read on ...

What should I pick?


I got a question the other day from Enea Zuliani and Michele Degrassi. It was particularly heartwarming to read as they just read Kanban In Action and now have started to use. Kanban. In action.

They now had a question and I asked if I could share that question and my answer here on the blog. They kindly obliged.

Here’s the question (I’ve edited it a bit):

Dear Markus, let me get back to you with a question. If an agent has to choose between different kanbans (cards) which one to work on, and all the kanbans have the same characteristics (dimensions, etc.) and he can actually decide to work on every one of them, is there any “rule” you might suggest in order to pick a kanban - everything else being equal?

Read on ...

Reflections after Agile Greece


I’ve just attended Agile Greece Summit which was a wonderful event. Many awesome speaker, met a few of my heroes (Linda Rising, Michael Feathers, David Snowden and Mark Schwartz) and met new friends (Portia Tung, Alison Coward, Lisi Hocke, Gary Crawford and Gwen Diagram, just to mention a few) and finally had many interesting and challenging conversations throughout the conference.

All in all it was a very good event to attened, expertly organised by an awesome team and I consider myself lucky to have been here.

As with many conferences an underlying theme starts to emerge from the different talks. I suspect we take inspiration from other speakers and conversations, but I’ve observed this too many times to think it’s a coincidence.

I wanted a few reflections that I got during this conference. It can be summed up in a few very strange sentences:

It’s all about people, and they are complex systems working in complex systems. So you cannot trust their experiences or facting them into do what you want. But you can put down your sword and listen, and that will open new possibilities that you didn’t have before

Let me explain how I interpret the messages of the two days.

Read on ...

Some reflections after a few days as a musician


I’ve had the great opportunity to do some extra work in a very different environment this week; I’ve been a musician in a professional orchestra - the awesome Östgöta Blåsarsymfoniker.

It was quite a treat to work in this group and get to play my instrument on a high level. Also, as an amateur, getting paid to play my instrument is … mindboggling.

Being part of this group for a few days made me notice a few rituals and practices that I think we can learn from. I wanted to share a few thoughts on them here.

Read on ...