Problem Solving Strategies, Tools and Techniques

From AgileBok.org

Share/Save/Bookmark
Jump to: navigation, search

In an Agile Software Development team, most of the time a software development manager will be frequently visited by developers who are spinning their wheels on a design problem or running out of ideas while troubleshooting an application. Here are some of the very basic Problem Solving Strategies that can be practically seen around in every Agile Team.

Contents

Ask it Loud

In most of the cases where you went to ask someone a question and simply the act of asking it aloud made you realize the answer. Consider for a moment why this technique works, and why it often works better when the other person has little advance knowledge of the issue. To bring that other person into the discussion you are forced to rewind your brain back to when you started working on the problem eschewing all of the clutter and complexity that you have added since you’ve been working on it. Then you must revisit each of the steps you have taken justifying each decision and restating each assumption.

Revisit the Problem

So why should revisiting the history of the problem be effective? After all, having the same person answer the same intermediate questions ought to bring that person to the same conclusion, right? If this were true, then the sounding board approach would be a waste of time, which we know is not the case from anecdotal evidence. The reason you arrive at a different answer is that unlike the first time through, you now have the benefit of foresight and are far less likely to take a path that you know will lead you through the brambles.

The Sunk Cost Fallacy

The longer you walk down those brambly paths the easier it is to mentally commit to pressing forward. On an intellectual level we understand the Sunk Cost Fallacy, but are still susceptible to it and can form mental blocks that make it discomforting to backtrack for more than one or two forks in the road. This is why we need the guide to force us to rethink the whole journey and each decision along the way.

Critical Problem Solving Stratgies and Techniques

The core problem is sometimes just so obvious that saying it out loud is enough to expose the flaws in the current approach. Here are a few better tips for helping out on the thornier problems.

It may seem strange that my approach advocates being somewhat evasive with information or potential solutions. However, it is given in the context of a manager/mentor acting as a sounding board. In this role, your primary focus should be to create leverage by making things happen through your team. Any veteran manager will tell you that handing out answers routinely to technical problems is only going to make the line to your office longer and make you the bottleneck. Always strongly favor approaches that encourage critical thinking among developers and gives the glory to the developer instead of the esteemed leader. It sure pays off in the long run.

References

  1. Agile Dzone
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox