WFU
Project management
Introduction
- Project: temporary endeavor that is undertaken to create a unique product or service
- Project management: application of knowledge, skills, tools, and techniques to project activities in order to meet or exceed the needs and expectations of stakeholder
- Project Management Processes:
- project initiation ⇒ project planning ⇒ project execution (tracking and control) ⇒ project closure
- umbrella processes: quality assurance, config management, require management
- Project failure: poor project planning, poor understanding of project requirements and deliverables, failure to use meaningful measures to track project progress
- Adding more staff to a project require more communication
- Productivity deteriorates substantially when working on more than 2 tasks
- Increase project oversight increase cost and will usually increase the schedule as well
Project Planning
- The key output is a document that we refer to as a project plan.
- Other outputs might include things like a risk management plan, a communications plan, and plans for supporting processes like quality assurance and configuration management.
- Minimal things that a project plan should communicate to all project stakeholders
- Specifying the characteristics of the product to be built
- The specific project deliverables that will be produced over the course of the project
- When the product will be delivered
- When the major tasks and milestones will be completed (A milestone is a reference point that marks a significant project event)
- How the project work will be done, usually by specifying a project life cycle and an associated set of work tasks
- Who is going to do the work, work responsibility matrix
Project estimation process
- Effort is measured in terms of how much time is required to perform project tasks. Typical units of effort are person-hours, person-days, person-weeks, person-months, or person-years.
- Sometimes size estimates are determined. Estimates of size might be the total number of lines of code that the software product is expected to have, or the total number of function points associated with the software product.
- Project cost is, of course, a very common thing that is estimated during the project planning process, as is the project schedule, which consists of the calendar time duration and specific calendar dates associated with major project components and overall completion date.
- Project Management:
- guesstimate is to make an estimate without using adequate or complete information
- dictimates meaning in the context of the survey was that dictated values for cost or dictated deadlines for schedules were used
- Estimate: an estimate is an approximate judgment or calculation about something
- accuracy of an estimate is “how close” the estimate comes to the actual result
- precision of an estimate is a “range of values” that you expect the actual result to fall within
- It’s a best practice to revise estimates periodically during the course of a project
Estimation Techniques
- Expert judgment: works best when there really are experts that can be called upon, when there is real historical information that can be accessed, when a structured process is used, and when the basis for the estimates is documented and communicated to project stakeholders
- Structured group technique: multiple estimators, who are typically experts, form the estimating team
- Delphi Method: The coordinator distributes project background information and estimating forms to each estimator. Each estimator prepares an estimate, anonymously, and documents their rationale. If they have questions, they may consult with the coordinator, but they can’t consult with each other. The coordinator then summarizes the estimates. If the coordinator determines that the estimates are close enough so that a reasonable range estimate can be formed, the process stops. Otherwise, the estimates and rationale are summarized and given to the estimators, and another iteration takes place. Estimators know the other estimates, and the rationale that others used, but they don’t know which estimators are associated with them
- Rule-of-thumb estimating: may not scale up across different sizes and types of projects because the ratios and productivity factors can be different
- Algorithmic estimating models: calculations or formulas that are typically based on estimates of software product size to provide estimates of effort, cost, or project schedule. In practice, to use some algorithmic models effectively historical data must be used to calibrate the models to organizational specifics, and some models require estimating or choosing a dozen or more parameters based on project and organizational characteristics. If historical is not available, the resulting estimates can be quite inaccurate.
- function point analysis model
- COCOMO(Constructive Cost Model) II
- activity-based estimation: This technique starts with what’s called a work-breakdown structure. A work-breakdown structure is a list of all the tasks that are needed to complete the project. They can be defined at a high level or at a very detailed level. Once the work tasks are identified, the effort associated with each task…usually measured in person-hours, person-days, person-weeks, or person-months…is estimated, along with the costs…which are primarily labor costs. Non-labor costs also need to be estimated in order to come up with a total project cost estimate. The next step is to analyze the dependencies between tasks. Finally, the tasks, the dependencies, and the effort estimates, along with the staff resources that are expected to be committed to the project are all combined to estimate the project schedule.
Activity Based Estimation
- Work breakdown structure: The work breakdown structure is a list of all the work that will be performed on the project. Each part of a project may have a different work breakdown structure, and each different group that collaborates on the project may have their own work breakdown structures.
Task Sequencing
- In task sequencing, we identify the dependencies between project tasks.
- The primary inputs are a list of the defined tasks, and any assumptions and constraints. Assumptions might be some of the same assumptions that went into the task definition process.
- The tools and techniques involved in the task sequencing process are primarily the identification of task dependencies and the construction of what is called a project network diagram.
Schedule Estimation
- Schedule estimation involves taking the task dependencies, effort estimates, project constraints, and resource assignments and estimating the calendar completion dates for key project tasks and the overall project completion date.
- On the input side, we have a project network diagram, effort estimates for at least the major work tasks, a list of available resources…namely people or job categories that will be assigned to the project.
- On the output side is a project schedule estimate, which would typically contain an estimate of the project completion date, and usually estimated completion dates for key project tasks and milestones.
- Project managers may employ special project planning techniques like PERT, which stands for Program Evaluation and Review Technique, and CPM, which stands for Critical Path Method.
Incorporating Uncertainty
- The three estimates are an optimistic estimate, a most likely estimate, and a pessimistic estimate.
Project Tracking and Control
- There are a number of ways to measure project status. Many professional project managers will use something called earned value tracking, cost and schedule variances, and cost and schedule indices.
- Earned value tracking uses three variables: the budgeted cost of work scheduled, the actual cost of work performed, and the budgeted cost of work performed…which is the earned value.
- The budgeted cost of work scheduled is the monetary value of the work scheduled to be accomplished in a given period of time. In other words, it’s what is scheduled to happen.
- The actual cost of work performed is the cost actually incurred in performing the work in that time period.
- The budgeted cost of work performed…or earned value…is the monetary value of the work that is actually accomplished in that time period.
- Cost variance is the difference between the budgeted cost of work performed (the earned value) and the actual cost of work performed.
- Schedule variance is the difference between the budgeted cost of work performed (earned value) and the budgeted cost of work scheduled.