At the beginning there was the Project Manager, an oligarch owning every activity within his domain and responsible to all.
Yet those people are expensive, and one needs a wide spectrum of skills needed to deliver a big project successfully. Read about Admiral Rickover as a good example.
It’s also hard to be profitable in a onetime project since the risks of doing a one-time bespoke activity to a specific deadline are high. It’s better to develop a product you match to different clients, so you have production line in which you can automate activities and reduce the customization as much as posible. This brought in the Product Manager who took the responsibilities relating to the product functional definition through its lifecycle as well as market access.
Then, due to the lack of physics of software development and human bounded rationality, Scrum methodology was developed to produce value in small human incremental steps so we the people with short attention span and memory can deal with large development efforts.
Scrum like all religions defined some rituals to hold its believers firmly in G*d trust, as well as some clerical duties and priesthoods, like Scrum Master to hold the comunal rituals as well as Product Owner to represent the will of G*d (or in this case the will of the customer) as depicted in the backlog scroll.
So, the old Project Manager was left with dealing with the non-functional aspects such as intra-team coordination, budgets and time constraints, and sometimes replaced by a PMO (Project Management Officer) who looked at all the non-functional activities in the organization. While the Product manager became more like Marketing professional, gathering frequent flyers’ miles while promoting the product and monitoring the PNL and growth matrix.
And now the COO became the project manager.
A more detailed article on those jobs’ descriptions, (and less humoristic one).