Accordingly to the first paragraph of Joel's post, a Program Manager is a very good thing to have in products. But what about having a Program Manager for a company that doesn't have a product, but have projects?

The only coincidence that I'd see if you ask me and ask me to answer right away is that a Program Manager for an outsourcing company would be someone that oversees all the projects that the company have, ensuring that the things are being done aligned to the company strategy, from a technical point of view.

migrated from stackoverflow.com Jul 12 '11 at 2:35

This question came from our site for professional and enthusiast programmers.

  • 1
    To the guy that voted negativetaly, would you mind telling me why? Thanks. – Sebastian Jul 11 '11 at 18:26
  • I'm not the downvoter, but people downvote questions like this because they're not really programming questions. You might get more interesting responses on a site like LinkedIn. – Scott Jul 11 '11 at 18:43
  • Thanks Scott, I did that in StackOverflow because I found similar questions regarding other things such as Program Manager vs Product Manager. – Sebastian Jul 13 '11 at 19:51
  • Having worked in three different companies in different capacities, I would say that every company has its own set of practices and expectation settings for different roles. In fact, the titles "Program Manager", "Technical Lead", "Senior Member", etc could all be different or same depending on the company - those are mere titles ;) – karthiks Jul 23 '11 at 14:50
  • You probably got down voted because because job titles are pretty arbitrary things and only have a concrete meaning within the personnel department of an individual company. having said that "Program Manager" is a pretty common title and is generally accepted to mean someone who manages a program consisting of many projects - each with its own project manager. – James Anderson Dec 8 '11 at 2:26

Since the outsourcing company has projects, these people are usually called Project Managers. :-)

You're correct that in order for outsourcing to work properly, someone in the company has to be responsible for communicating the specifications to the outside companies, and ensuring that the projects do what's been specified. That someone is the project manager.


I'm confused by his terminology since my company calls the person who manages multiple projects from an account level as a program manager. Basically a project manager for project managers. The job he is describing is more universally known as an interaction designer as laid out by Alan Cooper. This type of role is most definitely used on project-based work. Anything that has a user interface needs this kind of design does by someone with experience if you want to ensure a decent level of quality.


It depends on the project.

If you're working on a large project that may have several sub-projects, each of the sub-projects will need a manager, and the overall project will also need a manager. If the project is large enough or the account important enough, that person could have a title of "Program Manager".


I worked for a company at one point that had a relatively stressed relationship with software companies that were developing systems for it, and I did hire a Business Analyst there to help out, they had a similar role to the Program Manager described in Joel's post. This person was more able to get answers to questions from difficult to pin down stakeholders, and served as a clearing house for answers. As well, since they did have a background in software development they were able to recognize when an answer would lead to more questions, and we successfully improved matters this way.

That said, this shouldn't be necessary in most cases. Assuming there is a good relationship between the client and the outsourcing services provider, the provider's staff Business Analysts should be able to extract the requirements.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.