CS 5150 1 CS 5150 Software Engineering Lecture 7 Project Management.

Slides:



Advertisements
Similar presentations
Project Management Concepts
Advertisements

CS 501: Software Engineering Fall 2000 Lecture 2 The Software Process.
Chapter 2 The Analyst As Project Manager In Managing Information Systems 2.3.
© 2005 by Prentice Hall Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F.
Having Fun with Gantt PERT &.
© 2008 by Prentice Hall 3-1 ITCS311 Systems Analysis and Design Dr. Taher Homeed Feb 2010 Department of Computer Science College of IT University of Bahrain.
CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 3.1.
CS CS 5150 Software Engineering Lecture 4 Project Management.
Project Management.
Feasibility and Cost/Benefit Analysis. Cost considerations u Cost classifications –Tangible / Intangible –Direct / Indirect –Fixed / Variable –Developmental.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
CS 5150 Software Engineering
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Modern Systems Analysis and Design Third Edition
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
1 CS 501 Spring 2008 CS 501: Software Engineering Lecture 4 Project Management.
CS 501: Software Engineering Fall 2000 Lecture 4 Management I: Project Management.
CS 501: Software Engineering
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 4 Project Management.
CS Techniques Supporting Project Management (Part 4) Bilgisayar Mühendisliği Bölümü – Bilkent Üniversitesi – Fall 2009 Dr.Çağatay ÜNDEĞER Instructor.
CS 501: Software Engineering
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Project Time Management
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 4 Project Management.
Planning. SDLC Planning Analysis Design Implementation.
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
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 5 Slide 1 Chapter 3 Managing the Information Systems Project.
Chapter 3 : Managing the Information Systems Project.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 5 Slide 1 Chapter 5 Project Management Modified by Randy K. Smith.
PROJECT PLANNING. PLANNING Planning is essential and software development is no exception. Achieving success in software development requires planning.
Project management.
Software Project Management Task Estimating and Scheduling
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.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
Lecture 3 Scheduling CSCI – 3350 Software Engineering II Fall 2014 Bill Pine.
Software Engineering Management Lecture 1 The Software Process.
CS 5150 Software Engineering Lecture 6 Project Management.
CS 360 Lecture 4.  The operating system for the IBM 360 was two years late!  Question:  How does a project get two years behind schedule?  Answer:
1 Chapter 5 Project management. 2 Project management : Is Organizing, planning and scheduling software projects.
BIS 360 – Lecture Two Ch. 3: Managing the IS Project.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
CS CS 5150 Software Engineering Lecture 4 Project Management.
Chapter 3 Project Management Chapter 3 Project Management Organising, planning and scheduling software projects.
PROJECT MANAGEMENT Outline What is project mean? Examples of projects… Project Planning and Control Project Life Cycle Gantt Chart PERT/CPM.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Chapter 3 Managing the Information Systems Project
Project Management Inspections and Reviews 1 February.
PROJECT MANAGEMENT Outline What is project mean? Examples of projects…
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Chapter 3 Managing the Information Systems Project 3.1.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 4 Project Management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
CS CS 5150 Software Engineering Lecture 7 Project Management.
Software Engineering Management
CS 501: Software Engineering
Exam 0 review CS 360 Lecture 8.
CS 5150 Software Engineering
CS 501: Software Engineering
Chapter 3 Managing the Information Systems Project
Project Time Management
Software Project management
COMP 208/214/215/216 Lecture 3 Planning.
Modern Systems Analysis and Design Third Edition
Modern Systems Analysis and Design Third Edition
Presentation transcript:

CS CS 5150 Software Engineering Lecture 7 Project Management

CS Administration Tests Tests that are not collected in class will be available for pick up from Corinne Russell at 301 College Avenue. Re-grade requests To request a re-grade, contact me after class or come to office hours. No request will be considered more than one week after the tests are returned. Grading mistakes will be corrected. Points will not be changed when the grade is determined by the grader's judgment.

CS Test 1, Question 2 WYX is a web site to which qualified individuals are encouraged to contribute information about the law. Contributors may write original articles, or comment on and edit articles written by others. WYX wishes to encourage high-quality contributions by a wide range of contributors. For this purpose, it plans to extend its current computer system to provide incentives that will reward participation. The incentives are of four categories: (a) Points for certain types of activity. (b) Badges given as recognition of specific accomplishments. (c) Rewards based on the quality and extent of contribution. (d) Bonus rewards derived from the other three categories.

CS Test 1, Question 2 (continued) You are asked to recommend a software development process for the proposed extension to the WYX system. (a)i Is the modified waterfall model a good choice for developing this system? No ii Give two reasons for your answer. (-) The requirements are poorly understood, e.g. the details of the incentive categories. This will probably lead to major revisions of the system. (-) The user interface will need testing with users. This requires some form of iteration.

CS Test 1, Question 2 (continued) (b)i Is iterative refinement leading to a single release of the system a good choice for developing this system? No or Not very good but better than (a) ii Give two reasons for your answer. (+) Iterative refinement allows testing and revision of the user interface. (-) The commitment to a single release does not allow modification of the incentive categories based on experience.

CS Test 1, Question 2 (continued) (c)i Is incremental releases of small increments of software a good choice for developing this system? Yes ii Give two reasons for your answer. (+) Small incremental releases allow modification of the incentive categories based on experience. (+) If the incentive system is clearly a failure, the project can be cancelled or extensively modified before great expenditure. (d)What software development process would you recommend? Option (c) – incremental releases

CS The Aim of Project Management To complete a project: On time On budget With required functionality To the satisfaction of the client Without exhausting the team To provide visibility about the progress of a project

CS OS 360 The operating system for the IBM 360 was two years late. Question: How does a project get two years behind schedule? Answer: One day at a time! Fred Brooks Jr., The Mythical Man Month

CS Aspects of Project Management Planning Outline schedule during feasibility study Fuller schedule at the beginning of a project or for each phase of a project (e.g., each iteration) Progress tracking Regular comparison of progress against plan Regular updating of the plan Final analysis Analysis of project for improvements during next project

CS Terminology Deliverable Work product that is provided to the client (report, presentation, documentation, code, etc.) Milestone Completion of a specified set of activities (e.g., delivery of a deliverable, completion of a process step or iteration, incremental release)

CS Terminology Activity Part of a project that takes place over time (also known as a task). Event The completion of a group of activities. Dependency An activity that cannot begin until some event is reached Resource Staff time, equipment, or other limited resources required by an activity.

CS General Approach to Project Planning Identify deliverables and milestones Divide project into activities (tasks) For each activity estimate: time to complete from when activity begins dependencies on events before beginning resource requirements (e.g., personnel) Build a model that uses this data to create a work-plan, including schedule, resource allocation, and flexibility

CS Project Planning Methods Critical Path Method, Gantt charts, Activity bar charts, etc. Build a work-plan from activity data. Display work-plan in graphical form. Project planning software Maintain a database of activities and related data Calculate and display schedules Provide progress reports

CS A Simple Gantt Chart Source: Microsoft using Excel

CS Gantt Charts Dates run along the top (days, weeks or months). Each row represents an activity. Activities may be scheduled sequentially, in parallel or overlapping. The schedule for an activity is a horizontal bar. The left end marks the planned beginning of the task. The right end marks the expected end date. The chart may be updated by filling in each activity to a length proportional to the work accomplished. Progress to date can be compared with the plan by drawing a vertical line through the chart at the current date.

CS A More Complex Gantt Chart Source: SmartDraw

CS Estimating the Time for an Activity With experienced staff, estimating the actual time to carry out a single task is usually fairly accurate, but... The little bits and pieces are underestimated The time from almost "done" to completely "done" is much longer than anticipated. (There's just one thing to tidy up. I need to put the comments into better shape. I really should get rid of that patch.) The distractions are not planned for. (My system crashed and I decided to upgrade the software. My child's school was closed because of snow. I spent the day showing visitors around.) Some things have to be done twice.

CS Start-up Time On a big project, the start-up time is typically three to six months: Personnel have to complete previous projects (fatigue) or be recruited. Hardware and software has to be acquired and installed. Staff have to learn new domain areas and software (slow while learning). Clients may not be ready.

CS Final Analysis with Critical Path Method Administrative computing department at Dartmouth used the Critical Path Method for implementation phase of major projects (plan developed after project was well-understood). Experience: Elapsed time to complete projects was consistently 30% to 40% longer than predicted by model. Analysis: Some tasks not anticipated (incomplete understanding) Some tasks had to be redone (change of requirements, technical changes) Key personnel were on many activities (schedule conflicts) System ZZZ (non-billable hours)

CS Activity Graph An activity (task) A dummy activity (dependency) An event A milestone A scheduling technique that emphasizes dependencies

CS Example: Activity Graph for a Distance Learning Course (part of a large project) START Edit 1 Script TV Make TV Edit 2 Prototype Software Write Software Document Software Mail Plan TV Plan 1 Write 1 Plan 2 Plan Software Write 2 Typeset 1 Typeset 2 Print

CS Scheduling: Background PERT Program Evaluation and Review Technique introduced by the U.S. Navy in 1957 to support the development of its Polaris submarine missile program. PERT/Time Activity graph with three time estimates (shortest, most probable, longest) on each activity to compute schedules. PERT/Cost Added scheduling of resources (e.g., facilities, skilled people, etc.)

CS Critical Path Method Uses an Activity Graph with single time estimate for each activity. A standard method for managing large construction projects. On big projects, activity graphs with more than 10,000 activities are common.

CS Time Estimates for Activities (Weeks)

CS Earliest Event Dates and Earliest Start Dates Earliest start date: the earliest date that it is possible to start an activity. Earliest event date: the date that all the activities ending at that node will be completed, assuming that every activity begins at its earliest start date. Earliest project completion date: the date on which the project is completed assuming that every activity begins on its earliest start date.

CS Earliest Event Dates and Earliest Start Dates Earliest dates for an event are in red

CS Latest Event Dates and Latest Start Dates Latest start date: the latest date that it is possible to start an activity and still complete the project by the earliest project completion date. Latest event date: the latest date that all the activities ending at that node must be completed, in order to complete the project by the earliest project completion date.

CS Latest Event Dates and Latest Start Dates Each event must be achieved by the date shown or the final date will not be met. Latest event dates in blue

CS Slack and Critical Path Slack: the difference between the latest start date and the earliest start date of an activity Critical path: a path through the graph where every activity has zero slack If an activity on the critical path is not started on its earliest start date or takes longer than the predicted time to complete, then the project completion date is delayed.

CS Slack 0/00/0 1/11 17/17 23/ /12 12/14 4/13 15/1517/17 19/20 22/23 25/ Slack in purple

CS Critical Path 0/00/0 1/11 12/12 12/14 4/13 15/1517/17 19/20 22/2323/24 25/25 Every activity on the critical path must begin on the earliest start date. Critical path in orange

CS Adding Resources to Activity Graph or Gantt Chart Each activity is labeled with resources, e.g., Number of people (e.g., 2 Java programmers) Key personnel (e.g., chief system architect) Equipment (e.g., 3 servers with specified software) Facilities (e.g., video conference center) Each resource is labeled with availability, e.g., Hiring and training Vacations Equipment availability

CS Using Critical Path Method for Resources Assume every activity begins at earliest start date: In each time period, calculate: resources required resources available Identify shortage / surplus resources Adjust schedule acquire extra staff (e.g., consultants) rearrange schedule (e.g., change vacations) change order of carrying out activities The earlier that a problem is known, the easier it is to fix.

CS Key Personnel: The Mythical Man Month In computing, not all people are equal The best are at least 5 times more productive. Some tasks are too difficult for everybody. Adding more people adds communications complexity Some activities need a single mind. Sometimes, the elapsed time for an activity can not be shortened. What happens to the project if a key person is sick or quits?

CS The Project Manager Create and maintain the schedule. Track progress against schedule. Keep some slack in the schedule (minimize risk). Continually make adjustments: Start activities before previous activity complete Sub-contract activities Renegotiate deliverables Keep senior management informed (visibility). The project manager needs the support of the head of the development team and the confidence of the team members.