Sorry to say but people do not seem to ask good questions. In fact I find that people don’t seem to ask questions at all. I notice people making a lot of assumptions without ever reflecting on whether they got their assumption right.
When people do ask questions, they seem to ask the wrong questions. The usual question coming out of people is essentially “why?”.
- Why did you write the component like that?
- Why aren’t there any unit tests?
- Why is your project behind schedule, over budget and full of bugs?”
A “Why” questions elicits a belief answer. When they do setup a “why” question that gets a non-belief based answer they have injected the question full of their own beliefs to get that answer. A better and easier way to ask questions is to use the other W’s instead. Who, what, when, where, whow (the W is silent).
- How many unit tests are there?
- What is this testing?
- When are the tests being run?
- Where are the tests run?
- Who writes the tests?
- How do you decide what gets tested?
Part of the reason I avoid belief based questions is to avoid distractions. Generally, if I’m involved there is a goal that I am trying to achieve (say get a project back on schedule) and I don’t have time to philosophical debates about anything. I save those discussions for after hours with yummy beverages and delicious food.
Stepping back and asking questions is an important skill. Learning to ask useful questions is an even more important skill to develop. For instance, “What would you need to get this million-line project to 80% code coverage in unit testing in 10 days?” is sometimes a good question to ask. It will start a conversation, probably a long one, that will get the team thinking outside their normal patterns. In many cases this is all that is needed.
Using questions skillfully can also help develop and deepen relationships with people. This can be useful helping bring a team together.