Monday, March 4, 2013

Observations on design of software delivery organization


Off late I have been observing an interesting pattern develop in the organization I work for, in terms of organization design of the project teams. This has been going on for the past few years. I am not sure, how typical it is of other not too big software development shops or is it unique to my organization.

The constraints are this. There is a group of people (ex-developers) who want to become managers. There is another group that wants to become technical leadership. Then there are distributed development teams that are typically under five years of experience.

The challenge is that the manager group is typically made up of people not respected for their technical skills and so cannot lead or guide their teams. They in fact are not even able to counsel their teams on what skills to develop or how to solve a problem. The teams actually respect technical leaders, who themselves do not want the hassle of managing people.

So, the firm has found a convenient way. Make the developers report to managers on a day to day work assignment and rope in the technical leads during projects to guide the teams. The managers typically perform administrative functions and do not really manage or lead their teams.

Eventually, the teams become proficient, and people start leaving as one person starts receiving all the rewards, and others find greener pastures. The managers get the credit for the teams but are in fact clue less. The technical leads are slowly replaced by the new stars and they have to figure out what they want to do next. The new stars have to then decide whether to stay in the teams, become managers removed from the actual work or become technical leads without any real teams. Dead end for every one.

No comments: