Successfully seeing what needs to be done often starts with understanding what you don’t know, so you can focus on where to learn. This process is hard because it starts with identifying assumptions (what you assume is true, but don’t actually know).
Until I discovered Agile, I didn’t realize how much confidence and assumptions are built into traditional project management. As I looked at what we were doing I realized we were assuming:
- Our customers know exactly what they need, and exactly how to explain it to us
- We can create a solution and they will know if it will work
- We know how to build it for them (or if not, we can easily figure it out)
- We know (or can find out) what tasks are needed and how long they take
When you start with these assumptions, waterfall makes perfect sense. Ask the customer what they need, get sign off on an approach, and lay out a plan. That may work for building a bridge. After all, this isn’t the first bridge anyone has ever built. We can ask questions about who will cross it and how much weight it needs to handle. It makes sense we would take this approach, traditional project management owes its roots to large, complicated construction projects where something similar has been done before.
However, this approach doesn’t work as well on complex problems – ones where we may not know what the problem is, much less the right solution. In Team of Teams, McChrystal explains the difference between complicated and complex. An engine is complicated. There are a lot of moving parts, but they are predictable. A soccer game on the other hand is complex. There are rules to the game, but once the first kick occurs, there is no way to predict where the ball or any player will be at any moment of the game.
A first step in successful project management is understanding what kinds of a problem we are solving. Is it complicated or complex? To provide an example, for many of our business problems:
- Customers often don’t realize what the root problem is or what solutions are possible, so there is no way they can tell us what they need.
- Until we understand the problem, we won’t know what the right solution is. The catch 22 is that we may not know what the right solution is until we deliver it. A key part of the project is guessing what the right solution will be, and then giving it to users to test.
- Obviously, we can’t know how long it will take to build a solution, or if we can even build it, until we discover what the solution is (which we won’t know until we build it).
Those truths are a little disheartening. It’s so much easier to look at a project plan that tells us exactly what the solution is, what needs done to create it, and how long it will take (right down to 4 months from now at 1:00 on Thursday, Sarah will be testing for 2 hours). That warm fuzzy quickly disappears as the project turns out to be more difficult than estimated, and when delivered, we find out we didn’t even know what the problem was (if we bother to ask the customer how well it worked at all).
Agilists refer to this approach of delivering a polished product before anyone tests it as slow learning. The good news is Agile principles have some simple solutions to help find the solution faster:
- Customers – Start by talking and focusing on customers. Rather than asking them their problems, focus on understanding what they are doing today and how they are doing it. Great solutions start with a deep understanding of customers.
- Experimentation – Rather than focusing on what we need to build, the next step is understanding what we need to learn. Good customer research will provide a much better guess, but we’re still guessing what the problem really is and then guessing about the solution. Understanding what we don’t know, we can clarify what needs to be tested and how we can design our experiments. This is the power of not knowing. When you realize what you don’t know, you’re whole approach changes.
- Small, quick wins – Realizing we don’t know the solution helps realize there is no point in building something big till we know more. The concept of failing fast is understanding the sooner you can get it in front of a customer, the sooner both of you can find out if it’s the right direction.
- Power of teams – All of us are far smarter than any of us alone. If we’re solving a complex problem, getting different people to look at the problem and think about solutions will be better than anyone working alone. Each of us come with a lifetime of different experiences. Since innovation often comes from applying a solution you’ve seen somewhere else in a different way, you never know where a good idea will start.
- Change in leadership – In a complex environment, it’s no longer leadership’s job to find the answer and tell everyone how to build it. Instead, leadership needs to:
- Create an environment that helps people follow the process, talking to customers, understanding their assumptions, testing them with small experiments, and making sure everyone’s ideas have a voice.
- While the team is thinking about how to solve this problem, leadership needs to think about what the next big problem, creating a road map of problems to solve instead of solutions to deliver.
Feeling like you know everything is definitely more comfortable, but understanding what you don’t know is far more effective. Once you let go of knowing, you can focus on finding and fixing the real problem, which means spending a lot less time and money delivering the wrong solutions.