Software Engineering (CSI 321) Project Scheduling 1.

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 SW Project Management (Planning & Tracking) Dr. Atef Z Ghalwash Faculty of Computers & Information Helwan University.
Lecture 9: Scheduling (Chapter 27) Mehran Rezaei.
1 Chapter 7 Project Scheduling and Tracking. 2 Write it Down! SoftwareProjectPlan Project Scope EstimatesRisksSchedule Control strategy.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
CSSE Oct.2008 Monitoring and reporting project status Chapter 10, pages
Chapter 24 Project Scheduling and Tracking
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
Section 4.0 Project Implementation. Factors that Ensure Success  Update the project plan  Stay within scope  Authorized change implementation  Providing.
Project Scheduling and Tracking
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Project Management and Scheduling
Chapter 24 Software Project Scheduling
Chapter 10 Project Monitoring and Control
Project Management Methodology Project monitoring and control.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
PROJECT SCHEDULING LECTURE NOTES
 Probably the most time-consuming project management activity.  Continuous activity - Plans must be regularly revised.  Various different types of.
1 ev14a Interactive Session 4 u Tuesday, July 17 7pm to 10pm u Build a sqa plan for the dental office software u Assume a 3-person, development team, a.
Software Project Management
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
1. Earned Value Analysis (EVA) Earned value is a measure of progress enables us to assess the “percent of completeness” of a project using quantitative.
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
Lecture 7 Project Scheduling and Tracking
Software Project Management Lecture # 7. Outline Project Scheduling.
Software project management (intro)
Software Project Management Lecture # 7. What are we studying today? Chapter 24 - Project Scheduling  Effort distribution  Defining task set for the.
1 Chapter 7 Project Scheduling and Tracking. 2 Project Scheduling   Includes   Task Sets   Concept Development   Project Tracking   Involves.
Software Engineering Lecture 7: Scheduling & Tracking.
Project Management Part 6 Project Control. Part 6 - Project Control2 Topic Outline: Project Control Project control steps Measuring and monitoring system.
Chapter 24 Software Project Scheduling - Introduction - Project scheduling - Task network - Timeline chart - Earned value analysis (Source: Pressman, R.
Project Scheduling 1. Why Are Projects Late? An unrealistic deadline established by someone outside the software development group Changing customer requirements.
Lecture 18: Chapter 27 Project Scheduling
Project Scheduling & Tracking. Why Software Is Delivered Late? An unrealistic deadline Changing but unpredicted customer requirements Underestimation.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Chap 4. Project Management - Organising, planning and scheduling
Software Project Management Lecture # 6. Outline Recap Remaining Topics of Chapter 23 Project Scheduling (Chapter 24)
1 Chapter 24 Project Scheduling and Tracking Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Monitoring Risk Factors General attitude of team members based on project pressures The degree to which the team is jelled Interpersonal relationships.
Project Management Why do projects fail? Technical Reasons
PROJECT SCHEDULING AND TRACKING
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Introduction To Earned Value November 14, Definition Earned Value is a method for measuring project performance. It compares the amount of work.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Project Scheduling. Why Are Projects Late? an unrealistic deadline established by someone outside the software development group changing customer requirements.
1 Chapter 24 Project Scheduling and Tracking Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Chapter 24 Project Scheduling and Tracking
Chapter 34 Project Scheduling
Project Scheduling.
For University Use Only
Software Project Management
Software Engineering Fall 2005
Software Project Management
Software Engineering (CSI 321)
What is project scheduling&tracking?
Software Project Management
SE Tasks for a Concept Development Project
Chapter 27 Project Scheduling
Chapter 34 Project Scheduling
Managing Project Work, Scope, Schedules, and Cost
Presentation transcript:

Software Engineering (CSI 321) Project Scheduling 1

Scheduling is the culmination of a planning activity that is a primary component of software project management. When combined with estimation methods and Risk analysis, scheduling establishes a road map for the project manager. 2

Project Scheduling One of the most difficult jobs for a project manager. Begins with process decomposition. It involves separating total work involved in a project into separate activities and judging the time required to complete these activities. Managers estimate time and resources required to complete activities and organize them into a coherent sequence. 3

Project Scheduling When estimating schedules, you should NOT assume that every stage of the project will be problem-free. – People may fall ill or may leave – Hardware may break down – Essential software/hardware may be delivered late If the project is new & technically advanced, Then certain parts of it may turn out to be more difficult and take longer than originally anticipated. 4

Project Scheduling: Why is it important? Today’s software systems are large, sophisticated and complex – Many software engineering tasks occur in parallel – Result of work performed during one task may have a profound effect on work conducted in another task. – Task interdependencies are very difficult to understand without a schedule – It is virtually impossible to assess progress on a large software project without a detailed schedule 5

Why Are Software Projects Late?  There are many reasons why software is delivered late…  An unrealistic deadline established by someone outside the software development group  Changing customer requirements that are not reflected in schedule changes  Risks not considered at the beginning of the project  Miscommunications among project staff resulting in re- work & delay  Honest under-estimation of the job 6

Why Are Software Projects Late?  Technical difficulties that could not have been foreseen in advance  Human difficulties that could not have been foreseen in advance  Project Management fails to track progress – – Unaware the project is in behind the schedule & in trouble – No corrective actions taken 7

What to do when face an Unrealistic Deadline? Perform a detailed estimate of effort and time using historical data Using an incremental process model, develop a strategy to deliver critical functionality by the deadline – document the plan Meet with the customer and explain why the project is late Offer the incremental development strategy as an alternative 8

Software Project Scheduling: The Basic Principles 1)Compartmentalization—Compartmentalize the project into a number of manageable activities, actions & tasks 2)Interdependency—Indicate task interrelationship 3)Time allocation- Each task must be allocated some no. of work units with start date & completion date 4)Effort validation—be sure resources are available 5)Defined responsibilities—Every task should be assigned to a specific team member 6)Defined outcomes—Each task must have an output (e.g. work product) 7)Defined milestones—Task(s) should be associated with a project milestone (A milestone is accomplished when one or more work products has be reviewed for quality and approved) 9

The relationship between People and Effort  “If we fall behind schedule, we can always add more programmers and catch up later in the project!” Why does this not work? – Added/new people must learn the system & learning takes time – Teaching takes time away from productive work – # of communication paths & Complexity of communication increase 10

The relationship between People and Effort Over the years, empirical data & theoretical analysis have demonstrated that project schedules are elastic – It is possible to compress a desired project completion date by adding additional resources to some extent – It is also possible to extend a completion date by reducing the # of resources The Putnam-Norden-Rayleigh (PNR) Curve provides an indication of the relationship between effort applied and delivery time for a software project. 11

Relation between effort & delivery time: The PNR Curve 12

Project Effort Distribution  How should effort be distributed across the software process workflow? A recommended distribution of effort across the software process is often referred to as the rule  40% of effort ==> “Front-end” (analysis & design)  20% of effort ==> Coding  40% of effort ==> “Back-end” (testing) 13

Project Effort Distribution  Generally accepted guidelines : % ==> Project Planning % ==> Requirements analysis % ==> Design % ==> Coding % ==> Testing and debugging 14

Defining Task Sets for Software Project Determine type of project – Concept development, New application development, Application enhancement, Application maintenance, and Reengineering projects Assess the degree of rigor required Identify adaptation criteria Select appropriate software engineering tasks ( Concept Definition, Project Planning, Risk Analysis, Implementation, Integrate and Test, Demonstrate) Define Entrance and Exit Criteria Define Progress Metrics Assign Responsibilities Allocate milestones 15

Define a Task Network A Task Network ( AKA Activity Network) is a graphic representation of the task flow for a project. A task network depicts each software engineering task, its dependency on other tasks, and its projected duration. – The task network is used to compute the critical path, a timeline chart and a variety of project information – The task network is a useful mechanism for depicting intertask dependencies & determining the critical path. 16

Define a Task Network 17 Fig. A Task Network for concept development

Scheduling Methods Two project scheduling methods can be applied to software development- 1)PERT-Program Evaluation and Review Technique 2)CPM- Critical Path Method Both techniques are driven by information already developed in earlier project planning activities – – Estimates of effort – A decomposition of product function – Selection of appropriate process and task set – Decomposition of task 18

Scheduling Methods Both PERT & CPM provide quantitative tools that allows software planner to – – Determine critical path –the chain of tasks that determines project-duration – Establish “most likely” time schedules for individual tasks (using statistical model) – Calculate “boundary times” 19

Timeline Charts When creating a s/w project schedule, the planner begins with a set of tasks (The work breakdown structure). If automated tools are used, work breakdown is input as a task network. As a consequence, a timeline chart is generated. A timeline chart (also called Gantt chart) can be developed for the entire project. Also, separate charts can be developed for each project function. A timeline chart enables you to determine what works will be conducted at a given point in time. 20

21 Timeline Charts Tasks Week 1 Week 2 Week 3 Week 4 Week n Task 1 Task 2 Task 3 Task 4 Task 5 Task 6 Task 7 Task 8 Task 9 Task 10 Task 11 Task 12

Tracking the schedule  Project schedule provides a road map for a software project manager. Project schedule defines the tasks & milestones that must be tracked & controlled as the project proceeds.  Schedule Tracking techniques used by Experienced Project Managers: – Conducting periodic project status meeting in which each team member reports progress & problems – Evaluating the results of all reviews – Determining whether formal milestones have been accomplished by the scheduled date – Compare actual start-date with scheduled start-date – Informal meeting with practitioners – Using earned value analysis to assess progress quantitatively. 22

Tracking the schedule Control is employed by a project manager to administer project resources, cope with problems, and direct project staff If things are going on well, control is light. If problems occur, project manager must exercise control to reconcile them as quickly as possible. – Diagnose the problem – Additional resources may be focused on the problem area Staff may be redeployed Project schedule can be redefined 23

Tracking the schedule  What is the indication of progress? – The best indication of progress is the completion & successful review of a defined software work product. 24

Earned Value Analysis (EVA) Earned value – – is a measure of progress – provides a quantitative indication of progress – enables us to assess the “percent of completeness” of a project using quantitative analysis Earned Value Analysis (EVA) is a quantitative technique for assessing progress. – The total hours to complete the entire project are estimated and each task is given an earned value based on its estimated percentage contribution to the total. 25

Computing Earned Value The budgeted cost of work scheduled (BCWS) is determined for each work task represented in the schedule. – BCWS i is the effort planned for work task i. The BCWS values for all work tasks are summed to derive the budget at completion, BAC. Hence, BAC = ∑ (BCWS k ) for all tasks k 26

Computing Earned Value Next, the value for budgeted cost of work performed (BCWP) is computed. – The value for BCWP is the sum of the BCWS values for all work tasks that have actually been completed by a point in time on the project schedule. “The distinction between the BCWS and the BCWP is that the former represents the budget of the activities that were planned to be completed and the latter represents the budget of the activities that actually were completed.” Given values for BCWS, BAC, and BCWP, important progress indicators can be computed: Schedule Performance Index, SPI = BCWP/BCWS Schedule Variance, SV = BCWP – BCWS SPI is an indication of the efficiency with which the project is utilizing scheduled resources. 27

Computing Earned Value Percent scheduled for completion = BCWS/BAC – provides an indication of the percentage of work that should have been completed by time t. Percent complete = BCWP/BAC – provides a quantitative indication of the percent of completeness of the project at a given point in time, t. Actual cost of work performed, ACWP, is the sum of the effort actually expended on work tasks that have been completed by a point in time on the project schedule. It is then possible to compute Cost performance index, CPI = BCWP/ACWP Cost variance, CV = BCWP – ACWP 28

Scheduling and Tracking:Where Are We? Using the schedule as a guide, the project manager can track and control each step in the software process. 29