Den 20:e September presenterade jag på SAST Stockholm (Swedish Association for Software Testing). Under 30 minuter delade jag med mig av mina tankar kring hur man uppnår “Flow through Visualization”. Presentationen hittar du här, och nedan har du inspelningen av presentationen. Videon fokuserar bara på mig, men med lite skicklighet kanske det går att klicka
Continue readingCrisp's BlogPage 6
from the Crisp Consultants
Are you curious? Seminar with Joshua Kerievsky, creator of Modern Agile
On September the 19th 2018, Joshua Kerivesky, creator of Modern Agile, gave this talk “Are you curious?” at Crisp Stockholm. This is the video recording from that evening. The seminar is 60 minutes, followed by 30 minutes of Q&A. About the talk: ARE YOU CURIOUS? Learning is key to improving. Yet without curiosity, learning stagnates.
Continue readingQ & A with Bonnitta Roy on Open Participation
Bonnitta Roy was one of the keynote speakers at last year’s Agile People Sweden conference and she also held a course here at Crisp last February on self-organization beyond the team using Open Participatory Organizations (OPO), which was very well received by our course attendants. She is coming back to Stockholm in November and we got the opportunity to sit down with her and ask some questions about open participation and her work on the future of organizational life.
What is open participation and why does it matter in organizational life today?
Organizations face continuous pressure to “level up” to new social and economic realities. This places enormous strain on legacy structures which are difficult to overhaul, and conventional management practices which are difficult to shed. Instead of offering yet another “off-the-shelf” product, we help people see simple but powerful opportunities to become more open and more participatory in their everyday ordinary work.
In agile software development there is the notion of refactoring when code has become too unruly and is increasingly built up in an ad hoc manner. Refactoring means starting over with clean, elegant code. It releases a tremendous amount of complexity from the system. Open participatory practices do the same for organizational structures. It releases complexity and affords more elegant ways to solve complex problems.
So OPO is basically a location based structure to self-organize and to self-manage in organizations?
Self-organization and self-management are core principles of open participation. Location-based-structure is one way to optimize them. It is the only way I know that also avoids the “law of suboptimization” which states that when you optimize the lower system, you suboptimize the higher (and vice-versa). This “law” leads to paradoxes in incentive systems that have to juggle rewarding individual merit, team performance, and company profits.
Locations are defined as mutually interdependent. No individual location can be defined outside of its context with larger strategic wholes; but the “whole” is not defined other than by the interdependent coherence of all the locations. The language of “location” helps reinforce the synergistic way of thinking. If you renovate your kitchen you are simultaneously adding value to your house, and to the experience of everyone who lives there. Similarly, in the OPO, people focus on making sure that the locations are healthy, and that the relationships between them are synergistic. This simultaneously adds value to the larger whole.
Let’s ask some frequently asked questions, as most readers may be new to these ideas.
Confessions of a Change Agent – my keynote from Agile Rock, Kiev
Here is the flipchart from my talk “Confessions of a Change Agent” at Agile Rock conference in Kiev. Click for a zoomed in version.

Slides from KTH agile intro
Here are the slides from my agile intro at KTH last week. Hope you enjoyed it!
Some sample pics:
Building Great Release Train Engineers – a talk with Mattias & Yuval
In the scaled Agile framework, one key role is the Release Train Engineer (RTE). But who should I look for to fill this role? What are the first few process improvements experienced RTE’s typically do? Yuval Yeret (AgileSparks) and Mattias Skarin (Crisp) took the time to discuss the traits of a good RTE.
What are the traits of a good RTE?
Yuval: The easy answer to this question is that you are looking for a Scrum master for a team of teams. Going beyond that, when it comes to specific traits, you are looking for someone who cares about process and improvements, someone who has the ability to orchestrate things. But at the same time, someone who also knows when to step back and let the teams organize themselves. A good RTE is a great communicator and can see and understand what is happening.
Mattias: Firstly, a good RTE should be a people person, someone you’d like to talk to and bounce ideas with. Someone who builds trust and energy with their presence. In essence, a good RTE is the Uber Scrum master across teams. Secondly, a good RTE is systematic and makes sure the process events are run and planned in advance. Thirdly, a good RTE should be a good problem solver.
Slides from Agile Islands 2018 -“Decision making under uncertainty”
Åland has one of the coolest visions out there – build an Agile society. They also arrange Agile Islands, a small conference but with sharp content. This year I had the pleasure to speak, so I decided to shed some light on “Decision making under uncertainty”, which is a fascinating subject. Here are the slides. Cheres
Continue readingInnovation Talk – an Introduction to Locations
A couple of weeks ago I was invited to give a keynote presentation at an internal innovation event hosted by one of the more pioneering product companies here in the Stockholm area. The organizers requested the name of their organization to remain undisclosed, but were happy to see a video recording of the talk shared
Continue readingThe Story of How to Implement a Zero Bug Policy
So how do you go about implementing a zero bug policy when you’ve got a long list of real bugs and users and stakeholders who want things fixed? I’ve been getting this question a lot after posting my blog entry Stop Managing Bugs, Start Focusing on Quality and creating the app and cards to help with the
Continue readingAgile in Marketing
What happens when you use Agile in marketing? Zalando have been using Lean and Agile tools inside marketing for some time. That makes up an unique and interesting case study, from a company pushing the boundaries. Here’s an interview with Julia Kummel, sharing their experiences from the journey: psst: Do you want to learn how
Continue readingModern Agile
Using Lean and Agile in racing, interview with formula driver Linus Lundqvist
Racing is essentially product development on steroids. For a number of years I’ve been following the development of a promising young racing driver – Linus Lundqvist. Anyone with a little bit of knowledge about racing,knows that there are many components that need to work together, in order to forge success. Talant – yes. Resources –
Continue readingFix it now or delete it!
“Fix It Now or Delete It” is a simple method that gives you two options for dealing with a bug: Fix It Now, or Delete It! I wrote a blog entry about this method a few months ago, and now there are lots of resources to help you talk to your team about simplifying the
Continue readingBucket Estimation – How to estimate a really large backlog
So you have a LARGE backlog and you have decided that you need to estimate it.
Not on board? Still undecided? Go read my previous post on the tradeoffs between estimating and not estimating large backlogs.
Still reading? Ok, let’s get to it!
You can do larger scale estimation in MANY ways. What I will share with you here is just one way I have found to do it effectively, with enough accuracy at a reasonable cost. It requires some pre-conditions, such as having a team with an established way of working and some way of estimating on the team level, so it may not fit your situation. But if it does it is probably worth your time to check out.
Readable Java system tests with good old JUnit
This article is the third in a series about system testing:
- Dockerized testing vs end-to-end testing
- How to setup Dockerized testing
- Readable Java system tests with good old JUnit
JUnit is poorly named. Given the name, people tend to think that it should only be used to write Java unit tests. And then people feel a bit hesitant about writing their integration tests with JUnit too. When they start with system tests, they often think they need another driver for their tests. Sure, maybe using another abstraction layer and a custom domain specific language (BDD), you can make the tests more readable for a non-programmer. That often comes at the cost of making the tests less readable for the programmers. And if we are honest, who’s going to read the tests the most? Perhaps just naming test classes and methods well and writing readable code can suffice?
How to setup Dockerized testing
This article is the second in a series about system testing:
- Dockerized testing vs end-to-end testing
- How to setup Dockerized testing
- Readable Java system tests with good old JUnit
You may want to read Dockerized testing vs end-to-end testing first.
How to setup Dockerized testing?
A prerequisite for running your tests against a dockerized environment is of course that the service you want to test is packaged as a Docker image. Also, all of the services which the System Under Test (SUT) depends on needs to be dockerized. If you don’t have that, your environment is not fully dockerized and you will suffer the consequences of having to test against external services.
If your SUT is packaged as a Docker image and has no dependencies on other services, you can just start it using “docker run” and run your tests against it. However, usually services have one or more dependencies to other services, such as its own database, a queue and perhaps a external RESTish service that returns nasty XML. You want each of these services in their own container. To spin up a bunch of docker containers, you can use docker-compose.
Dockerized testing vs end-to-end testing
I recently rewrote the end-to-end tests for a service. This brought up the question of what we should test in the end-to-end (e2e) tests vs our Dockerized tests.
This article is the first in a series about system testing:
- Dockerized testing vs end-to-end testing
- How to setup Dockerized testing
- Readable Java system tests with good old JUnit
e2e tests vs dockerized tests
Since the original e2e tests were written, we (my team) have also introduced another type of tests. We call them “dockerized system tests”. These are similar to the e2e tests. They also test the connections between services in the system, and how the system works as a whole. One key difference between e2e tests and dockerized tests is that the dockerized tests do not test the system when it is deployed the way we deploy it in staging and production environments. Our dockerized tests bring up all services in a single machine, and we usually don’t set up redundancy, clustering, load balancers and such things.
Large Backlog – To estimate or not, that is the question!
Estimation seems to have gotten a bit of a bad reputation lately.
One misconception I sometimes see is that estimation beyond just a few weeks is “not agile”. Another trend is that some people advocate against doing estimation at all mostly because they view it as a beginner tool, so by not estimating we are no longer beginners.
To me doing estimation or not does not really say much about “how agile you are”. The way I look at it is that we should estimate when the reasons to do so outweigh the reasons not to do so. That simple.
In some scenarios this also includes doing estimation of large backlogs.
So in this article I want to share what I see as some of the reasons FOR and AGAINST doing estimation of a larger backlog. You can then decide for yourself if your situation justifies doing it or not.
How to Get your Kanban Initiative Back on Track?
All kanban systems experience some “heart attacks” once in a while. As a team, you can react in two ways: abandon your kanban system, or act smart. If you manage the situation well, you can learn from this experience and improve your kanban system to propel you all the way to high-performance. Building
Continue readingAssumption assistance with Impact Mapping
As a product owner, your job is to make assumptions, or hypotheses. (Hypothesis-driven product discovery, anyone?) You assume that your priorities will be the best outcome, the shortest time to market or something else. But how good are your assumption when it comes to reality? Did that sale increase occur and was it thanks to your great mind or just pure luck? Do people around you understand and help you with your assumptions? Impact mapping is a lightweight tool that helps you with quantifying and communicating your assumptions.
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”.
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.

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.
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.
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. Continue reading
Recruiting an agile team coach
Recruitment 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.Continue reading
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.
How to successfully join a team as a coach
You’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!Continue reading
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.
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”
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.Continue reading