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