Jørn Larsen, co-founder and CEO of Trifork, presented waste is a crime: don’t waste your team at the GOTO Amsterdam 2015 conference. He explained why teams need to have freedom to make decisions and be able to improvise and talked about the impact of working with many customers and how teams can do that effectively.
InfoQ interviewed Larsen about the "perfect world" to develop software products, aligning with many customers, why waste is a crime, why flow is important for software teams and what they can do to establish flow.
InfoQ: You talked about your "perfect world" in which you would like to develop software products. Can you describe how this world looks, and what makes it perfect?
Larsen: Our business is to build cool innovative solutions to our clients. To begin with I’m defining a world as we would like to see it.
- A competent product owner
- A cross functional team of 7
- A competent Scrum master
- Trust between all involved
- System delivered partly every 2 weeks
- All features no bugs
When we experience a product owner who is competent and has domain knowledge it makes it so much more simple to build a good solution for the client. We tend to never have team sizes larger than 7 and often smaller. That increases the team ownership and the team is much more efficient and committed. We train all employees to become Scrum masters and of course not all have the same level of talent. However when every one in the team has the knowledge of a Scrum master it makes everything easier. Trust between team members and client is key. Trust is something you build and when trust is established the client and the team will build the right thing with the least amount of effort.
InfoQ: As you mentioned in your talk projects nowadays tend to have many customers and much money is spend on alignment. What’s the impact on projects from this?
Larsen: What I meant is that many projects has many stakeholders and a lot of energy is spent getting all these stake holders aligned.
InfoQ: Do you have suggestions for dealing with many customers and keeping things aligned?
Larsen: I think the costumer should make some effort getting aligned or find someone they trust before starting to build a new solution.
Sometimes we see 10 or more stakeholders in a project on the customer side. This is of course a big challenge since they do not agree from the beginning what they want.
A part of the solution is to figure out who actually has the decision power of the stake holders. Another part of the solution is to make visible how the possible new system could look like and how it will work.
By listening to all the stakeholders we often build minimal prototypes that can be used in the discussions with the stake holders. As a result of these prototypes and discussions we convert to a set of requirements and look and feel for the new system.
The trick from our side is to mediate and come up with relevant good suggestions on how the system should work. Also domain knowledge and a diplomatic approach are tools to convert the stakeholders views in to one single opinion on how the new system should work.
InfoQ: You stated that "waste is a crime". Can you elaborate on this?
Larsen: There are many things that has been learned over the years and many things that create waste.
Just to mention 3 things.
- Working on too many things at the same time. It’s proven as a bad thing to do. However we still end up in too many situations where we are trying to solve too much at the same time.
- Doing it right the first time. With experience it gets easier to guess right the first time. Therefore its important to have some experienced people in every team.
- Working too much. This is one of the worst sources of waste. When you work too much you make mistakes and mistakes are hard to correct. Most people knows this but still it happens too often.
InfoQ: In your view what is it that makes flow important for software development teams?
Larsen: When you are in flow you feel challenged and happy. This state of mind is a very productive one. Flow is what we should all strive for.
InfoQ: Do you have suggestions what teams can do to establish flow?
Larsen: It’s important that you have enough training and experience in a team. Don’t use too many new technologies at the same time. A team need to master 90% of what they are doing and then add a few difficult things or new technologies on top. Also its important to be sure to add new talent to a team and let other leave the team before they get too used to everything.