For many organizations, the need for a Development Manager starts as they identify Agile Release Trains (team of teams) as part of a transformation to agile. Trains are structures with up to 125 people, so we need to make sure that we have defined reporting structure in place. The Train will affect people that are in supervisor roles and so we must be careful because a poor implementation will create a number of impediments to a successful program.
While there are a lot of variations, the basic pattern most organizations start with is:
If you have an organization that is in multiple locations, you try to line up Development Manager responsibilities so that the people she is working with are “local”.
With this type of structure, you are aligning all the interests of the people on the train to the program. This allows development of people to be focused on the outcomes the train is working toward, as well as the personal development of each person.
Also note that this kind of structure can repeat as you have more people. You end up with an “uber” Development Manager and “uber” Program Manager reporting into higher structures. One word of caution as you do this - try to make sure there are good paths of communication directly to people doing the work. The last thing we need is to put in place some kind of burdensome reporting structure.