Thursday, August 16, 2007

Development Management in Large and Small Organizations

In an Agile world, what is the responsibility of the Development Manager? The answer, not surprisingly, depends on the organization. In some respects, their responsibilities are the same: ensuring individual growth, managing conflict, etc. As there are numerous books on that, I won't address it here.

On the other hand, the responsibilities do change between a small organization and a large organization. It is important to understand the difference because the personality that will thrive in a small company dev manager role will suffocate in a large company. Conversely, a personality that would thrive in a large company may flounder in a small company.

Large Organizations

I don't want to use the word politics. The negative connotations associated with that don't help get the job done. But what is the job?

Communication. And communication. And more communication. Nobody makes command decisions in a large organization, so accomplishing anything requires communicating with others. Communicating status, assisting others in communicating their needs for you, interacting with others to meet the people you need to know, and then communicate some more.

Once you've done all your communication, do it some more.

Once you've done it some more, you are ready to begin moving roadblocks in front of your staff. And this is your job! You are the silent tow truck, strongly letting noodles think they are moving themselves, unaware that you are pulling them where you want them to go. As your developers run across problems, you need to use your communication skills to find ways around them. Find the people you've interacted with and help them understand how they can help you and how you can help them.

Small Organizations

In a small organization, the primary need is to know the customer. That will provide you the foundation to understand everything else in job.

You need to understand your product. You need to have an understanding of what you are building and why you are building it. To have a very productive team, you need to be in a position to answer developer's specific questions about requirements. You don't answer what should be built but you need to be able to answer questions about how to build it.

More specifically, the dev manager is the multitasker. Obviously, communication is still important, but you are now a key stone in getting things done. Product owners will not have the time to get you everything you need. Customers will have questions that services (if it exists) will not be able to answer. There will be 10 times the work to be done than you could ever hope to do. And everybody is going to look to you for the answers.

Both jobs are challenging. Different people will excel at one more than another. As you look at moving from one organization to another, there will be a lot of things going through your mind about pros and cons. Make sure this is one of them.

No comments: