As a manager, you can get in tune (or keep up) with development processes and engage in discussions that geared at helping teams become more productive. I've noticed that truly empowered teams can distrust management, particularly when conversations are geared towards measurements; Any metrics discussed must be in context of implementing measurements to help teams improve, and the rule must be that these measurements will not used as ammunition in a performance review.
My goal is to collaborate with the teams in the same way that I expect those on the team to collaborate with each other. I find that working with them to determine what process improvements will and won’t work helps to fine-tune things.
My blog post Six Keys to Successful and Productive Software Delivery discussed what I feel are vitally important areas when it comes to achieving total results. Those specifically related to core software development:
- Customer involvement
- Design reviews
- Automated and manual code inspections
- Testing – early and often
Talking with teams – and working with the teams – will help build commitment and trust. The goal must be clear: you are working with teams to help produce better software, faster; to improve internal efficiencies by doing things right.
In terms of teams that aren’t meeting their commitments, I feel that it is certainly fair to have process improvement conversations. It is not OK to have an empowered team that is “managing” its own work and failing to deliver. Clearly, changes need to be made, and open, candid conversations are a must in these situations.