Thread: Общие вопросы (General Questions)/What do project managers do all day?

What do project managers do all day?

Original:


stackoverflow.com/questions/229257/what-do-project-managers-do-all-day/233610#233610


Some very good answers here and whilst realising that chances of a serious non-superficial response posted rather late being up voted are fairly low I will still give it a try. If you really interested in what actual responsibilities of a software project manager are please read on.


You already know that a project is usually an attempt to accomplish a unique goal. It has a beginning and an end, constraints of time, budget and quality. The projects nature by definition is very much temporary as opposed to the process that keeps going all the time. Unfortunately, it is unusual for a bunch of people with very different agendas and from different backgrounds just to come together, get hold of resources, and achieve a pre-set goal within time constraints, on budget, and of an acceptable quality. Not within the business environment anyway and not without some co-ordination, negotiation, not when things constantly go wrong and the goal is not something each one of them will personally benefit from. And the job of a project manager is to make this effort happen in a safe, predictable and efficient manner and as the result hit the initial goal, solve the original problem or, when the goal changes in due course, to make sure it does not change just randomly or unreasonably or does not have any correlation with the original goal. The ultimate job of a project manager is to make sure that all this effort and resources are not wasted.


There is a framework to it, pretty much as we developers have our own frameworks we apply to all sorts of problems. For ease of understanding any project can be divided into five phases: definition, planning, organising, execution and closure. In real life they heavily overlap and any software development project goes through them more than once. Here are the things a software project manager is supposed to make sure happen as part of each of the stages:


Definition: what are we going to build?



        

  •     

    What software or feature are we going to build, what worry do we need to address or what opportunity to exploit?


        

  •     

  •     

    Is it financially viable?


        

  •     

  •     

    Technically feasible?


        

  •     

  •     

    How does it fit into larger context such as competition, long term strategic horizon, other opportunities and worries, legal issues or standards etc, social impact, political impact, political forces involved, environment?


        

  •     

  •     

    Who are the people and organisations who will get affected? Who is going to support us and who is likely to oppose?


        

  •     

  •     

    Are there any dependencies on other projects or important deadlines to meet?


        


Planning: how are we going to achieve the goal?



        

  •     

    What is exactly that we need to deliver (software, documentation etc) and when? When do we need to deliver each of these things?


        

  •     

  •     

    How are we going to get the funding? How much money and when should flow in and out?


        

  •     

  •     

    Who, when and for how long is going to be needed on the team? How are we going to get hold of them?


        

  •     

  •     

    What platform to use? What tools to use? How are we going to set up the development and test environments?


        

  •     

  •     

    How are we going to make sure that as we proceed the thingy we are building is actually what users want and it is reasonably defect free?


        

  •     

  •     

    What can go wrong and how likely? What is going to be the impact on what we do? How can we make sure we know about it coming as early as possible? How are we going to address if it happens (design round this issue altogether, outsource responsibility for this piece to someone external staight in the beginning and let them handle it, buy insurance, buy COTS, plan enough time or resource to address the issue if it happens, have a plan B, just accept the probability and hope it doesn’t happen)?


        

  •     

  •     

    How are we going to communicate? Within the team and to the external people? How often? How are we going to turn foes into friends or at least get them out of the way? Who is a friend? How we going to help them to help us? What is about John, he often works from home?


        

  •     

  •     

    We know that things are going to keep changing as we go along and discover new problems and possibilities. Hell, the whole thing is likely to take that long to build that the outside world is inevitably going to change, that’s for sure. How are we going to handle it? How are we going to make sure we stay on course and the course is relevant to the environment?


        

  •     

  •     

    And by the way, as a result we need 15 variants of that bloody product, all slightly different. How are we going to make sure that each one is working and consistent and keep the entire effort reasonable, how are we going to manage configurations?


        

  •     

  •     

    How are we going to get certification for the product to go on the market and make sure “Mums for Justice” approve of it?


        

  •     

  •     

    And we need to keep record of any expenditure, since the VC wants to know that we are spending reasonably.


        

  •     

  •     

    What development process to use? Would it make sense to specify as much up front as possible since we’ve got to forward some requirements for the hardware team, or do many small iterations to make sure we build that kids really love or chunk all the risky and uncertain technology stuff straight into the beginning of the schedule and create a little proof of the concept first?


        


Organising: making sure everything planned so far can happen.



        

  •     

    Agreeing with Bill that he will assign John and Cathy to the project


        

  •     

  •     

    Getting the development environment up and running


        

  •     

  •     

    Signing agreements that need to be signed


        

  •     

  •     

    Setting up online forum and the issue tracking database


        

  •     

  •     

    Getting these kids over for some user tests


        

  •     

  •     

    Making sure that right people attend right meeting


        

  •     

  •     

    Making infrastructure team order a new computer for Katie in time for the start of the project, following up endlessly


        

  •     

  •     

    Giving a call to certification committee: please send us the materials.


        

  •     

  •     

    Writing to the lawyers to draft up a user agreement


        

  •     

  •     

    Etc.


        


Executing: are we on track, what do we need to do next?



        

  •     

    Following up


        

  •     

  •     

    Monitoring: are we on schedule, within budget? Is quality ok? Are we confident the goal is achievable? Did everything we planned to happen up till now have actually happened? Didn’t? What would be the remedy? Who should I inform?


        

  •     

  •     

    Making sure information flows.


        

  •     

  •     

    Tackling deviations from the original plan: re-negotiating features, resource, deadlines, cost, and quality with everyone concerned.


        

  •     

  •     

    Deciding what to do if something we were afraid could happen has actually happened and what if happened something we didn’t anticipate?


        

  •     

  •     

    Help John and Cathy reach some decision on that important technical issue without harming furniture or each other or compromising on the product quality.


        

  •     

  •     

    Telling Bill that no, he can’t have John for couple of days to repair installation of MS Windows on his home PC.


        

  •     

  •     

    Co-ordinating


        

  •     

  •     

    Expediting, it seems that Katie needs a little help to start herself going in the mornings


        

  •     

  •     

    Cathy seems to be concerned by something and that really affects her performance, could that be the argument with John? Is it a home related issue? May be she needs some time off work, how is it going to affect the schedule?


        

  •     

  •     

    John is a great lad, but no, it is not acceptable to take that shortcut and we need to redo the entire piece. Need to mentor him, so he has some firmer inner guidance on these issues in the future.


        

  •     

  •     

    Reacting on the most recent “Mums for Justice” stance.


        

  •     

  •     

    Keeping the team spirits up.


        

  •     

  •     

    Asking VC to tell Bill, that it is really not ok to grab John for couple of days to repair installation of MS Windows on his home PC.


        

  •     

  •     

    Asking VC for extra money and justifying the cause.


        

  •     

  •     

    Getting an external consultant to help with the important issue that John and Cathy was talking about since it actually outside of our area of competence.


        


Closure: making sure we’ve reached a clean end.



        

  •     

    Archiving the documentation.


        

  •     

  •     

    Making sure deliverables are signed off and taken over by the customer.


        

  •     

  •     

    That the knowledge is transferred to the support team and all known issues go into maintenance.


        

  •     

  •     

    Making sure everyone got paid.


        

  •     

  •     

    What have we done really well, what do we need to improve next time?


        

  •     

  •     

    Dispose of any resources not longer needed.


        

  •     

  •     

    Good news need to go into press or company blog.


        

  •     

  •     

    Hey, we having a party!


        

  •     

  •     

    Generally tying up any loose ends, including signing a peace treaty with Bill; at least till the next time.


        


So it looks as if a project manager’s job mostly consists of answering everyone’s questions and making sure the right things do happen and wrong things don’t. And since the stages always overlap and often mix, and many project managers run several projects (that are at different phases) and additionally many software development project managers wear several hats at a time (i.e. BA or QA etc) the actual list of tasks is anything but boring.


By the way, many thanks, if you got to this point reading my reply. Means that it was really worth writting it.