In this lesson, you’re expected to learn about:
– project planning methods
– project estimating methods
Typically, a project plan is used to manage and control project implementation and includes performance measurement baselines for schedule and cost, major milestones, major deliverables, major assumptions, target dates, and risks and contingencies associated with the project.
By tracking cost, schedule, and technical performance, a project team is aware of potential problem areas and is able to determine any impact of the deviation and decide whether corrective action is needed.
Regular review of the status of cost, schedule, and technical performance goals by individuals outside the project team allows for an independent assessment of the project and verification that the project is meeting stated goals.
Project Planning, Scheduling and Controlling
Plans should be separated from scheduling and estimating should be a part of planning.
Project planning is the act of stating what activities must occur in a project and in what order these activities must take place.
Project scheduling follows planning and is defined as the act of producing project timetables in consideration of the plan and costs.
Project controlling is ensuring that plans are accomplished.
The correct sequence is:
Planning -> Estimating -> Scheduling -> Controlling -> Reporting
After management has approved the project, it is important to estimate the size of the project in terms of time, scope, quality, and resources, which becomes a basis for project planning and controlling work.
The time element is related to project complexity, staff training needs, and staff communication complexity.
The scope element is related to project size, its difficult level, and the number of affected internal departments and external parties to coordinate.
The quality element is related to how well the project requirements are defined, understood, and budgeted.
The resources element is related to human resources (e.g., number of people, their experience, and their performance levels) and computing resources (e.g., computers, their memory, and their storage).
The project plan should specify key points within the project, products to be available at these points, and threats to the delivery of these products at the predicted time. Detailed knowledge of project planning components is essential.
Need for a Project Plan
The project plan is a document that describes how the project manager plans to conduct project work. It must define tasks and the resources required to complete the project. Regardless of the size, every project needs to have a plan that clearly defines what is to be accomplished, specifies by whom and when it will be performed, and indicates how much it will cost.
The plan defines responsibilities and accountabilities for the people who are involved. The project plan should be viewed as a living document, meaning that it will be updated as needed.
Specifically, the planning document needs to have the following items in place:
Milestones are a list of major checkpoints for progress review and measurement of work. Milestone charts show achievements by plotting activities against time.
Most project activities can be defined with start and stop points and with clearly measurable deliverables. Each project must have objectives and goals to be achieved with resources assigned to it. Management needs to know what parts of the project
are most likely to cause serious delays.
This knowledge will lead to management actions that achieve project objectives and deadlines. Deliverables define the specific outcomes (i.e. tangible work products) to be achieved and periodic status-reporting informs management whether agreed-on deliverables will actually be delivered on the expected date.
Once approved by management, the project plan becomes a baseline document, which is a starting point for future changes. Any subsequent changes require management approval, thus bringing discipline and structure to the process of change.
Also, any subsequent changes will be compared to the baseline, where the latter becomes a standard.
Many assumptions go into the development of a project plan, since the project manager is constantly faced with many uncertainties. Assumptions are required for a good understanding of the project direction.
These assumptions need to be spelled out in detail so that the next project manager understands them clearly for reformulating the plan. Management also needs to know what these assumptions are prior to their approval of the project. Wrong assumptions may cost time and money, in addition to causing poor quality.
Such assumptions include:
• Responsibility for providing test data
• Availability of computer time
• Critical schedule milestones
• Programming languages, automated tools, and physical facilities to be used during the project.
Every project has risks, although risk levels vary from low to high. Significant risks or exposures that may delay or jeopardize the project should be documented and explained. Management is interested in knowing the risks so that they can allocate resources to reduce or eliminate them.
Project tasks depend on each other. The schedules and inter-relationships of the tasks and the order in which they must be completed should be included in the project plan.
If the starting of task C depends on the completion of tasks A and B, this must be stated in the project plan, since doing it in any other way causes quality problems and results in out-of-sequence work.
No matter how carefully the project plan is put together, deviations or disasters occur. Prudent management will plan for contingencies to handle disasters and deviations. Contingencies require allocating additional resources (people, time, money, and facilities) over and beyond the required ones as a cushion against any unpleasant or unexpected outcomes.
8) Network Diagrams
A network diagram showing what tasks can be done in parallel and what tasks can start only when others are completed helps the project manager plan better.
Network diagrams show the time sequence of tasks and how they are related to each other. Techniques such as work-breakdown structure (WES) and milestones provide input to the development of network diagrams.
If estimations deviate too much, it causes the project to go over budget, and time delays lead to user dissatisfaction. Therefore, proper care should be taken during estimating. The element of uncertainty has a major impact on estimating.
Any change in one component affects the other three. Thus, decisions must be made after considering these four components together.
Many development and maintenance tasks are sequential and cannot be arbitrarily compressed or reorganized. Understanding the nature of tasks makes it possible to estimate minimum effective task duration.
It is important to allocate more time to certain activities, such as requirements analysis and design work. Design deficiencies are much cheaper and easier to fix when discovered early rather than during the testing or implementation stage.
Any changes in these factors affect the scope of the project, which in turn affects other factors, such as quality, time/cost, and resources.
The number of system interfaces, and the number of people involved in a project, affects cost as software size increases.
Difficulty of Product
Project staff productivity varies with the difficulty level of the system being developed or maintained. Some types of applications tend to be more difficult than others. The type of software function also influences development difficulty.
Four major criteria exist for determining reliability of software. It must (1) provide continuity of operations, (2) utilize uniform design and implementation techniques, (3) produce accurate output, and (4) be easy for users to understand.
Project costs are determined to some extent by the type of programming language used. For example, second-generation programming languages are more expensive to use than third- or fourth-generation languages. Development and maintenance costs should both be considered here.
It is generally accepted that a project with the application of structured methods costs less than one with unstructured methods. The scope of the structured methods includes use of top-down design, programming, and the testing and use of structured walkthroughs.
Automated tools such as compilers, database managers, flowchart packages, utility programs, test data generators, and test drivers affect time and cost factors. Costs associated with tools are a function of tool complexity, features, use, and maturity. Automated tools may reduce the time required, if the staff knows how to use them, or they could increase the time, if the staff is not experienced with their use.
This practice not only increases quality but also leads to accurate costing. Removing unnecessary constraints on project members and stabilizing requirements also increase the quality of the end product.
Factors such as number of people, experience of people, and individual performance should be taken into consideration for estimating human resources.
On the other hand, computing resources include the availability of computer time for development work and automated tools required during development and maintenance.
Too many people on one project may decrease productivity and increase communication problems. On the other hand, too few people will increase the project’s elapsed time and further delay the project’s completion date. The right number of people should be estimated.
• Experience of people
Although there is no direct correlation between years of experience of the project staff and productivity, it has been found that experience with a similar project increases
Since individuals vary in their performance levels, this factor must be given higher importance in estimate. It is variability in
performance that may decide the success of the project.
• Computing resources
The amount of computer time required for a given development effort is easily underestimated. Both development and operations time must be accurately estimated.
Both quantitative and qualitative methods are in use to estimate project variables such as time, resources, and cost. No single method is complete; instead, a combination of methods is suggested.
Quantitative methods include models based on techniques such as regression analysis (a method of parametric modeling). The regression method expresses a quantifiable relationship between dependent and independent variables for the current or historical system. New cost estimates may then be made for the new system, using relationships from historical data.
It should be remembered that models are subject to unreliable and biased results. This may be minimized by performing a detailed decomposition of project tasks so that ambiguities are removed.