Questions are an essential part of any development process.
Developing software is a continual process. We are always writing the next piece of software. New tasks are kind of like the mail for mailmen, the mail just keeps coming. The tasks just keep coming. It is very easy to get heads down and stop asking questions.
We need to occasionally step back and critically think about how things are going within our processes. Are we being efficient? Are we hitting our quality goals? Are we measuring the right things? Is the team happy? Are customers happy?
When looking back, it is important to get a variety of views. Don’t just get the feedback of project managers, or just the feedback of QA, or just the feedback of developers. Try to include as many people as possible. Ask everyone for feedback on the entire process. You never know where the best insights will come from. As you work on things, sometimes you can’t see the big problems right in front of your own face.
It is important to move forward with a continuous improvement mindset. The goal should never be “you messed up and why.” This shouldn’t be a finger pointing exercise. We must be looking for ways to improve processes, not tear people down.
This is very important, much like finding issues with code reviews, we don’t want to use it as a chance to attack people. We want to use this as an opportunity to improve the team and the process.