Project Scheduling and Tracking Instructor: Dr. Jerry Gao

advertisement
Project Scheduling and Tracking
Instructor: Dr. Jerry Gao
Project Scheduling and Tracking
- Basic Concepts
- Relationship between People and Effort
- Defining A Task Set for the Software Project
- Degree of Rigor
- Defining Adaptation Criteria
- Computing A Task Set Selector Value
- Selecting Software Engineering Tasks
- Refinement of Major Tasks
- Defining A Task Network
- Scheduling
- Timeline Charts
- Tracking the Schedule
- The Project Plan
Jerry Gao, Ph.D. Jan. 1999
Project Scheduling (Basic Principles)
Software project scheduling is an activity that distributes estimated effort
across the planed project duration by allocating the effort to specific
software engineering tasks.
First, a macroscopic schedule is developed.
---> a detailed schedule is redefined for each entry in the macroscopic
schedule.
A schedule evolves over time.
Basic principles guide software project scheduling:
- Compartmentalization
- Interdependency
- Time allocation
- Effort allocation
- Effort validation
- Defined responsibilities
- Defined outcomes
- Defined milestones
Defining A Task Set For The Software Project
There is no single set of tasks that is appropriate for all projects.
An effective software process should define a collection of task sets, each
designed to meet the needs of different types of projects.
A task set is a collection of software engineering work
-> tasks, milestones, and deliverables.
Tasks sets are designed to accommodate different types of projects and
different degrees of rigor.
Typical project types:
- Concept Development Projects
- New Application Development Projects
- Application Enhancement Projects
- Application Maintenance Projects
- Reengineering Projects
Obtaining Information
Degree of Rigor:
- Casual
- Structured
- Strict
- Quick Reaction
Defining Adaptation Criteria:
-- This is used to determine the recommended degree of rigor.
Eleven criteria are defined for software projects:
- Size of the project
- Number of potential users
- Mission criticality
- Application longevity
- Ease of customer/developer communication
- Maturity of applicable technology
- Performance constraints
- Embedded/non-embedded characteristics
- Project staffing
- Reengineering factors
Defining A Task Network
Individual tasks and subtasks have interdependencies based on their sequence.
A task network is a graphic representation of the task flow for a project.
Figure 7.3 shows a schematic network for a concept development project.
Critical path:
-- the tasks on a critical path must be completed on schedule to make the whole
project on schedule.
T7
T1
T8
T2
T5
T3
T4
T6
Scheduling
Scheduling of a software project does not differ greatly from scheduling of any multitask
engineering effort.
Two project scheduling methods:
- Program Evaluation and Review Technique (PERT)
- Critical Path Method (CPM)
Both methods are driven by information developed in earlier project planning activities:
- Estimates of effort
- A decomposition of product function
- The selection of the appropriate process model
- The selection of project type and task set
Both methods allow a planer to do:
- determine the critical path
- time estimation
- calculate boundary times for each task
Boundary times:
- the earliest time and latest time to begin a task
- the earliest time and latest time to complete a task
- the total float.
Timeline Charts (Gantt charts)
Work tasks
Task 1
Sub-task 1.1
Sub-task 1.2
Sub-task 1.3
Task 2
Sub-task 2.1
Sub-task 2.2
Task 3
Sub-task 3.1
Sub-task 3.2
Task 4
Sub-task 4.1
Sub-task 4.2
Sub-task 4.3
Task 5
Sub-task 5.1
Sub-task 5.2
Week 1
Week 2
Tracking the Schedule
The project schedule provides a road map for a software project manager.
It defines the tasks and milestones.
Several ways to track a project schedule:
- conducting periodic project status meeting
- evaluating the review results in the software process
- determine if formal project milestones have been accomplished (Figure 7.4)
- compare actual start date to planned start date for each task
- informal meeting with practitioners
Project manager takes the control of the schedule in the aspects of:
- project staffing
- project problems
- project resources
- reviews
- project budget
The Project Plan
The software project plan is a relatively brief document that is addressed to a diverse audience.
It must consists the following:
- communication scope, resources, staffing, and customer
- define risks and risk management techniques
- define cost and schedule for management review
- provide an overall approach to software development
- outline how quality will be ensured and change will be managed.
The plan concentrates on a general statement of what and a specific statement of how much
and how long.
The purpose of a project plan is:
-> help establish the viability of the software development effort.
The project plan need not be a lengthy and complex document.
Download