"In theory, there's no difference between theory and practice. In practice, there is." – Yogi Berra
You've probably heard that before. Amusing as it may be, there's solid advice to be gained from Yogi's folksy wisdom.
Having been on a number of development teams over the years, I've heard my share of discussions theorizing about "the best way" (sometimes stated as "the only way") to accomplish a given task. In some cases, it seemed that more time was spent in discussing possible approaches than in actually implementing them.
The essence of the agile approach might be distilled down to two simple words: "Try it!" In other words, spend less time theorizing and more time experimenting with ways to improve your work process or technical practices. "Try it!" is the "conduct an experiment" part of the scientific method. It also shows up in the Plan-Do-Check-Act problem-solving process, more popularly known as the Deming Cycle. The spirit of "Try It!" is embodied in inspection and adaptation, two of the three legs in the Scrum framework.
So the next time you find yourself in a position where you and your teammates are unable to decide on the best course of action, think of it as an opportunity to conduct a short experiment. Here's a way to go about that:
- In 5 minutes, have each team member write down every idea for a course of action they can think of on sticky notes.
- Put all of the sticky notes up on the wall.
- Eliminate the redundant ideas.
- Have the team vote (you can use sticky dots for this) for their favorite ideas.
- Implement the most popular idea.
- If the idea doesn't work out as hoped, repeat the process.
This method is almost certain to get you past any analysis paralysis. And you'll likely learn something useful along the way.