Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top


  • Development Manager
  • Program Manager
  • Project Manager

I have read a bit and independently I understand them well enough. However when you combine them, it seems to me that some responsibilities overlap and it becomes uncertain who is responsible for what.

Does anyone have a clear way of defining how each role differentiate from the other? Or mainly which tasks are exclusive to each one? I want to avoid overlapping of responsibilities.

I know there are other similar questions on the matter, but none exactly the same...



This 2 questions help a little, but still can't quite place each role when pushed together:

What is the difference between a Program Manager and a Project Manager?

The Written Roles of Software Development Manager

share|improve this question
If you list all of the responsibilities that you think are part of these roles... – Oded Sep 9 '11 at 20:19
Done that, from different sources. Like I said they overlap. I am curious as to when you pin them together, which one should do what, as to not overlap responsabilities... Or some clear cut differences. – AJC Sep 9 '11 at 20:23
Program or programming manager? In my organization these are very different roles. For example we may have programming managers (Senior Developers/Project Leads) but we also have ITSM Program Manager along with other "Program" managers not related to programming. – Chris Sep 9 '11 at 20:47
Depends on the organization. In some organizations they are three separate excuses to carry around an upper managers useless poker buddies as dead weight with bloated salaries while tech leads do all the program management, project management and domain expert goto guys. – maple_shaft Sep 10 '11 at 2:51
Developer Manager, its called also "Technical Project Manager" is some companies. – umlcat Sep 10 '11 at 16:42
up vote 9 down vote accepted

A Programme Manager manages a number of projects (or portfolio), each run by project managers, that help to achieve a common goal. From wikipedia:

Program management or programme management is the process of managing several related projects, often with the intention of improving an organization's performance. In practice and in its aims it is often closely related to systems engineering and industrial engineering.

A Project Manager manages an individual project, which might be within a wider programme. Their aim is to deliver the project they've been tasked with to the required quality, budget and timescale.

The project manager is focussed on delivering their individual project, where the programme manager understands the interdependencies between projects and may need to make decisions and assign priorities between projects when they come into competition or are competing for a scarce resource.

A development manager is often sat to the side of this, managing a pool of developers from a career progression point of view. They assign developers to individual projects in response to requests from Project Managers. The development manager is typically responsible for things like training (except where required for a specific project need), appraisals etc. You might have the same development manager for several years, over which time you are assigned to multiple projects (potentially over several programmes) with different project / programme managers.

Alternatively on a big project, there might be an overall project manager, then separate project managers with a focus on different workstreams e.g. Development Manager, Test Manager etc. They manage their focus area within the wider project.

That's the way it works in 'Enterprise IT' anyway.

share|improve this answer
Apart from the development manager part, I don't really agree with this answer, but I'll concede different companies may use the term differently. A project manager typically deals primarily in schedules, deadlines and resource allocations, and the vision and feature set of the actual product comes from a product manager. A 'program manager' might be some kind of senior product manager that keeps several products aligned. A development manager (or sometimes a tech director) focuses on the tech behind the product, when the product manager deals with end user level functionality. – Joost Schuur Sep 10 '11 at 7:41
I've added some extra to Programme and Project managers to expand my answer. These definitions are very similar to those in the British Computer Society 'breadth of knowledge' syllabus ( – Kris C Sep 10 '11 at 8:18
Also, as you say, product manager is another discipline entirely, focussing on customer needs, roadmap for new features, marketing etc – Kris C Sep 10 '11 at 8:26

In an organization where I used to work (over a decade ago) the development manager was in charge of developing the whole IT function (both hardware and software). The programming manager was in charge of all programming functions (software only). A project manager was in charge of individual projects, usually related to programming, occasionally to hardware.

share|improve this answer

To my understanding, this is how it is:

Dev Manager looks into s/w development only. May work on multiple projects. Is 100% technical.
Test Manager looks into s/w testing only. May work on multiple projects. Is 100% technical.
Engineering Manager looks into s/w development & testing. May work on multiple projects. Is 100% technical.
All above may report to CTO.

Program Manager - Manages various programmes in company, he syncs with all the above. So, certainly works on multiple projects. Collaborate knowledge/ best practices between above managers. May not be 100% technical.
Above may report to CEO.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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