Software Engineering Fall 2005

Slides:



Advertisements
Similar presentations
Project management.
Advertisements

Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project 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.
SWE Introduction to Software Engineering
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Project.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 1 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 COMP201 Project Management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Chapter 4 Project Management “…a huge topic.” See Part 6, “Management”, Chaps.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Chapter 24 Project Scheduling and Tracking
Creator: ACSession No: 10 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringDecember 2005 Project Management CSE300 Advanced Software Engineering.
1 SOFTWARE PRODUCTION. 2 DEVELOPMENT Product Creation Means: Methods & Heuristics Measure of Success: Quality f(Fitness of Use) MANAGEMENT Efficient &
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects l.
Project Management Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Software Engineering Principles Chapter 3 From Software Engineering by I. Sommerville, Slide 1 project managementorganizing planning scheduling Learning.
贾银山 Software Engineering, Chapter 5 Slide 1 Project management.
©Ian Sommerville 2000Software Engineering. Chapter 5 Slide 1 Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2006Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
1 Software Engineering Muhammad Fahad Khan Software Engineering Muhammad Fahad Khan University Of Engineering.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 5 Slide 1 Chapter 5 Project Management Modified by Randy K. Smith.
 Probably the most time-consuming project management activity.  Continuous activity - Plans must be regularly revised.  Various different types of.
Project management DeSiaMore 1.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Concerned with activities involved in ensuring that software is delivered: on.
Lecture 7 Project Scheduling and Tracking
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
Software Project Management
Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management Lecture 10. Topics covered Management activities Project planning Project scheduling Risk management.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
Chapter 23 – Project scheduling Lecture 1. Project scheduling  Project scheduling is the process of deciding how the work in a project will be organized.
©Ian Sommerville 2000 Slide 1 Project management l Organising, planning and scheduling software projects l Objectives To introduce software project management.
CSEM01 - wk8 - Software Planning1 Software Planning CSEM01 SE Evolution & Management Anne Comer Helen Edwards.
Project management.  To explain the main tasks undertaken by project managers  To introduce software project management and to describe its distinctive.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
COOP Seminar – Fall 2008 Slide 1 HOUSTON COMMUNITY COLLEGE SYSTEM SAIGONTECH SAIGON INSTITUTE OF TECHNOLOGY Software Project Management.
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.
Software Engineering, 8th edition. Chapter 5 1 Courtesy: ©Ian Sommerville 2006 Oct 13 th, 2008 Lecture # 6 Project management.
1 Project management. 2 Topics covered Management activities Project planning Project scheduling Risk management.
Dr Izzat M Alsmadi Edited from ©Ian Sommerville & others Software Engineering, Chapter 3 Slide 1 Project management (Chapter 5 from the textbook)
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
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 4 Slide 1 Project management l Organising, planning and scheduling software projects.
©Ian Sommerville 2000Software Engineering. Chapter 5 Slide 1 Chapter 5 Project Management “…a huge topic.” See Part 6, “Managing People”.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project management 1/30/2016ICS 413 – Software Engineering1.
Project management (2) By: Zhou Chunlin School of Tourism, Conference and Exhibitions Henan University of Economics and Law.
1 Project management Organising, planning and scheduling software projects.
Project management Chapter 5. Objectives To explain the main tasks undertaken by project managers To introduce software project management and to describe.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
COMP201 Project Management.
Chapter 34 Project Scheduling
Assistant Professor of Computer Science Washington State University
IS301 – Software Engineering V:
Software Project Management
Project management.
Software Engineering (CSI 321)
Software Project Management
Project management Lecture 9
Chapter 27 Project Scheduling
Chapter 34 Project Scheduling
Presentation transcript:

Software Engineering Fall 2005 Lecture 18 Project Scheduling Based on: Chapter 24 Software Engineering, A Practitioner’s Approach, 6/e, R.S. Pressman, and Chapter 5, Software Engineering 7, Ian Sommerville Software Engineering Fall 2005

Overview To build complex software systems, many engineering tasks need to occur in parallel with one another to complete the project on time. The output from one task often determines when another may begin. It is difficult to ensure that a team is working on the most appropriate tasks without building a detailed schedule and sticking to it.

Root Causes for Late Software Unrealistic deadline established outside the team Changing customer requirements not reflected in schedule changes Underestimating the resources required to complete the project Risks that were not considered when project began Technical difficulties that have not been predicted in advance Human difficulties that have not been predicted in advance Miscommunication among project staff resulting in delays Failure by project management to recognize project falling behind schedule and failure to take corrective action to correct problems

How to Deal With Unrealistic Schedule Demands Perform a detailed project estimate for project effort and duration using historical data. Use an incremental process model that will deliver critical functionality imposed by deadline, but delay other requested functionality. Meet with the customer and explain why the deadline is unrealistic using your estimates based on prior team performance. Offer an incremental development and delivery strategy as an alternative to increasing resources or allowing the schedule to slip beyond the deadline.

Project Scheduling Perspectives One view is that the end-date for the software release is set externally and that the software organization is constrained to distribute effort in the prescribed time frame. Another view is that the rough chronological bounds have been discussed by the developers and customers, but the end-date is best set by the developer after carefully considering how to best use the resources needed to meet the customer's needs.

Software Project Scheduling Principles I Compartmentalization - the product and process must be decomposed into a manageable number of activities and tasks. Interdependency - tasks that can be completed in parallel must be separated from those that must be completed serially. Time allocation - every task has start and completion dates that take the task interdependencies into account. Effort validation - project manager must ensure that on any given day there are enough staff members assigned to complete the tasks within the time estimated in the project plan.

Software Project Scheduling Principles II Defined responsibilities - every scheduled task needs to be assigned to a specific team member. Defined outcomes - every task in the schedule needs to have a defined outcome (usually a work product or deliverable). Defined milestones - a milestone is accomplished when one or more work products from an engineering task have passed quality review.

Relationship Between People and Effort Adding people to a project after it is behind schedule often causes the schedule to slip further The relationship between the number of people on a project and overall productivity is not linear (e.g., 3 people do not produce 3 times the work of 1 person, if the people have to work in cooperation with one another) The main reasons for using more than 1 person on a project are to get the job done more rapidly and to improve software quality.

Project Milestone A project milestone is a predictable outcome of an activity where some formal report of progress should be presented to management. Milestones should occur regularly throughout of a project. A deliverable is a milestone that is delivered to the project customer.

Project Effort Distribution The 40-20-40 rule (a rule of thumb): 40% front-end analysis and design 20% coding 40% back-end testing Generally accepted guidelines are: 02-03 % planning 10-25 % requirements analysis 20-25 % design 15-20 % coding 30-40 % testing and debugging

The Project Scheduling Process Project scheduling (Figure 1) involves separating the total work involved in a project into separate activities and judging the time required to complete these activities. Usually, some of these activities are carried out in parallel. You have to coordinate these parallel activities and organise the work so that the workforce is used optimally. It is important to avoid a situation where the whole project is delayed because a critical task is unfinished.

Critical Path Critical path contains tasks that must be completed on schedule if the project as a whole is to be completed on schedule.

Project Scheduling Split project into tasks and estimate time and resources required to complete each task. Organize tasks concurrently to make optimal use of workforce. Minimize task dependencies to avoid delays caused by one task waiting for another to complete. Dependent on project managers intuition and experience.

Figure 1: The project scheduling process

Scheduling Scheduling tools should be used to schedule any non-trivial project. Program evaluation and review technique (PERT) and critical path method (CPM) are quantitative techniques that allow software planners to identify the chain of dependent tasks in the project work breakdown structure that determine the project duration time.

Time-boxing Time-boxing is the practice of deciding a priori the fixed amount of time that can be spent on each task. When the task's time limit is exceeded, development moves on to the next task (with the hope that a majority of the critical work was completed before time ran out).

Schedule Tracking Conduct periodic project status meetings in which each team member reports progress and problems. Evaluate the results of all reviews conducted throughout the software engineering process. Determine whether formal project milestones have been accomplished by the scheduled date. Compare actual start-date to planned start-date for each project task listed in the resource table. Meet informally with practitioners to obtain their subjective assessment of progress to date and problems on the horizon. Use earned value analysis to assess progress quantitatively.

Earned Value Analysis (EVA) Earned value is a quantitative measure given to each task as a percent of project completed so far. is a measure of progress enables us to assess the “percent of completeness” of a project using quantitative analysis rather than rely on a gut feeling provides accurate and reliable readings of performance from as early as 15 percent into the project.

Bar Charts and Activity Networks Graphical notations used to illustrate the project schedule. Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two. Activity charts show task dependencies and the critical path. Bar charts show schedule against calendar time – sometimes called Gantt charts, after their inventor.

Task durations and dependencies

Activity network

Activity timeline

Staff allocation

Scheduling problems Estimating the difficulty of problems and hence the cost of developing a solution is hard. Productivity is not proportional to the number of people working on a task. Adding people to a late project makes it later because of communication overheads. The unexpected always happens. Always allow contingency in planning.

Risk management Risk management is concerned with identifying risks and drawing up plans to minimise their effect on a project. A risk is a probability that some adverse circumstance will occur Project risks affect schedule or resources; Product risks affect the quality or performance of the software being developed; Business risks affect the organisation developing or procuring the software.

Software risks

Key points A project milestone is a predictable state where a formal report of progress is presented to management. Project scheduling involves preparing various graphical representations showing project activities, their durations and staffing. Risk management is concerned with identifying risks which may affect the project and planning to ensure that these risks do not develop into major threats.

2005F Instructor John D Lin - johndlin@hotlinemail.com Lectures Tues & Thurs 10:00-11:30 RM. 100, Lower Block