Flow through Visualization – Video från SAST Stockholm

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 sig fram i presentationen i ungefär samma takt som jag pratar mig igenom den. Om man orkar 🙂

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. Are you continuously curious about your customers and their needs? Are you curious to understand what’s behind a colleague’s anger? Are you curious about how a change to your process might improve flow and outcomes? Curiosity may just be a superpower. We’ll explore this topic in depth in this new keynote talk.

Q & 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.

read more »

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.

Confessions of a Change Agent

read more »

Slides from KTH agile intro

Here are the slides from my agile intro at KTH last week. Hope you enjoyed it!

Some sample pics:

read more »

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.

read more »

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

Mattias

Innovation 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 publicly. The presentation was prepared by me and Emil Vikström together and now that it is available I figured I might as well share it here on the blog as well.

So here it is!

Locations are a core concept in Open Participatory Organizations (OPO) which is the work of Bonnitta Roy. This talk attempts to explain how locations are a stable structure that is different from the stable agile teams and departments that we are used to; and how an organization built as a set of locations allow more autonomy, more open and distributed governance and other advantages compared to most of our agile organizations today. Some learnings from the field and tips for how to get started with some of these ideas are given at the end.

If this talk interests you I recommend you take a look at the OPO Foundations 2-day course in November (15-16) where Bonnita Roy comes to Stockholm to visit Crisp. If you are curiously looking for a solid realist viewpoint for finding better ways to practically explore the Future of Work it could be for you.

The 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 day-to-day maintenance of a zero bug policy. So over the summer I wrote a little story board book that will help you get started. Pass by the Crisp office if you’re in Stockholm to pick up a copy, or download the pdf on LeanPub. You can always find more information at FixItNowOrDeleteIt.com

Agile 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 to get started with Agile in marketing? Try out brand new Agile Marketing class in September.

/Mattias

Modern Agile

The Agile Manifesto has been around since 2001, and agile ways of working have existed long before that. So what is this thing called Modern Agile? Is the manifesto outdated and needs to be replaced? All good questions, but let’s start with taking a look on what Modern Agile is.

read more »

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 – yes. But – as important – is how you put them to use.  Here’s where Lean and Agile thinking comes into play.

We got the chance to interview Linus and his race engineer at LL Motorsports, Bo Hanner, on how they have used Lean and Agile thinking, in order to keep an edge on competition.

Where is Linus now? While it still early in the season and many races to go, Linus has put himself in a favourable position, as a frontrunner in the Formula 3 UK championship.

If you would like to dig deeper and learn how a race team works, or how they use Lean/Agile to keep an edge on competition, then take the chanse and meet Linus and LL motorsports here in Stockholm on October the 18:th, at the “Agile Procurement for Business Agility” conference.

 

 

 

Fix it now or delete it!

A flow chart showing the two paths to dealing with a bug. If you "should fix it" you proceed to "will we prioritize it" if not you proceed to "delete it". If you're going to prioritize it you get to "fix it now" otherwise you proceed to "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 way you deal with bugs.

As part of the preparations for the lightning talk I gave last week at Agila Sverige, I created an info-graphic, cards, a mobile app (thanks to Daniel Sundman for implementing it in react-native) for iOS and Android, and a website. There’s even a t-shirt or two.

I hope that these resources will help you and your team in your journey to a successful zero-bug policy!

ps Yes, I realize this was going overboard for a 10 minute talk, but I hope you enjoy it 🙂 There’s also a little picture book in the making.

Bucket 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.

read more »

Readable Java system tests with good old JUnit

This article is the third in a series about system testing:

  1. Dockerized testing vs end-to-end testing
  2. How to setup Dockerized testing
  3. 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?

read more »

How to setup Dockerized testing

This article is the second in a series about system testing:

  1. Dockerized testing vs end-to-end testing
  2. How to setup Dockerized testing
  3. 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.

read more »

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:

  1. Dockerized testing vs end-to-end testing
  2. How to setup Dockerized testing
  3. 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.

read more »

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.

read more »

Assumption 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.

read more »

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 »