Transcript Project Tracking and Scheduling
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)