This is the fourth (and possibly final!) installment of my series of posts discussing why Agile may not be working for you or your organization. Part One focused on the role of culture and training; Part Two focused on the importance of continual improvement and evangelism; and Part Three focused on lack of knowledge, lack of commitment, and lack of demonstrable progress as contributing factors. In this installment, we’re going to talk about what you can do when you encounter situations where Agile (or “agile”) approaches aren’t working — small things that you can do to influence and support the transition of your teams, organization, and culture.
Teach Yourself
First and foremost, you need to take some time and effort to ensure that you have a good understanding of what Agile is, how it works, and what it means for your organization. If there’s nobody else that’s considering implementation of Agile practices, then you need to create the vision of what that future possible world might be. You need to educate yourself, starting with the fundamentals of the Agile Manifesto, and expanding into methodologies like Scrum or Kanban. It’s supremely important that at least one person in your organization understand where you need to start and how you can progress — while you may not be an expert or a certified Scrum Master or Product Owner, you have to start somewhere — and it’s going to be up to you to find the motivation to understand the groundwork that you’ll need to start with before you can take off and bring the organization with you.
Seek Out Opportunities
It’s entirely likely that you won’t be able to shift your entire corporate culture into one that is accepting of risk, driving out uncertainty, and working based on customer value than on a set schedule. But that shouldn’t be our goal anyway — it takes time, effort, and buy-in to shift a culture that’s used to a belief in certainty to one that accepts and embraces uncertainty. To create that buy-in, we need to demonstrate the value of the approach, though — why is the “new” way better than the “old” way?
In order to do that effectively, you need to actively look for those small opportunities to put iterative work and review in place; those small projects that may not be on everyone’s radar, but which can benefit from regular review and feedback from the stakeholders; those small projects that involve a handful of people with whom you can coordinate and work to drive the agenda that you want. Sure, this may take more time from the more “important” projects, but if you can establish working patterns within a small team, and can begin to show others in the organization why it works, how it works, and how it benefits them — well, they will naturally start to wonder why the other, more important, projects aren’t involving them in regular reviews and feedback loops!
Seek Out Allies
Related to opportunities are the people in your organization who feel the same pain and see the same vision of a possible future. They may be scattered throughout your organization — a couple devs here, a project manager there, a marketing person, a sales rep…but you need to seek them out and start to figure out how each of you can contribute to the development of the organization and a change in the culture. You want to find people with some basic understanding of Agile, or at the very least some concept of agility in the way they do their own jobs. You’re looking for people who are willing to take risks, who are willing to test their ideas before acting on them, people who actively engage in reviews with their stakeholders and who aren’t afraid to share works in progress for feedback and constructive criticism. These are the people who will rally behind you and set you up for success, no matter what piece of the organization you decide to start off with.
Start Local, Think Global
There’s a question that I try to ingrain in all of my developers, students, and co-workers: “What is the smallest thing that we can do right now to move this forward and learn something?” This is especially important if you’re trying to go about a massive culture change, such as the kind that Agile often requires in an organization. So, take a minute, assess where you are in your job, your projects, and your daily work, and think about what the smallest thing that you could do right now to make your own job more Agile. Start by modeling the behavior that you want to see in others. Test out the hypotheses that you have about how the organization works and what it’s willing to accept or reject. Take that first small step and keep working to extend your reach and your scope and your practices every day, every week, or every month. The key to Agile in general is continual improvement — start, try, review, improve. Every single day.