Agility at Scale
As an Agile Coach, one of the common challenges I have experienced is a leader asking me to help their teams increase their agility, but expecting that they will be able to continue with business as usual themselves and not have to change how they work as well. The higher up the hierarchy the leader is, the more common this mindset is. The perception is that Agile methods and practices are most effective at the development team level. After all, you rarely hear of a Leadership team practicing Scrum or Kanban, having a Daily standup/scrum or Sprint reviews, etc.
I’ve been working with leaders more as I progress further into my coaching career and I have found myself having to set expectations up front. I’ll say something like, “I’m happy to come in and observe your teams, maybe even do some 1:1 interviews, and see what I can learn about how they are working and where the opportunities to improve are. But I need to make sure you understand…when I coach, I am coaching a system, not just a team, and you are part of that system. There will likely be some coaching I will need to give you and your peers to help you support this way of working.”
And the truth is, if your organization’s leaders aren’t willing to change how they work it doesn’t really move the needle much to just coach the development teams. They are constrained by the system they are a part of. After all, as Edwards Deming said, “Every system is perfectly designed to get the result it gets.” If you want to change the result, you have to change the system.
This becomes even more of a challenge when you realize that Tech organizations are made up of more than just product and engineering teams. You have Legal, Human Resources, Finance, Marketing, Sales, etc which all feed into the way the system works. If those parts of the organization don’t work in a way that supports Agile software development practices, you again are limited in how effective your coaching will be.
So how do you scale the Agility of your organization? Is your only option to go with some monolithic framework like SAFe? Or demand all parts of the organization adopt Scrum or Kanban practices?
"Every system is perfectly designed to get the result it gets."
If you truly want to have an Agile organization at scale, I believe the first and most effective step is to increase the Agile mindset across your organization. The investment of time to help your Finance team understand how Agility works and the mindset required to do this can then help them understand how they need to change the way projects are funded to give flexibility for fast failure and learning, pivots and rolling product roadmaps. It can help the Sales team understand why features may roll out with limited functionality initially and even help them recruit customers to be early adopters to give fast feedback and help improve the quality and speed of the value being delivered.
One of my favorite ways to introduce the Agile mindset is using The Heart of Agile. It’s a simple way to describe Agility in 4 words: Collaborate, Deliver, Reflect, Improve. That’s it. If you are doing those 4 things you are working in an Agile way. Everything else is just a tool or practice to support the mindset. And once you have helped them understand that mindset, then you can start pulling out all the tools that let them leverage the mindset to create a system that supports experiments, short feedback loops, data driven decisions, and creative problem solving.
Does this mean the Agile coach needs to be an expert in how HR works? Or Sales? Or Finance? Or any other area? Actually…no. It might help in some cases, but just as with technical teams the coach isn’t the one who should be solving the problems. The coach should be using their skills to help facilitate the conversation, keep it focused and let the people closest to the problem, that has the best understanding of the problem space, come up with the solution. So it might look like a series of workshops with the Finance team to help them understand the Agile mindset and how it is being used by the development teams and then brainstorming ways they can create flexibility within the system that maintains the financial accountability required while providing flexibility in funding.
And when all parts of your organization have a shared understanding of the Agile mindset you can have a truly cross-functional discussion from Finance, Product, Tech, Sales, Marketing, etc to create a system that gets the results you want…delivering greater customer and business value at regular intervals with minimal disruption.
So if you are a leader who is trying to figure out why you aren’t getting what you expect out of your development teams, you might want to look at the system that has been created to support them. If your company isn’t scaling the Agile mindset, you might find pockets of improvements but you will find the teams are constrained by all of the things that are outside of their control. Are you, as a leader, working with an Agile mindset yourself? If not, call on your friendly neighborhood Agile coach. Changing the system might just begin with you!