If your organization is moving towards Agile there are some specific elements you will need to be aware of from a Management perspective.
- Technical Vision – This is so lacking in most of the organizations. Most organizations I’ve worked for have some higher level vision set in place, maybe some standards but at the execution level these tend to ignored in favor of getting ‘it out the door’. Teams incur substantial technical debt that costs real pain and money to organizations long term. A good manager is able to set forth operational vision for the team. Using Scrum processes such as Retrospectives, the manager can encourage the team to come up with processes that work for them that support the vision.
- Technical Excellence – The operational side of the vision again involves the team understanding what it takes to deliver high quality code. Understanding how to ensure that code is refactored on a continual basis, that code reviews are not rubber stamps but should have a specific focus and structure designed to teach. At one startup I worked for code reviews were taken very seriously and provided junior developers with an opportunity to get good feedback on how they were developing as engineers. As a manager you need to ensure that the Alpha dog syndrome doesn’t happen, good code reviews are educational not demeaning.
- Career Development – This is probably one of the harder areas for technical managers to be successful in because I think most organizations don’t provide the right type of management training to their technical management staff. Understanding what to look for and encourage is for me the most important element of being a good manager. Career development provides the organization with employees who are happier, more focused, more dedicated and produce higher quality results.