350 likes | 535 Views
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:.
E N D
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 project • 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 • boundariesinclude: • 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
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)