I find myself talking about mindset frequently. I don’t intentionally plan on discussing mindset, but for me, it is inevitable that we return to the foundation and the “why”. We can follow practices blindly but after a while, they start feeling hollow without knowing the purpose and goal.
Agile without the mindset is nothing more than a collection of practices. In order to improve, we need to understand and embrace the agile mindset. The agile mindset (at least in my opinion) is defined by the values and principles contained in the Agile Manifesto.
Recently, a colleague and I were talking about mindset and after several hours of discussion, we decided to create a presentation based on this brainstorming. After further planning and collaboration, we realized that the topic was so large, that it wouldn’t be possible to cover in a one-hour session. We ultimately split the topic into the mindset required for the organization and the mindset required for teams.1
We didn’t want to leave people empty handed and one of our key takeaways was a list of actions that people do that would help to develop the agile mindset. If you do these seven things, I can’t promise you that you will suddenly become agile but I do believe it will help start your agile journey.
The remainder of this post talks about those seven items.
- Challenge your existing assumptions and the status quo
This is probably the most important item on the list. Agile is definitely different in how we view, approach, and solve problems. Our old ways of doing things simply don’t work anymore and viewing these problems through our old lenses won’t help. We need to question these long-standing assumptions and behaviors. The old stand by of “we have always done it way” doesn’t work and will probably give us the same result. We need to dig into the “why” behind those old ways and see if those assumptions are still valid.
- Shorten feedback loops
- Conduct experiments
Agile is designed to adapt. The only way that we can adapt is to make a change, observe the result, and analyze the result (in other words conduct an experiment). If we can observe and analyze the results in a shorter period of time, we can change and improve faster. If it normally takes a week, see if you can reduce it to a day. If it normally takes a day, see if you can reduce it to an hour. Keep shortening the time period until it no longer returns actionable information.
- Treat people like people
I hear people referred to as “resources” almost every single day. Gasoline and computer memory are resources, not people. The bigger issue is when it is no longer an incorrect work and we treat people like resources. The core of agility is people that we empower to do creative and exciting work. Resources can’t do that. Agility simply does not exist without humanity.
- Empower teams
We need people but more importantly, we need them to work as a team. This should be a team that has a shared goal and objective. Preferably this objective is something that can’t be accomplished without collaboration.
- Do the simplest thing that could possibly work.
We tend to create solutions to problems that are far more complicated than they need to be. Unnecessary complexity is a waste both now and in the future. Quit thinking about something that you may need a year for now and focus instead on what you need today.
This does not mean to do the simplest thing that you can think of. Instead, it means that you should do the simplest thing that you can think of that might work. If it doesn’t work, we can always experiment and fine-tune.
- Be ruthless with your priorities
We do far too many things simultaneously. When this happens it takes longer for these things to complete. When the time increases, our feedback loop increases, and our resulting change is slower. Often the quality of the items we are working on decreases as well.
Doing too many things at once makes you slow and substandard — don’t do it.
1 A copy of the presentations are available on the Downloads page if you are interested