How to Become a Better Development Manager
Some tips and suggestions on software development management.
Managing developers can be both very challenging and very rewarding. Not everyone is up to the challenge, nor will they ever be without understanding the mindset of a developer. The intent of this post is not to detail the nuances of such a mind, but to put forth some reasonable guidance if you ever find yourself being in command of a development team.
Having been a developer and a manager of developers for most of my adult life, I have observed that developers respect technical experience and knowledge when aligning themselves with a manager. However, if given an interesting puzzle to solve, developers will work for most anybody as long as the manager bestows the latitude necessary to execute on a design and is able to make a reasonable decision given the available parameters.
The challenge in this case is two fold: one, you must be able to make a technical decision that has impact to the business; and two, you must be able to extract the sometimes intricate details behind "developer statements".
In my corporate experience, I’ve noted that superiors generally put in charge those who are capable of making development decisions or are able to overcome the above scenario. In the case that a developer wishes to make the leap from active development to a manager of developers, this post may help frame what you need to do in order to be successful in this new role. Developers that like to build to a spec might find management difficult as people are largely unpredictable and don't manage their own lives to a spec. If this is your case, take this post as a sort of a protocol to follow and to fall back on should you find yourself in one of these undocumented situations.
Finally, please remember that at most companies there is a support structure above and around you that consist of your department head, line manager and of course HR. Use your colleagues to help navigate any uncharted waters and never be afraid to ask questions. With people, you mostly get one shot to get it right.
The capacity and quality of any development organization depends on proper structure and leadership. Development managers and executives will continually assess the following three key areas in order to create a sustainable development organization that can quickly adapt to changes to technology, the market and customer demands. In summary,
A guiding principle for all of your actions: We are all solutions architects. Given a problem, we are determined through quantitative and qualitative analysis to arrive at the best solution. Develop, acquire or partner.
The Basics: People
Development managers commit to the following:
- Construct and maintain an organizational chart and ensure it is communicated appropriately and understood by direct reports
- Create performance goals for each direct report based on historical activity and review succession plans
- Manage quality of direct report output
- Identify personnel gaps in the organizational structure and, if able, fill them quickly
- Identify gaps in skill-sets and assess training options or re-assignment
- Assess and continuously improve training procedures and documentation for thorough assimilation of new hires
- Learn how to leverage external consultants and fixed-cost module development firms to assist core R&D activities
- Develop contingency plans to cover SPOFs, time-off, LOE assessments, etc.
- Understand business goals and relay decisions effectively to your team
- Engage in weekly one-on-one meetings with each of your direct reports
- Create value in each touch-point, prepare an agenda
The Basics: Process
Development managers will commit to the following:
- Comprehend all development processes and procedures required to be followed and executed by your direct reports
- Become a model for adherence and follow these same procedures. “Do as I say and as I do.”
- Identify SPOFs in procedures and build contingency plans for each scenario
- Work with, not against, Project Managers to identify how best to align resource to tasks
- Build and maintain support escalation procedures for your Operations counterparts and ensure each direct report understands it
- Adhere to the currently adopted SDLC, yet,
- Identify ways to improve on it internally
- Research the industry and analyze the case for change
- Ensure direct reports do not make decisions in a box.
- Any decision that may have impact on the business must be escalated to the line manager
- Identify and respond to any blocking objects that impede Developer productivity and/or output quality
The Basics: Technology
Development managers will commit to the following:
- Ensure direct reports build or integrate the best software solution to solve a given problem with considerations for cost, performance and supportability
- Strive to develop technology that is bug-free, well-performing and supportable by Operations
- Commit to support any software we develop, or integrate, for Operations escalation (“We won’t leave Ops hanging”)
- Escalation and support procedures will be well-defined for each solution provided by Development
- SMEs will train Operations on how to deploy and manage each solution provided by Development
Direct Report: One-on-Ones
Topics that should be covered within your one-on-one sessions with direct reports
- Commit to meet with your direct reports one-on-one each week, if possible and if it does not impede with critical initiatives
- Discuss and identify blockers regarding productivity and performance
- Discuss interactions with team members, project managers and extra-department characters
- Promote conflict resolution by the individual, otherwise broker a “truce” between parties should it impede on productivity
- Relay important initiatives and communications from senior executives
- Ask questions!
- Understand the motivation behind the individual’s career & personal aspirations where appropriate
- Gauge their commitment to the mission
- Understand how they’d like to extend their career
- Foster an environment that welcomes suggestions for improvement department-wide
- If you are a manager of managers, ensure they extend these items to their direct reports
The following points discuss various scenarios and guidelines for management actions:
- If posed a question that you are unsure how to answer, don’t make it up. Resolve to further research and provide a day and time to revisit with the individual or group
- Developer time is valuable and context switching is costly. Keep notice on how individuals from other departments affect your direct reports’ time and intercede where appropriate
- Don’t let friendly discussion get out of hand. Developers shouldn’t feel they have to listen to headphones to escape the cacophony of the floor. Pull the discussion aside and find a conference room, go to the hallway or an office (VP’s included)
- Be decisive. Developer input can make decision-making difficult if left to open discourse. If you know the right way to proceed, make the command decision and explain why you are going this route. While consensus is theoretically a good practice, it impedes upon progress.
- Direct reports are assigned to help enable your vision, it is your obligation to assess whether you have the right team to accomplish this.
I hope this post was helpful. I've been developing my style over time and extend-- correcting and removing items from time to time. If you have any questions, comments or conjectures about my principles, I'd love to hear them as I would like to continue to expand my own abilities.
Companion article: 13 Steps to Becoming a Better Product Manager