With so many approaches to management – and of software development in particular – there are plenty of authors who write about it. I don’t intend to join that fray. Personally, I enjoy the “What” much more than the “How”, but recently this piece of insight dawned on me.
To be helpful, a good middle manager does one of two things:
- Up: Make decisions and be held accountable for their outcome.
- Down: Remove obstacles from his team’s path.
Where it gets interesting is where #1 and #2 collide, and how this manager deals with it. Great managers find the right balance. Mediocre managers can only handle this by screwing one at the expense of the other.
For example, a certain middle manager gets some directive handed down from above, while the team is already at full capacity. Rather than trading off another highly prioritized task and facing a tough time with higher management, he prefers to push the requirement down to his team, to try and “make an extra effort.” He even considers it his decision, so he feels that he lives up to #1. But sadly for his team, not only did he not remove obstacles, he also just added more.
Alternatively, such managers try to execute #2 and help their team by making the tough decisions that remove an obstacle. But because they do not realize they’re the ones held accountable on these decisions, they prefer to not communicate them upward to keep their political standing, thus violating #1. This eventually results in the team losing credibility and being considered lower-execution, despite all their hard work.
Of course, how to successfully balance #1 and #2 and still keep your job and sanity as a manager is a separate topic, one I’ll leave to the management experts to discuss…