I recently read an an article about Functional Specifications by Joel Spolsky (if his name sounds familiar, its likely because the good Mr. Spolsky is one of the StackExchange founders). In the article Joel mentions how Microsoft used Program Managers as the persons who manage the software design during development (okay that might be a bit oversimplified, there is a more complete description in the article).

However, the article is quite old, so my question is this:

Are Program Managers still a thing? And if not, then what is the more modern way of managing software design?


Programme managers in general ?

Programme manager is a job function which is not specific to software. The term "programme" in it is not directly related to "programming" or a software artifact.

"Programme" is a term that means a long term endeavor, be it in politics (e.g. a new healthcare programme) or in industry (e.g. the Airbus A340 programme). In the software industry, a programme often corresponds to a family of products, and programme management is hence a part of product management.

A programme manager is then responsible to manage and coordinate all the many interdependent projects aiming to realize and contribute the long term objective and the larger picture (e.g. the different software components and their releases).

So yes, programme manager are still being used !

Programme managers according to your article

Nevertheless, there's an ambiguity in the article that you quote:

  • A programme manager (according to the definition I give above) will make sure that the overall vision and objectives are clear, and that the projects remain aligned with it. But in large programmes, he/she will in principle not be personnally involved in the writing of functional specifications. He/she might not even be involved in the approval of these specs. He/she "just" has to ensure that the many projects are able to get it right.

  • But your article describes a small team and a "programme manager" who'd write the specs. This seems not to be the "programme manager" as generally understood. It seems to be more a traditional project organisation, where the project manager cumulates the role of lead analyst.

This approach is also still in use, but I think that "project manager" is the name that most of us would give to such role.

However the trend, is to go more for agile approaches, with "product owners" replacing the traditional "project managers" in a less hierarchical way. The specs are then worked out collaboratively in form of user stories, the product owner playing the role of business advocate to validate the stories and the priorities.

  • I've worked in one place where they had programme managers. they were above project managers but below dept heads
    – Ewan
    May 7 '17 at 12:28
  • 1
    @Ewan I confirm this viewpoint: this is what I meant with "manage and coordinate all the interdependent projects". Project managers report to the programme manager. However, in a matrix organisation, the "report to" doesn't necessarily mean "is a subordinate of" .
    – Christophe
    May 7 '17 at 12:41
  • 1
    Thanks for the comprehensive answer. I know that the exact name "Program Manager" probably means quite a few things, depending on who you ask. That's why I included the article. I do like the idea of a person, who is responsible for the "shaping" (in lack of better words) of the product, but without being a dictator who just sits in his throne and tells people what is going to happen... May 8 '17 at 7:39
  • Read the article, this is actually the wrong answer. Joel isn't describing the Programme Manager role but something more like a lead Solution Architect or product manager. Someone to champion the product
    – mcottle
    Jun 19 '17 at 3:16

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.