Where's my feature branch

Advantages of Trunk-only Development

What’s the alternative to complex branching and pull requests? Trunk-only development drives practices such as testing, incremental development, and branching by abstraction. It also improves communication within the team.

Continue reading
Continue reading: How to Achieve Zero or Negative Productivity

How to Achieve Zero or Negative Productivity

Do you feel like your organization’s development process delivers too little at too slow a pace? Your gut feeling is probably correct. In this post, I’ll describe three paradigms that result in near zero or even negative productivity.

Continue reading
Continue reading: Team Success Metrics

Team Success Metrics

Are we successful as a Team? Can we measure that? We look at 10+ areas of team success and how to measure them. Get inspired to choose the metric you need, right now, on your path to high-performing!

Continue reading
Continue reading: Core Protocols – effective communication

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…


Continue reading

Continue reading: The Training Deck – how to onboard a new team member faster

The Training Deck – how to onboard a new team member faster

There will always be a productivity dip for the team when a new member joins. The question is not if it is going to happen, but how much will productivity dip and for how long. Imagine if you could onboard new team members with a minimum of productivity loss.

Training Deck

Continue reading

Continue reading: Team Shapes – Simulating the challenges with component teams

Team Shapes – Simulating the challenges with component teams

A common pitfall for large and medium size organizations who are adopting Agile is to organize teams based on software component boundaries instead of feature teams. Some of the aspects of long term code ownership are more straightforward this way, but the negative consequences in terms of business agility and costs of coordination are huge. A few years back I designed a simulation exercise that I call Team Shapes which illustrates some of the issues and now I would like to share this simulation with the community.Continue reading

Continue reading: Scientific method applied to performance improvements

Scientific method applied to performance improvements

build-measure-learn-loop In my team, we are working on improving real-time performance for our main service. The goal is to have response times below 100 ms in the 95th percentile and below 200 ms in the 99th percentile for certain database volumes and request frequencies.

We don’t know what will be needed to reach this goal. We have some ideas, but we don’t know which one, or which ones will do the trick. We call these ideas “experiments”.

We can estimate each experiment, but we don’t know how many we will need to do to reach the goal.

This is the story of how we apply the scientific method to working with performance improvements.

Continue reading

Continue reading: Programmer productivity: SP < PR < PP < MP

Programmer productivity: SP < PR < PP < MP

In my experience, when it comes to programming productivity, mob programming beats the rest. Of course the definition of productivity in this context is debatable and these are just my observations. Thus, it is not a proper scientific study but bear with me anyway.

I wish to compare one aspect of productivity, how we work together. I look at single programming, pull requests, pair programming and mob programming.

Continue reading

Continue reading: Focus – my keynote at AgileByExample, Warsaw

Focus – my keynote at AgileByExample, Warsaw

Here is my slide (yes, it’s just one slide) from my keynote at AgileByExample in Warsaw. And a video of the talk. Scroll down for a written summary.

Focus

Continue reading

Continue reading: The importance of size and proximity

The importance of size and proximity

We have translated our blog on team size and proximity to english. If you prefer to read it in Swedish it’s called Storlek och närhet har betydelse. The english version you’ll find at Nomad8 site, because Jimmy Janlén is currently in New Zealand. 🙂  

Continue reading
Continue reading: Storlek och närhet har betydelse

Storlek och närhet har betydelse

Process är dyrt. Större team, distansarbete, deltidsarbete samt många specialister leder till mer uppstyrd process. Kanske är detta självklart, men ju fler företag vi lär känna, desto mer upplever vi detta vara något som ignoreras.

Jobbar vi i någon form av agil process såsom Scrum, Kanban, eller Lean UX värderar vi högt samarbetet mellan olika kompetenser. Ett team av olika kompetenser som kan ta en idé från start till mål brukar kallas tvärfunktionellt.

XFT team -- Idé till release_004
Ett tvärfunktionellt team är ett team som kan ta en idé hela vägen till release.

Enklast möjliga agila process för hur dessa personer kan samarbeta ser ut så här:
Continue reading

Continue reading: Fluent@agile – visualizing your way of working

Fluent@agile – visualizing your way of working

Help your team improve by visualizing their way working with the fluent@agile game. With the game you can help a team find out where it is on its agile journey and help it find new ways of both fine tuning and make leaps in their daily agile practices.

Fluent@agile board
A teams fluent@agile board.

Me and Christian Vikström made the game together at Spotify during the spring 2014 when we were coaching and helping team to improve their agile skill sets and processes.

At Spotify the teams owns their own way of working. A team is basically only accountable to itself. We therefore needed an coaching tool that could help team take ownership of their self image and improvement strategy.

We also wanted the tool to be opinionated. It should be normative, tell what’s good and not, what kind of practices and behaviour that’s expected and not. But at the same time it should be open to new ideas, new practices and the teams local conditions.

Continue reading

Continue reading: How to peel off Post-its

How to peel off Post-its

Having trouble with curled Post-its that won’t stick to the wall? Well, it could be due to bad glue or that you peel them off wrong. I would guess it’s the latter. Might feel like a silly blog post to write, but I found myself teaching people the technique of peeling Post-its quite frequently. It’s

Continue reading
Continue reading: A Decade of Agile, A – F

A Decade of Agile, A – F

A decade of agile boils down to theses simple fundamentals and steps for me. A. Ask: do you need to improve as an organization? Only go forward if your sincere answer is yes. Ask everyone: Do you want to improve? Same procedure. Make sure you will fail (and win) regularly by commitment (plan/hypotheses) and checkpoints.

Continue reading
Continue reading: Agilt ledarskap

Agilt ledarskap

brain
Jerry Weinberg säger att “ledarskap är varje handling som hjälper en grupp framåt”.  Det är trevlig definition tycker jag.  Med den definitionen kan vi alla utöva ledarskap i vår vardag.  Men vad definierar en ledare? Om vi nu inte bara avser du eller jag eller vem som helst som försöker hjälpa en grupp framåt genom konstruktiva handlingar som leder till samsyn och framsteg?  Och hur skall man agera om man vill vara en agil ledare?
Continue reading: Concept Cubes

Concept Cubes

Cubes Crisp blog pic

A while ago I was asked to help out create a checklist for a team, a checklist that could tell something about whether or not a user story was “good enough”. I opened PowerPoint and starting to ponder over how I could help. I immediately realized that a presentation would be boring, shown once and then forgotten, and not invite to curiosity. I put my laptop away and created a cube instead.

A couple of days later I showed it to a friend and colleague (Viktor Sessan, Agile Coach at Spotify), who were also very intrigued by the concept, and we started to talk about how to take this further.

This is the result 🙂 We believe that if you let an idea loose, and it is a good idea, great things will happen.

Continue reading

Continue reading: The Future of Software Development

The Future of Software Development

Whar are YPU doning in the future?

What will software development be like in the future? “Agile” as we know it, will not be around, nor will test-driven development, continuous delivery, or BDD-like methodologies. I’ve been pondering this for a while, and based on some observations and a dose of wishful thinking, I’ve arrived at the conclusion above. Do you agree?

Continue reading

Continue reading: T-shaped people and U-shaped teams

T-shaped people and U-shaped teams

I guess you have heard about T-shaped people, that is, people with deep skills within one or a few areas combined with some knowledge in many areas.

Now it’s time to introduce U-shaped teams. That is, teams that are balanced and where teammates are helping each other. It’s a team where you might have a bad day and are allowed to fail without causing consequences. It’s where the teammates help you get back to normal and what’s more make you feel comfortably included in the team. Your team becomes your safety net and it’s the place where you can dare to be vulnerable. U-shaped teams are also good for productivity since safety means productivity. *

Continue reading

Continue reading: Shorter version of: Responsibility the Agile way

Shorter version of: Responsibility the Agile way

A couple of months have passed since I wrote the post “Responsibility the Agile way” and I have refined it since then. Here is the new and more slim version:

1) I promise to look for improvements, both opportunities and problems.

2) I promise to participate in implementing the improvements. I will at least communicate the improvement possibilities I have found.

Continue reading

Continue reading: Five team principles

Five team principles

Building a well-functioning software delivery team is complicated. There are many factors to consider. Current team (if any), needed skills, available people, company politics etc.

There are some fundamentals that often (but not always) seem to work.

My fundamental principles for teams

  • Static
  • Cross-functional
  • 5-9 people
  • Co-located
  • Dedicated team members (belong to only one team)

I find these principles to be a useful basis for discussion, when helping managers configure their teams.

The principles are goals, and one must realize that all cannot be achieved all of the time, nor instantly.

Continue reading

Continue reading: Responsibility the Agile way

Responsibility the Agile way

I am a teacher of Agile methodologies which means that I teach collective responsibility. I often get the response that ”everybody’s responsibility is no one’s responsibility”. To make everyone really take responsibility we need to define what we mean with responsibility the Agile way. Here is at least my version:

We are all responsible for contributing with our intelligence and senses for the best of the product and the process. We are also responsible doing what we have said we will do and being transparent with our progress.

If you think that is too fluffy, here comes more details about what I think Agile responsibility means:

Continue reading

Continue reading: Pomodoro meeting

Pomodoro meeting

While reading a blog post by my Crisp colleague Anders Laestadius I remembered a meeting type I tried a few years ago. We called it “Pomodoro meeting” since it was timeboxed to 25 minutes, just as the time management technique Pomodoro.

This is how it was conducted:

Continue reading