One of the most riveting Agile reads I have been engrossed in recently is
“The Agile Mindset” by Gil Broza.
Wanting to make the most of my time invested (with a great return by the way) and to increase the chance of making it stick, I decided to tweet something from each chapter as an impulse for my own future thinking and behaviour.
Included in this blog post are some of my favourites and by reviewing my twitter feed and including them here provides another opportunity to increase the return on time invested!
establishing the Agile mindset
What I see as the biggest challenge to a successful transformation to an Agile way of working is shift from a “do Agile” to “be Agile” thinking. So often I hear comments like “sure, we have started using agile methods” without any sign that people have changed their way of actually thinking about their work.
“Agility is a philosophy – a complete set of attitudes, beliefs, and values. If you don’t do it like you mean it, it won’t last.” @gilbroza
One way to achieve this is actually to start to apply different approaches to how you get things done in your private life. For example I threw out my previous plan creation when it comes to taking a holiday. We tour a lot moving from one location to another in a given holiday period. Now each tour is not fully formulated at the beginning of the trip, it emerges gradually as we discover new places and decide at the right time how much time to invest there.
practicing the Agile mindset
One significant reason I am so passionate about an Agile way of working is, when done properly, Agile puts people first. It creates an environment in which everyone is enabled to bring their personality, strengths and skills into play. This places a lot of responsibility on the team to make sure everyone is given the opportunity to join in. A team can greatly benefit when one team member takes a neutral stance in each team interaction to ensure this is achieved.
An Agile way of working is far from uncoordinated and adhoc. It introduces a disciplined, goal oriented approach that applies specific proven principles to getting valuable work done. All this needs to happen in an enviromment in which people feel free to experiment and discover new options.
improving through an Agile mindset
If we can get to the point in which we are all interacting openly, enabled through surrounding leadership styles that focus on improvement and not blame, then we have achieved a lot. Getting there is far from easy based on previous ingrained cultures and behaviors. It is a must to pursue however, as without it Agility can not grow.
Our interactions are regularly focused in an Agile environment – focused on what we have achieved, and focused on how we achieved it. These reflection moments are critical and generate the opportunities for us to consciously make our progress transparent, inspect where we are right now, and determine appropriate adaptations for the near future.
partnerships with an Agile mindset
A great benefit of Agility is the importance of common goal creation. So often this step is missed and all parties have no clear direction in which they can jointly move towards. Determine what is valuable from all viewpoints in your product development and work towards creating this value in everything you do.
Agility is about breaking down silos, creating useful relationships and partnerships. So often I still see protectionism in place, and observe behaviors that aim to benefit one side over the other. We need to think holistically about our customer engagements and consider them as growing partnerships with give and take on both sides.
teaming with an Agile mindset
When the team does not achieve what they set out as the goal then no one has been successful. We look at the world through multiple windows, two of which are “I” and “we”. I need to be looking through the “we” window for most of the time in order to achieve common team goals, and not be distracted by what I see when I only look though my “I” window.
As a team our focus is on collaboration in order to get the right things done. We recognize that our work is complex, and complexity is best dealt with via multiple perspectives. We need to develop ideas of how we can achieve a goal, at the same time as being prepared to adjust these as needed. We work in pre-determined timeboxes, so we are sure that we bring regular reflection moments on what and how we are doing. This reduces the risk of investing too much time on one thing and potentially drifting in the wrong direction.
developing a product with an Agile mindset
Agile was born in a software development context, and most of my work continues to be in this realm. This realm is complex and people’s behaviors, stakeholder needs and applied technology can not be predetermined. This increases the need for short feedback loops to accelerate our ability to learn. These learnings can then be applied to iteratively and incrementally bring us closer to our joint goals.
When developing software it is essential that this is done in a manner that focuses on quality. One way of maintaining this level of quality is to ensure that the result of our work requires a minimum of interpretation. Making code understandable, and making code easily adaptable is key. It is very likely that a particular part of the code will be re-visited on multiple occasions as part of a product development. The metaphor of leaving the campsite a little bit tidier than you found it is a good reminder here.
creating value and quality with an Agile mindset
One of the most neglected parts, primarily as it is one of the toughest to grasp, is the application of a value driven approach to product development. Customer value is our ultimate aim, as this then leads to business value for ourselves. Don’t let business value limit itself to just the current financial view. What about team satisfaction and the ability for the team to learn as important aspects of business value? Establishing these will increase the likelihood of the future financial success we are seeking.
Quality code is a Development Team responsibility. A Development Team also aims to achieve a certain amount of work in a given time period. Often I see a rush to get the work done to the detriment of the quality of the work. This is a behavior deeply entrenched from our pre-Agile way of working. Just remember having something done quickly might satisfy someone today, having something done with quality will continue to please well into the future.
Thanks again to @gilbroza for his inspiring and educational book.