Agile Journeyman series
Agile development and agile teams are hot topics these days, but the focus tends to be on the code or the team. What about larger organizational issues? How does an organization make the journey from traditional development methods to Agile Development? What does that journey look like? How does the organization need to change its thinking and processes to make this migration even possible?
To help you answer these questions, I have written this article that attempts to open up for discussion based on how I believe organizations can successfully embark on the journey from traditional, “square peg / round hole” assumption-based development methods to a more Agile-capable stance whilst holding dear to things like risk management, Security demands, operational interactions, eliminating waste, and meeting the changing business needs to name a few.
Nothing like stirring the pot so, let’s explain what agile means (my standpoint) 😊.
What does Agile mean?
Agile is about people, their relationships with each other, and their interactions with processes, frameworks, methodologies, practices, tools, and outcomes. It’s about discovering something that works today to make it better tomorrow. It’s iterative and adaptive to change, its epistemological in nature and, it requires systems thinking and a deep understanding of the Complexity theorem.
In short, Agile refers to a mindset of being Valuable, not a methodology of success. The agile mindset is about being flexible, responsive, and resilient in an ever-changing world. It’s about embracing change rather than fearing it. Agile isn’t something you can be halfway committed to or sort of believe in. Agile is a journeyman—you either are, or you aren’t. And if you do choose to become an agile journeyman, you will find that there are no easy answers or quick fixes; instead, there are only new questions with which you must wrestle every day.
Agile involves a move away from linear thinking aka “square peg / round hole” assumption-based thinking towards systems and complexity thinking. Instead of asking, ‘What’s wrong?’, ‘How do we fix it?’ or “How do we get there?”, agile asks: ‘What are we learning?’ or ‘What did we learn?’ It focuses on what works today to make tomorrow better rather than on what was done yesterday to make today better.
“Agility Is not destination-focused but opportunity driven; it Is not to deliver a piece of Value but to be Valuable to meet the ever-changing needs of the VUCA / Bani world of global complexity.”
Benefits of Adopting Agile
It’s easy to talk about agile, but where are all these benefits of Agile? What tangible things can we see? Here are just a few:
Agile helps to manage risk
Agile helps to stop “Cathedrals” being built, that are full of exquisite detail but always missing the mark. Agility minimises manages risk by breaking big expectations into smaller consumable ones, that are easier to manage and execute in feedback cycles. This enables greater flexibility when problems arise, and when problems do arise, you’ll have potentially smaller collateral to base your decisions on. We also create a greater chance of decentralising the decisions that are “time swamps” in any initiative.
Replace linear thinking with systems thinking.
Linear thinkers focus on what happens now, while system thinkers look further down the road and work backwards from there. Linear thinkers think they know everything that needs to happen immediately; system thinkers understand that knowledge comes over time and plan accordingly. Linear thinkers also don’t like change; system thinkers embrace it. Linear thinking leads to paralysis by analysis, which means people get stuck trying to analyse every possible outcome before moving forward, which never ends well.
On the other hand, system thinking leads to adaptive planning, which means taking action without knowing exactly how it will play out in advance but understanding that it doesn’t matter because you can always adjust later if necessary. Finally, linear thinkers like control and is a breeding ground for Blame Cultures, and system thinkers like autonomy.
Improved cost management
If you’re trying to manage costs, agile development makes it easier than ever. When you break down large initiatives into small pieces, you can easily determine which parts of your value stream are working well and which ones aren’t. This allows you to make changes quickly, which keeps costs visible and realistic.
Improved opportunity management
Opportunity management is all about knowing when to take advantage of an opportunity, when to pass on it, and how to pivot if things don’t go as planned. Agile development helps with all three of these things.
When you break down large initiatives into small pieces, you can easily see which opportunities work well for your company and which don’t. This allows you to pivot if necessary—and gives you more flexibility if something unexpected happens.
Here is a summary of a few more of the benefits of adopting agile into your business;
- The ability to make rapid adjustments to your expectations
- The ability to bring on new capabilities or make cuts in a very short time
- Excellent at bringing people together around shared goals
- Team spirit and morale will peak at an entirely new level, by driving inclusion and ownership beyond the usual suspects
As you can see, Agile’s possibilities are endless, yet some companies aren’t cut out for it. Here is why;
Why some companies can’t adopt agile
A reason why companies can’t adopt agile comes down to senior leadership. Unless you have buy-in from senior leadership, which travels through the leadership ranks of traditional management structures, agile won’t work. Those folks are in charge of allocating your team’s resources. So, agile will only work for you if they believe that delivering working software on an ever-shortening schedule makes sense (despite decades of evidence that it does). If you want to succeed with Agile, ensure those folks understand what it takes and why it’s worth doing. If they don’t get it, find another job or start your own company!
Starting with Scrum?
A step in adopting basic Agile approaches is to use an inspect and adapt or PDCA system which tends to default to Scrum but sat originally in the XP space. So how do you get from where you are today to being able to use Scrum? Here are a few guidelines for making that happen, one step at a time. These steps aren’t meant to be taken in order; each one can be implemented at any point in your journey and are not prescriptive.
Step 1: Start Small
Don’t try to change everything overnight; instead, focus on what will give you foundational wins (like better communication) and help you learn as much as possible along the way. If you have more than three teams, don’t worry about it yet. Just focus on getting your own team started with Scrum first!
Step 2: Get Coaching
It’s great if your company has an internal coach or training program, but if not, there are plenty of options out there. Consider starting with a Certified training course or reaching out to experts like the ones at Xploreagile, who can help you figure things out. Key focus of any basic training engagement is to shape clean language and create alignment to inquisitive thinking; this will help us to understand the Why and How of process or practice terminologies and expectations/limitations; otherwise, pulling in multiple directions makes things harder. An example is – Daily stand-up, Daily Kanban, Daily Scrum, !5 Min sync or whatever theme you choose to call them. These are a mess because everyone thinks the session is for different purposes and tries to make it meet everyone’s interpretation of it. If we all agreed on a single purpose, it becomes a thing of beauty and a great alignment opportunity.
Step 3: Get Your Hands Dirty
It’s easy to read books and articles about how something works, but nothing beats actually doing it yourself. You’ll learn much faster by trying new techniques, running experiments, and talking to others already doing it.
The best advice we can give you at this stage is not to be afraid to make mistakes. While we understand that success is the ultimate goal, we also concede that failure, if handled right, can be a catalyst for improvement, irrespective of what stages of your adoption of the agile model. Are you wondering how?
With the agile approach, failure is not treated as a closed book but rather as an opportunity to rethink, redesign and reiterate. As a result, your product will be more robust and thorough. So while some say the goal is to remove mistakes, they are not the end of the world, as long as you learn and improve with everyone. No, it’s not; the goal is to be able to tackle any future mistakes head-on with the minimum business disruption, because, at the ripe old age of 52, and over 30 different business engagements, I have never come across an organization that does not make mistakes. The biggest differentiator is the speed of recovery.
Step 4: Build Your Agile Toolkit
There are lots of tools available for managing projects like Scrum, Kanban, etc., from simple spreadsheets to full-blown project management suites. Find what works best for your organization and ensure everyone is familiar with it so they can get up to speed quickly when you move on to more significant changes later down the line. I like the idea of a library with every best practice, framework, application, and methodology forming part of that toolkit; use something when it’s right, don’t be afraid to put it down and experiment with something else, and be mindful of context and let the feedback process be your library card.
Step 5: Keep Learning
No matter how far you go, there’s always more to learn about Agile. So ensure everyone keeps learning by reading books, attending conferences, watching videos online, and sharing their knowledge with others in your community. Create Communities of Practices within your organisation; they are another foundational requirement for your transformation.
Step 6: Reiterate
When you reach certain milestones, take some time to reflect on what worked well and what didn’t work so well. Then repeat these six steps until you’re ready to take another giant leap forward.
These are the six simple steps you can follow to start your journey towards enabling Agility within your organisation and an opportunity to chip away at the Rocks of Culture that may currently exist.
Remember, Agile is a journeyman, so once you get started, you will not want to stop. If you would like a dedicated partner to take every step of this journey with you, schedule a call, and XploreAgile can help you get started.