Wednesday, December 30, 2009

Human Resource Management

In this post we will clarify the high level roles and responsibilities of the project stakeholders.  Please note that it would easily be possible to write a whole book on this topic. A good starting point for more detailed information is here

Project Sponsor
  • accepts the product of the project
  • might set milestones, deliverables and due dates
Senior Management (anyone above the project manager)
  • determines priorities (conflict of scope, cost and time)
  • protects the project
Project Manager
  • must have the necessary authority to accomplish the work
  • leads and directs the project planning work
  • is responsible for the project but not necessarily for the project resources
Project Team
  • Identifies assumptions, constraints, dependencies and risks
  • creates the work breakdown structure including cost + effort estimates
The Responsiblities in a project should be captured in a RACI chart. This requires considerable work upfront but will payoff with less confusion later in the project.
According to PMI the Project Manager has different powers that he/she can use to get the project team to perform. The options that will help the most are
  1. Expert knowledge of the Project Manager
  2. Strong support of the project manager and/or project by management
The level of authority for the Project Manager may vary depending on the form of organization ( and determines which conflict resolution techniques the Project Manager can use.
In general it is advisable to strive for a consensus solution. It will take time and it will be challenging and stressful but produce the best long term outcome for the project. To be effective as a project manager also means to be personally effective. A very good start into this topic is Stephen R. Covey's "7 habits of highly effective people"

There are multiple motivation theories that the project manager should also be familiar with to determine what is most important for the project stakeholders at a given point in time. Good people skills are key to be successful in this area.

Thursday, December 24, 2009

Cost Management

Project costs are closely linked to time management. In order to control the costs it is crucial to have a good time management in place. In the last post we looked at Time Management and noted that
  • estimates should be done by people who do the work
  • for estimating tasks/WBS we should use historical information if possible
In connection with cost management we should add
  • costs should be managed to estimates (that applies also to time, scope and resources)
  • a cost baseline should be kept and only be changed when an approved project change occurs
  • corrective measures should be taken once we determine that we encounter cost issues
From a Project Management point of view it is important to look at cost, time and scope (triple constraint). To practice this in a real project the Project Manager should not just accept time and cost requirements from Management. The Management guidelines will set a framework. It is up to the Project Manager to confirm these guidelines or reconcile any differences. In case of differences the communications management will be a key success factor.

The following input is needed before a cost estimate can be created
  • Work Breakdown Structure (WBS) incl. tasks
  • Timeline (Network diagram) that shows how the project will flow from end-to-end including all dependencies
  • available Resources (in-house, contractors etc.)
  • Risks associated with the project (e.g. Risk Management Plan)
The output of the cost estimate should be a cost management plan.
The following cost estimating methods are common
  1. Analogous estimates - Managers provide estimates based on similar projects or previous experience
  2. Bottom-up estimates - Subject Matter Experts provide estimates
There are several more methods (e.g. parametric estimates, computer estimating tools, earned value analysis) to come up with cost + time estimates.
Once we have the cost estimates we can distinguish between the following types of cost:
  • variable cost - cost that changes with amount of work or production (e.g. material cost)
  • fixed cost     - cost that does not change with amount of work or production (e.g. car rental)
  • direct cost    - cost that can be directly attributed to the project (e.g. wages)
  • indirect cost  - overhead costs (e.g. taxes)
For the project manager it is important to understand how good or bad the estimates are that they get. During the initiating phase an estimate will most likely be less accurate since not enough or inaccurate information is available. This first estimate though sets the expectation and hence it is important to communicate at least if this requirement requires a large, medium or small effort. And yes, you need to specify what large, medium and small means (e.g. <=10 days development --> small).
Be careful with this first feedback. Try to understand the requirement good enough to set the expectations correctly, NOT to provide an accurate estimate.

As the project moves forward more information becomes available and the estimates need to be refined (the estimate becomes more accurate). It is up to the Project Manager to provide an overview of ALL requirements and their related estimates. At that point a prioritization will most likely be needed since not all requirements can be addressed within the projects time, cost and scope limits.

It is the Project Managers responsibility to ensure the project sponsor (and other stakeholders as needed) have phase appropriate information about costs to ensure a successful project. This requires a good communication management. Note that without good communication a lot of the other areas become less valuable. Communication is the glue that holds all project management pieces together!

Saturday, December 19, 2009

Time Management

There are multiple factors that influence how a project needs to be scheduled.  One of the first criteria is how the project go-live date is determined.  
  1. Do you get a go-live date from the project sponsor and/or other project stakeholders?
  2. Do you determine the go live date yourself?
In case #1 it will be necessary to calculate the time backwards from the go-live date.
In case #2 it is possible to calculate the time forward.

Many project managers will use some project management software (e.g. MS Project) to do the Time scheduling. The Software is helpful but only as good as the data that is used for it. Hence the correct Task creation and the Task duration estimate are key to a successful scheduling exercise.

In order to schedule the tasks first a Work Breakdown Structure with tasks needs to be setup.Then a time estimate for each task needs to be created. The time estimate should be created by people that do the work. This is not the task of the Project Manager! To ensure the best accurate time estimate it is important to get time estimate from multiple experts.
A known issue is that projects are either scheduled
  1. too aggressively or
  2. too cautiously
In case #1 the estimate always assumes the best possible case. This is not realistic. Every project will encounter issues that were not planned for.
In case #2 the estimate always assumes the worst case.  This is not realistic either. You need to plan with the data that you have but expect that changes will occur.
It is the responsibility of the Project Manager to come up with a realistic estimate.

Estimates for Software Projects usually come from
  • Guess from Experts (ideally from several experts independently and on smaller tasks)
  • Historical project information
  • Benchmarks - if available to compare with other companies
The following estimating methods are available
  • Critical Path Method (CPM) - one time estimate per activity
  • Program Evaluation and Review Technique (PERT) - has 3 time estimates per activity (optimistic, pessimistic, most likely)
  • Monte Carlo Simulation. From a practical point of view this is the least common method.

    In many projects there will not be enough time to get experts to estimate all tasks with 3 estimates independently. Hence the most common estimating method is CPM. If this method is used together with historical data the estimates should get more accurate over time.
The scheduling tools are
  • Milestone charts     - show only major events (0d duration)
  • flowcharts                - depict workflow and process flow. Used for quality
  • Bar (Gantt) charts  - good for reporting and control. Not recommended for planning
  • Network diagrams  - shows interdependencies of tasks. Recommended planning tool (see this link for detailed information)
Another important consideration for your scheduling work is the Software Development Methodolgy that is used. For traditional big waterfall projects the scheduling can be fairly challenging vs. the scheduling of smaller junks for agile project management is easier to manage. We will get to that topic in more detail in another post.

Saturday, December 12, 2009

Scope Management (High Level Overview)

This is all the work and only the work that is needed to complete a project successfully. The Project Manager needs to check constantly that all agreed upon work is completed on time. Scope Management also means that no additional work is added to the project. Yes, that's right. The objective is to give the customer what they ask for. Make sure you really understand this point in order to become or stay a successful project manager.

Projects can be selected in a number of ways and the selection process varies widely depending on Company size, Industry and some other factors

 
Example: Small Company
  • Business Owner decides that a certain functionality is needed and puts a project team together

Example: Mid- + Large Companies
  • Return on Investment (ROI) calculations are put together by dedicated resources to make a case for starting a project
  • Management decides to fund a project based on policy guidelines from senior Management

See this link for a short, graphical overview of the different Project Selection Methods.
One key part at the beginning of a project is to define what the objective of the project is. For this purpose a Project Charter is used. Here is an example of a Project Charter .

The Project Charter should at least
  • Define what the project is
  • State authority levels for the project (e.g. determine budget, schedule, resources)
  • Define the Objective of the project
  • Explain why the project is being done
  • Describe the deliverables of the project
The Project Charter should be signed by senior level management to ensure appropriate cooperation from all project team members on a project. This is necessary because the project team, in most cases, does not report directly to the project manager in a corporate structure.

Over time the project scope will invariably change. To deal with this expected change in an organized fashion a change management process needs to be setup. Select this link to learn more about basic Change Management processes.

We already discussed the requirements part that is related to scope management (see blog post from November 9, 2009).

As part of Scope Management you should also
  • identify project success criteria
  • Get buy-off from the stakeholders on your project charter
  • Determine constraints – resources, budget, schedule, scope
  • Establish unambiguous and achievable goals
  • Setup the project in a Work Breakdown Structure (WBS)

Note: The potential for scope creep exists for every project. Therefore be very clear at the beginning of every project with the project charter and with your change management processes.

This requires some effort upfront but will pay off quickly through clear communication and less confusion.

Saturday, December 5, 2009

Communications Management

Communication is a critical part of every project. You should proactively prepare the project communication since this can make or break a project.
Based on experience many project managers neglect this part at the beginning of a project and then struggle with communication issues throughout the project.

Example: The update process for the Project Sponsor hasn't been clearly defined at the beginning of the Project. Now the Project Manager + Team have to go through multiple trial and error exercises to see what works best. Is it an email update? If yes what is supposed to be included there? Is the Project Sponsor detail oriented or does he/she only wants a high level overview?

These communication issues may negatively impact the general working relationship between the Project Sponsor and the Project Manager/Team.  This would be the last thing any project needs.
Conclusion:  To think about these communication related challenges proactively will ensure a smoother project.

The Communication Plan should include the following:
  1. Determine with whom you need to communicate. (some examples below)
  • Project Sponsor
  • Project Team
  • other Teams
  • vendors
  • Sub-contractors

    2.   Determine communication methods
  • formal/informal - (e.g. formal: status report, progress report, informal: phone conversation)
  • written/verbal - (see above)

    3.  Determine information that needs to be included (some examples below)
  • Project Status
  • Milestone Status
  • Priorities
  • Key Issues
  • Accomplishments
  • Next Steps

     4.  Determine reason why communication is needed (some examples below)
  • to prepare a project kick-off meeting
  • to setup the Test Plan

     5.  Determine how often you need to communicate (some examples below)
  • daily/weekly/monthly

     6. Determine how you should communicate (some examples below)
  • face-to-face meetings
  • teleconference
  • email
See an Communication Plan example below




Check this link from Steven Covey's "The seven habits of highly effective people" for more info concerning communication