The three states of working agreements

You may have read about this elsewhere, but a recent event led me to write this. I feel that the working agreements concept is not given the attention it deserves. Working agreements are about making your culture explicit. It is desirable to have them visualised on your Scrum board as a constant reminder. Question is, when do we remove them from the board so that they don’t cover the whole board? My answer is, when the third state is reached, “internalised”.

read more »

Meet Enspiral, Crisp’ long-lost cousin

Meet Enspiral, with the inspiring purpose of “More people working on stuff that matters”. This autumn I finally got to meet Joshua Vial from Enspiral when he and his colleague Susan Basterfield visited Stockholm for keynoting at the Agile People Sweden Conference.  This was the first time Joshua visited us but Susan, I had already had the privilege to get to know last year when we hosted a workshop at Crisp on the Enspiral European tour.

Joshua Vial and Susan Basterfield from Enspiral

After the conference, I had a chance to sit down with Joshua and Susan to chat about Enspiral, social entrepreneurship, doing things that matters and the future of work. As we sat down and chatted and realized that we are a tribe of changemakers separated at birth, or at very least sharing latent strands of DNA. How else can you explain the exquisite similarities of two entrepreneurial collectives from the polar opposites of the planet? Crisp and Enspiral are like long-lost cousins. We are both two companies with a belief that there are better ways of organizing and leading work than the traditional way.

These new ways are based on principles of self-management, agility, openness, and participation. We believe organizations like this are more rewarding and purposeful for the people working in them. This will lead to that people’s potential are freed up to do more good and impactful things in the world.


read more »

Elm for backend developers

Before there was the concept of frontend and backend developers, there were just developers and I was one of them. We did everything from HTML to SQL and it was not hard. Then something happened, JavaScript became popular. After years of server side rendering and thin clients, the pendulum was swinging back to fat clients again. And I was a backend developer.

Believe me, I have tried to get on the train with JavaScript and its hose of new frameworks. I took courses in JavaScript. I wrote applications using Meteor, tried Angular and React. But what I never managed to do, is liking it. There is simply to many ways of shooting yourself in the foot. And all these frameworks that come and go points to something, perhaps we are trying to fix the wrong problem. I suspect it is the foundation itself, JavaScript.

read more »

Successful Agile Product Discovery and Delivery

What I’ve strived for in all my jobs and assignments is to combine the best discovery methods with the best delivery methods, of course in the best possible way. I have tried and tested a lot of popular frameworks and ways of working, and the following list of principles is my conclusion.  read more »

Recruiting an agile team coach

A person joininging a group of peopleRecruitment processes for agile team coaches differ greatly from one company to another. Jan Grape and Yassal Sundman share their insights on what makes for a good process based on their work recruiting coaches for their clients. read more »

Automated testing is never enough

In the pursuit to automate testing to create faster feedback loops and build quality in, some teams forget the value of manual testing. In my experience, without manual testing (as well) we are toast.

read more »

How to successfully join a team as a coach

Gender neutral stick figure with a cape posing like a superheroYou’re coaching a new team! Woohoo! You have so many ideas! You’re going to help make the team’s world a better place! All the things that you’ll do! Then you get there. The music stops, and the frustration sets in. You’re trying to help but team members come late to the daily scrums, they don’t update the information radiators and they’re zoning out during meetings. You’re not sure what to do anymore. What happened? You feel undermined and unappreciated. Aren’t you the expert? Isn’t that why you got this team to begin with? Why won’t they let you help them?

Let’s look at the journey of joining a team and how you can pave the way for a successful coaching experience! read more »

How to structure Ansible variables when provisioning infrastructure

How should you structure your Ansible variables in playbooks calling cloud modules? Ansible has extensive support for variables at different levels (there are 21 different levels!).

The inventory group_vars and host_vars offer enough flexibility for many use cases. However, when you are setting up cloud infrastructure, you don’t really have any hosts yet. Maybe you are setting up load balancers, instances, security groups and such things. Perhaps you want to setup the same things in several different environments (like “staging” and “production”). You want to re-use the same playbook, but adapt what it does by using different variable values in different environments.

In this post, I will demonstrate a way to structure Ansible variables in a playbook which pretends to setup a AWS AutoScalingGroup. I will show how you can separate the configuration for different environments by using a inventory directory. As a bonus, I will give you a neat trick to automatically load a extra variable file for each environment. We will use this to load a separate secrets file which is encrypted with git-crypt.

read more »

Interview with Dave Snowden, “What´s next for agile”

I had the opportunity to make an interview with Dave Snowden as he visited Crisp for his latest Master Class end of November, titled “What´s next for agile”. We explored the topic of What´s next for agile, new updates to the Cynefin model, now called Cynefin liminal. Check out the video below to of my interview with Dave (14 min).

Agile is increasingly becoming commodified and what are the opportunity for smaller Agile companies and anyone believing in the original Agile movement? (0:20).  h “The key now is to produce new high energy efficient, radical, high value, innovations around the core of what Agile has become”

read more »

Stop Managing Bugs, Start Focusing on Quality!

Do you have a long list of bugs? You definitely want to have a zero bug policy, but now you have all sorts of minors, majors, and criticals. You’re not really sure how to get to zero bugs (were you ever there to begin with?). You have spikes where you fix the bugs and your graphs show a steep downward drop, only for them to turn upwards again and reach new heights. Just maintaining the list of bugs is a full time job! To add insult to injury, when a team member finally gets around to looking at a bug, they usually find that it’s outdated, not reproducible or part of some long forgotten removed functionality.

There has to be a better way! How can you shift the focus from managing bugs to ensuring quality? Here’s a system that’s easy to start using, and rewarding when you follow it. read more »

Agile coaching for the greater good

One of the most exciting aspects of working as an Agile Coach is applying what we know to other industries. Especially when what we do serves the greater good. We’re both always actively looking for opportunities to work with integration initiatives, and in this case we supported an initiative to improve integration of newcomers. Here’s how we facilitated the 2018 kick off meeting for Järfälla municipality’s Interfaith Council. read more »

Meat eater’s non-dogmatic guide to becoming more vegetarian

If you are a meat eater and you want to become more of a vegetarian (or at least eat more plant stuff and less meat stuff), and you kind of struggle with that because meat tastes good and you’re used to eating it, then this guide is for you! A short pragmatic guide for the aspirational vegetarian who still wants to enjoy good food.

I’ve been on this journey (and struggling, I admit) for about a year and half. I’m nowhere near full vegetarian, but I’ve cut down meat consumption by more than half, and will keep trying to reduce it. The nice thing (and a bit of a surprise) is that it doesn’t feel like a personal sacrifice at all!

Here are some tips if you want to join in:
Meat Eater’s non-dogmatic guide to become more vegetarian
(posted on GoClimateNeutral blog)

How to run Ansible tasks in parallel

When you use Ansible to provision hosts, running a task on a set of hosts in parallel is not a problem. You simply use the `serial` keyword in a playbook. See:

What about when you want to run a task several times in parallel, either on each host, or on a single host? A common use case is when you want to provision infrastructure at a cloud provider, such as Amazon Web Services (AWS). In that case, you normally run the task on localhost and the task just calls out to the cloud provider API.

The reason you might want to do these calls in parallel is because creating cloud resources sometimes takes a long time. AWS EC2 instances and RDS instances are examples of some resources which take a long time to create. If you want to create several, you can use a loop and wait for each to finish, but that takes a long time. As a alternative, you can create them all in parallel.

Here is a example Ansible play of how you can run any Ansible task in parallel and wait for them all to finish.


- name: Run tasks in parallel
  hosts: localhost
  connection: local
  gather_facts: no
    - name: Pretend to create instances
      command: "sleep {{ item }}"  # Instead of calling a long running operation at a cloud provider, we just sleep.
        - 6
        - 8
        - 7
      register: _create_instances
      async: 600  # Maximum runtime in seconds. Adjust as needed.
      poll: 0  # Fire and continue (never poll)

    - name: Wait for creation to finish
        jid: "{{ item.ansible_job_id }}"
      register: _jobs
      until: _jobs.finished
      delay: 5  # Check every 5 seconds. Adjust as you like.
      retries: 10  # Retry up to 10 times. Adjust as needed.
      with_items: "{{ _create_instances.results }}"

The output will be:

PLAY [Run tasks in parallel] **********************************************************************************************************

TASK [Pretend to create instances] ****************************************************************************************************
changed: [localhost] => (item=6)
changed: [localhost] => (item=8)
changed: [localhost] => (item=7)

TASK [Wait for creation to finish] ****************************************************************************************************
FAILED - RETRYING: Wait for creation to finish (10 retries left).
changed: [localhost] => (item={'_ansible_parsed': True, '_ansible_item_result': True, '_ansible_no_log': False, u'ansible_job_id': u'957883465297.7487', 'item': 6, u'started': 1, 'changed': True, 'failed': False, u'finished': 0, u'results_file': u'/home/max/.ansible_async/957883465297.7487'})
FAILED - RETRYING: Wait for creation to finish (10 retries left).
changed: [localhost] => (item={'_ansible_parsed': True, '_ansible_item_result': True, '_ansible_no_log': False, u'ansible_job_id': u'450659566541.7513', 'item': 8, u'started': 1, 'changed': True, 'failed': False, u'finished': 0, u'results_file': u'/home/max/.ansible_async/450659566541.7513'})
changed: [localhost] => (item={'_ansible_parsed': True, '_ansible_item_result': True, '_ansible_no_log': False, u'ansible_job_id': u'763185500456.7538', 'item': 7, u'started': 1, 'changed': True, 'failed': False, u'finished': 0, u'results_file': u'/home/max/.ansible_async/763185500456.7538'})

PLAY RECAP ****************************************************************************************************************************
localhost                  : ok=3    changed=3    unreachable=0    failed=0  

See the example code at GitHub.
One of the plays runs the tasks in parallel, and one runs then in sequence, for comparison.

Agile Coach to Team Relationship

The role or function of an agile coach can be be a bit of a challenge to wrap your head around if it is new to you. Depending on your situation and on agreements with people in your organization, an agile coach could work with a wide range of responsibilities. It could be working closely with a team to improving aspects of the whole organization.

When it comes to coaching a team it can be confusing for team members what type of relationship is natural for them to have with an agile coach. What’s in it for us? What is required from us to get something out of this?

Some basic things are needed to establish a good foundation for such a relationship. Getting some of them out in the open can help. To clarify what this foundation can look like I created this image a few years ago. It is meant to be used as a starting point for a conversation or negotiation between coach and team.

If you are a coach yourself I hope it can help you explain to your team what type of relationship you can offer them. If you are a member of an agile team I hope it makes it easier to understand what an agile coach can do for you, what it will mean for you to have such a relationship and what you can expect from it.

If you prefer an easy to print document, here is a pdf-version – My Role as Coach (pdf).

Team coaching in practice

Have you worked with teams that don’t communicate well? Or teams that don’t collaborate? What about teams that deliver late or with poor quality? Or maybe teams that are in constant negative conflict?

How do you tackle these issues? It might feel like you can fix everything by changing some of the people on the team. Before you do that, consider how you’ve set the stage for your team. Will removing and adding some people really solve all your problems? Or will the new members find themselves in the middle of a dysfunctional team, and end up unhappy and not delivering to their full potential?

Here are some of the things you can think about when you work with teams to create an environment where they can succeed.

read more »

Continuous Personal Development

For the past four years I’ve consulted for King as an agile team coach. It’s been a whirlwind of personal growth, learning about mobile games and meeting awesome people. I wrote about my biggest takeaways in an article on Crisp’s website. I am grateful for all the connections and insights that I’ve gained. I’m also interested in continuous personal development. So, I’ve been spending my free time connecting with and talking to people who are interested in projects and initiatives that leave a positive impact on people or humanity.

Are you interested in:

  • Improving quality of life for people?
  • Reducing/eliminating the effects of privilege on success?
  • Increasing action to reduce the effects of global warming?
  • Helping people achieve to their full potential?
  • Creating successful workplaces where people are happy and healthy?

If you are and would like to talk, drop me a line and let’s do lunch some time!

10 kanban boards and their context – now in french

Yep! The collection of Kanban boards now is now available in french. Big thanks to Nicolas Mereaux who made it happen!

Here’s the link to “10 tableaux kanban et leur contexte” (fr).

(the english 1.5v is available here )




On Scaled Agile approches, interview with Yuval Yeret

Yuval is coming to Stockholm to teach a Scaled Agile class (Implementing SAFe) in January. I know Yuval from the Kanban community from a number of years back. We invited him because we know he shares the same pragmatic view on things as we do in Crisp.  We made the interview in order for our audience to got to know him a little bit. I could think of no better way than putting him on the spot with a few tricky questions  🙂

Among them:

  • Can you elaborate on the pro’s/cons of different approaches to scaling? (LeSS, Large Scale Scrum, SAFEe, Enterprise kanban)
  • What should companies that goes down the path of SAFe pay more attention to?
  • If I do face resistance when applying scaling practices, what are my options?
  • What will I learn if I attend the SAFe class in January?

A key quote from the interview:

“If you don’t pay attention to the principles, the practices applied will deteriorate to ‘for show’

Do it for the kids

As climate scientists have long predicted, the world is experiencing a record amount of extreme weather events – droughts, hurricanes, wildfires, flooding, heatwaves, and extreme cold.

Wildfires in Santa Rosa Californa, Drought in Somalia, Extreme cold in Chicago, Hurricane Harvey in Houston.

It’s hard to prove if any specific disaster is due to climate change, but that’s not important. The key point is the overall trend: climate change increases the frequency and severity of extreme weather events, and it’s happening really fast. This also creates climate refugees, political instability, and increases the risk of war. Basically, the world is becoming a less and less safe place to live.

This graph (source) is just for the US, but the pattern is worldwide:


The bad news is this will most likely keep getting worse over the next few decades – even if we were to completely eliminate all CO2 emissions right now. Climate change is like a huge flywheel that we’ve set in motion over the past century, and even when we stop spinning the wheel it will keep going for decades or more, due to inertia.

read more »

The common misconception about Lean UX

The role of software development is to produce software to solve a problem. The role of Agile software development is to learn as much about the solution as possible while developing, Agile does that mainly through ruthlessly begging for feedback, both on the product (e.g. sprint reviews, test-driven development and continuous delivery) and on the process (e.g. Scrum/Kanban boards, sprint retrospectives and standup). In between all these feedback sessions, you do ”normal” software development.

The role of user experience design (UX) is to produce a design to solve a problem (through user research and interaction design, of course). So, software development and user experience design go hand in hand, completing each other. Design and build.

The common misconception is that Lean UX also shall produce a design solution to a problem.

This is not the case. The role of Lean UX (and its progenitor Lean Startup) is to learn, but learn as much about the problem as possible. Lean UX does that through ruthlessly validating assumptions about the problem, the customer, their needs, the proposed solutions and the success metrics. Lean UX and Agile go hand in hand as well, learning about the problem and the solution, before, during and after development. In between all these validation sessions, you do ”normal” UX.

read more »

Min familjs CO2 kompensation för 2017

Jag skrev tidigare i år under Zero Carbon Manifesto, där jag lovar att komma ner till 0 i min klimatpåverkan, eller kompensera för den del jag inte lyckas med.

Så här i mellandagarna tänkte jag att det är dags att räkna hur jag ligger till för i år!

Läs om hur min familjs samlade utsläpp av CO2 kompenseras till en kostnad av 78 kr i månaden.

read more »

Introducing the Agile Pill

Through the years we have at Crisp repeatedly been confronted with the question “How can I become Agile?”. We have checked with coaches outside Crisp and they give us the same picture. People want to become agile and they want it now. It has become obvious to us that there is a need for a quick fix. Hence the Agile Pill.

The agile pill box

The agile pill

read more »

Remote keynote offer (because the world needs less business trips)

OK here’s an offer to any conference organizer in the lean/agile/tech/climate space. I get a lot of requests to do conference keynotes, which I’m grateful for, but unfortunately I have to turn down the vast majority. I limit long-distance travel for family reasons, and also for climate reasons (although I confess I’m in Thailand right now as I write this…. hard to be 100% consistent…).

Now I’m thinking: Why should something as mundane as physical transport get in the way of participating in a great conference? And, in this world of catastrophic climate change, shouldn’t most business trips be replaced with remote participation?

My hypothesis is that it’s possible to remote-participate effectively in a conference –  to do a keynote or talk, participate in workshops, even hang out with people in the hallway. I’ve tried this a few times using video conference and telepresence robots. In fact, 4 years ago I was sitting on this same beach in Thailand, remote-participating in a Spotify event in Stockholm using a Double (see “What it feels like being an ipad on a stick on wheels“). That was fun and a bit clunky, but it was 4 years ago so I bet the telepresence robots have come a long way since then!

So here’s my offer: read more »

Here’s something you can actually, really do about climate change

As the devastating consequences of climate change become increasingly obvious (flooding, fires, storms, drought, melting icecaps, rising sea levels, etc), the question on most people’s mind is “what can I actually, really do about it?”. Well, listen up.

The most obvious minimum first step is to eliminate your own personal carbon footprint, and become climate neutral! Think of the First Rule of Holes: “If you are stuck in a hole, stop digging!”. Climate Change is the biggest hole in the world and we all need to stop digging right now.

To make this as simple and effective as possible we’ve a built super-simple service called GoClimateNeutral. Check out my 3 minute summary video:

Going climate neutral yourself obviously doesn’t solve the whole problem, but at least you’ll stop adding to the problem. And the more people who go climate neutral, the more we slow down climate change. And since we are in Christmas season: going climate neutral is the best possible christmas present you can give to the world!

The effects are long-term, so it will probably be your kids and grandkids who benefit more than yourself. But I think we owe it to them, and they will definitely hold us accountable some day. Leaving a habitable planet to the next generation is really a minimum sign of courtesy, wouldn’t you say?

Got questions? Check the FAQ.

Spread the word! The more people who sign up, the bigger impact we can make.

If you want to go climate neutral, but you prefer other means than our service, that’s of course just as fine! I suggest you sign the Zero Carbon Manifesto and then inspire others by telling them how you are doing it.

If you want to learn more about climate change, check out my other video Friendly Guide to Climate Change.


Agile – where are we at? Slides from my keynote at Agile Tour Bangkok.

Here are the slides from my keynote “Agile – where are we at?” at Agile Tour Bangkok i November. Here’s the abstract:

Everyone is talking about Agile. I stumbled into this 15 years ago and have been living and breathing Agile since then, seeing it grow from a small movement within software, into an industry-wide revolution and then gradually become mainstream. More and more companies around the world, even big traditional companies, are turning themselves inside out trying to be Agile. Now it’s time to take a step back and reflect. What is going on? What is this all about? And where is it headed?

The CO2 emissions from this trip were offset using Trine and GoClimateNeutral.

Sample slides:

read more »

Case: Real World SAFe at SimCorp

Not every company starts from a green field. Many carry legacy. So how do you kickstart Agile and get traction in an organisation with scale?  We can learn lessons from SimCorp,  a successful provider for asset management solutions, who runs 500 developers across 4 sites and went from 0 to 8 release trains in 14 months.  Here’s their story.

Interview – How SimCorp got going with Scaled Agile (12 min)

with Neil Cook

Presentation – Real World SAFe at SimCorp (from team to portfolio, across 8 relese trains in 14 months)

with Mattias Skarin

Agile Architecture with SAFe  – Evolving architecture in a scaled environment

with Jan Grape


psst: If you’d like to learn how you can get traction with your own Scaled Agile transition, join our  “Implementing SAFe  SPC4 class” in January 23-26. We have handpicked trainers with deep Agile experiences for the class, trainers that shares our pragmatic mindset.  You’ll also meet me and Jan Grape, so lots of opportunities to discuss Scaling challenges, regardless of you favourite choice of approach. Ds.

Three “no brainer” engineering practices for developers

In modern software development there are three development practices that everyone should strive to apply:

  • Automated testing
  • Pair or mob programming
  • TDD, test driven development

After many years of using and researching these practices in the development community there is no longer any question whether these engineering practices bring value or not – they do. It’s not a matter of opinion, it’s a matter of fact. We know that now.

read more »

New book being written online – Facilitation tricks and techniques

Last time I wrote a book (Visualization Examples) I decided to do it publicly online. That was a fantastic experience, which I also wrote a blog post about. It was great fun and I got tons of valuable feedback.

Now I’ve started to write a new book and I’ve decided to have the same approach. It’s currently titled “Toolbox for the workshop facilitator – Facilitaion Tricks and Techniques (How to reach strong workshop outcome)“.

The book is far from finished and it might take me another year to finish it. But I still want to invite you to read it now and to help me make the book even better.

read more »

Core Protocols – effective communication

Having rules for communication is stupid!
What was your intention with calling the rules stupid?
Well, I’m sorry, I didn’t mean anything negative towards you, of course. I just don’t find such rules necessary at all. We have been communicating with each other since we were small.
Okay, I understand what you are saying. But, hear me out…

read more »

Slides from Devops Greece 2017

Just got back from Athens and Devops Greece where I talked about “Using Kanban in the field, and how we got management buy in to do so”

Two key takaways are:

  • Shift leadership behaviours, in order to shift your culture. The good news is: You can all exericise them, they are not personality traits.
  • The invisible change in the case studies is we shifted leaderships behavours in parallell with implementing process tools. I give example of a few.

Here are the slides