Project Tracking and
Scheduling
Infsy 570
Dr. R. Ocker
Project Tracking and
Scheduling
What are some reasons why software is delivered late?
How can you handle unrealistic software deadlines?
How do software projects fall behind schedule?
Brooks: “One day at a time.”
Common myth:
If/when fall behind schedule, throw more bodies onto the project in order to catch up.
problem with this:
– learning curve, increased complexity (i.e. more communication paths)
project manager’s objective
define all project tasks identify tasks lying on the critical path track progress of critical tasks
sw project scheduling
distributes estimated effort across the project duration by allocating effort to specific sw engineering tasks
schedule evolves over time
– early stages of project planning macroscopic schedule is developed
– - identifies major activities
– as project progresses - macroscopic schedule refined into a detailed schedule
– specific tasks are identified and scheduled
Two perspectives of scheduling
1.end-date for software release already established
2.end-date set by swe team
Some basic principles of swe scheduling:
time allocation
– allocate number of work units (e.g. person days of effort) to each task
– assign start and completion dates
effort validation
– ensure that no more than the allocated number of people are allocated at any given time
defined responsibilities
– assign every task to a specific team member(s)
Some basic principles of swe scheduling:
defined outcomes
– every task must have a defined outcome ( e.g. design of a module)
defined milestones
– every task should be associated with a project milestone
– milestone - accomplished when work products have been reviewed for quality and approved
Effort Distribution
general guideline - 40-20-40 rule
40% or more of all effort allocated to analysis and design tasks
40% of effort allocated to testing
20% of effort allocated to programming
characteristics of each project dictate the distribution of effort
Defining a task set for the sw projec t
process model populated with a set of tasks (i.e., task set) that enable the sw team to define, develop, maintain the software
task set
collection of swe work tasks, milestones, and deliverables that must be accomplished to complete a particular project
task set varies depending on project type and degree of rigor
Project types:
concept development projects
– initiated to explore some new business concept or application of new technology
new application development
– undertaken due to specific customer request
application enhancement
application maintenance
reengineering
– rebuild existing legacy system
Degree of rigor with which a process model is applied:
four different degrees of rigor
– casual
– structured
– strict
– quick reaction
refer to sections 7.3.1, 7.3.2, 7.3.3, and
7.3.4 to determine degree of rigor
Selection SWE tasks
each project can be approached using a process model that is linear sequential, iterative, or evolutionary
Refinement of major tasks
macroscopic schedule refined to create a detailed project schedule refinement begins by taking each major task and decomposing it into a set of subtasks, with related work products and milestones
Defining a task network
task network
graphic representation of the task flow for a project;
depicts major swe tasks take into consideration
task interdependencies
parallel tasks
critical path tasks
Scheduling
2 project scheduling methods applicable to SWE
PERT - program evaluation and review technique
CPM - critical path method
CPM & PERT
both provide tools to
1. develop critical path
2. establish most likely time estimates
3. calculate boundary times that define a time window for each task
boundaries include:
earliest time for task to begin
latest time for task to begin
earliest completion time for task
latest completion time for task
tasks - called work breakdown structure
(WBS)
timeline charts:
to create a project schedule, begin with set of tasks (WBS) effort, duration and start date are determined for each task
assign tasks to individuals
develop a Gantt (timeline) chart
see fig. 7.4
project tables:
tabular listing of all project tasks, their planned and actual start and end dates use in conjunction with timeline chart to track project progress
see fig. 7.5
Tracking the schedule
different ways to track a project:
each team member periodically reports progress
evaluate results of reviews
determine whether formal project milestones have been accomplished by scheduled date
compare actual start date to planned start date
get team members’ assessment of progress to date
Software Project Plan
produced at the end of the planning tasks provides baseline cost and scheduling information relatively brief document communicate scope and resources to sw management, technical staff, and customer define risks define cost and schedule for management review provide overall approach to development outline how quality will be ensured and how change management will be managed
Project Description and Team
Composition:
1.Each team must identify a potential project and write-up a project description which contains the following:
(a) a description of the need for a new system
What is the business problem that the software will address?
(b) a description of the proposed project and its scope
What are the basic functions that the software will encompass?
Project Description and Team
Composition:
(c) a description of the setting and users
What type of business will use the software?
Who will use the software?
(d) platform
What type of hardware will the system “run on”?
What programming language will be used to build the software?
Project Description and Team
Composition:
2. Identify team membership
I suggest you begin brainstorming about your topic and team composition over
FC ASAP.
Due Date: Friday 2/26 enter into
Class News conference on FirstClass
Late Penalty:5 points per day
Project 1: Planning and
Estimating (Software Project Plan)
A. Project Scope and Objectives
1.Statement of Scope - establish and bound project scope
2.Major Functions
3.Performance issues
4.Management and technical constraints
5.Interface considerations
6.Reliability considerations
B. Project Estimates (estimates of effort, cost and project duration)
1.make 2 estimates of cost and effort using any combination of:
LOC, FP, COCOMO, Process based estimation, other document any assumptions you make
2. reconcile estimates
B. Project Estimates (estimates of effort, cost and project duration)
3. estimate resources (hw/sw tools, reusable components, people) for each resource, include: a. description of resource b. statement of availability c. chronological time resource will be required d. duration of time resource will be applied
C. Process Model Selection and
Staff Organization
1. Identify a Process Model to be followed throughout development.
2. Select the team structure
D. Metrics
1. Determine several metrics to measure:
quality of resulting software
effectiveness of process used to develop software
2. Describe how their measurement will be integrated into the development process
E. Project Schedule
1. Identify project work breakdown structure for projects 2 & 3
2. Develop a Macroscopic Task
Network for projects 2 & 3
3. Develop a Gantt Chart for projects 2
& 3
4. Develop a Resource Table for projects 2 & 3
F.
Risk Management
1. Identify risks to be managed
2. Discuss how these risks will be monitored
G. Tracking and Control
1. Set up a tracking system (develop spreadsheet model or use some other software)
2. Identify process for managing change requests during project 3 and remainder of development effort
H. Appendices
Include supporting details in appendices
Suggested Due Date:
April 1 (Thursday)