CS 501: Software Engineering

Slides:



Advertisements
Similar presentations
Project Management Concepts
Advertisements

PROJECT MANAGEMENT Outline What is project mean? Examples of projects…
Chapter 3 Managing the Information Systems Project
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.
© 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.
CS CS 5150 Software Engineering Lecture 4 Project Management.
Project Management.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project 3.1 Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
Feasibility and Cost/Benefit Analysis. Cost considerations u Cost classifications –Tangible / Intangible –Direct / Indirect –Fixed / Variable –Developmental.
Project Management Techniques.
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.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 4 Project Management.
Project Time Management
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 4 Project Management.
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
Copyright 2002 Prentice-Hall, Inc. Managing the Information Systems Project 3.1 Chapter 3.
Copyright 2002 Prentice-Hall, Inc. Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 5 Slide 1 Chapter 3 Managing the Information Systems Project.
Computer System Analysis
Chapter 3 : Managing the Information Systems Project.
PROJECT PLANNING. PLANNING Planning is essential and software development is no exception. Achieving success in software development requires planning.
Project management.
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.
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.
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
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:
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.
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.
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 4 Project Management.
McGraw-Hill/Irwin Copyright © 2011 The McGraw-Hill Companies, All Rights Reserved Chapter 10 Projects.
Copyright 2001 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Chapter 2 Managing the Information Systems Project 2.1.
CS CS 5150 Software Engineering Lecture 7 Project Management.
CS CS 5150 Software Engineering Lecture 7 Project Management.
MANAGEMENT of INFORMATION SECURITY, Fifth Edition.
A Brief intro to Project Management What can it do for you
Chapter 3 Managing the Information Systems Project
Project Management Business Management.
IF 3507 Manajemen Proyek Perangkat Lunak
CS 501: Software Engineering
Chapter 3 Managing the Information Systems Project
Assistant Professor of Computer Science Washington State University
Eleanor Roosevelt High School
Chapter 3 Managing the Information Systems Project
Chapter 3 Managing the Information Systems Project
Chapter 2: Project Management
Project Time Management
Chapter 3 Managing the Information Systems Project
Software Project management
Chapter 3 Managing the Information Systems Project
COMP 208/214/215/216 Lecture 3 Planning.
Project management Lecture 9
Critical Path Method Farrokh Alemi, Ph.D.
Modern Systems Analysis and Design Third Edition
Chapter 3 Managing the Information Systems Project
Chapter 2 Managing the Information Systems Project
Chapter 3 Managing the Information Systems Project
Modern Systems Analysis and Design Third Edition
Presentation transcript:

CS 501: Software Engineering Lecture 4 Project Management

Administration Projects Announcements by project teams Quiz 1 Quiz 1 is next Thursday. Information is posted on the web site.

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

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

Aspects of Project Management Planning • Outline schedule during feasibility study • Detailed schedule at the beginning of a project or phase of a project Progress tracking • REGULAR COMPARISON OF PROGRESS AGAINST PLAN Final analysis • Analysis of project for improvements during next project

Terminology Deliverable Work product that is provided to the customer (report, presentation, documentation, code, etc.) Milestone Completion of a specified set of activities (e.g., delivery of a deliverable)

Terminology Activity Part of a project that takes place over time (also known as a task). Event The end 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.

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

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 (e.g., Microsoft Project) • Maintain a database of activity data with input tools • Calculate and display schedules • Provide progress reports

Project Planning Methods All project planning methods are best when: 1. Plan is updated regularly (e.g., weekly or monthly) 2. The structure of the project is well understood 3. The time estimates are reliable 4. Activities do not share resources Unfortunately, #2, #3, #4 rarely apply to software development

A Simple Gantt Chart Source: Microsoft using Excel

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 scheduled 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.

A More Complex Gantt Chart Source: SmartDraw

Activity Graph A scheduling technique that emphasizes dependencies An activity A dummy activity An event A milestone

Example: Activity Graph An Open University Course Deliverables: 16 Written texts (bound in pairs) 8 Television programs 8 Radio programs 4 Computer programs 1 Home experimental kit 4 Assignments and sample solutions

Activity Graph (part) other activities Revise Unit 3 Print Unit 3 Edit Mail Unit 3 END START

Activity Graph (continued) other activities Revise Unit 3 Edit Unit 3 Typeset Unit 3 Print Units 3/4 Mail Units 3/4 START Typeset Unit 4 other activities Revise Unit 4 Edit Unit 4

Activity Graph (continued) Script TV 2 Make TV 2 Edit Unit 3 START Mail Edit Unit 4 Document Computer 1 Program Computer 1 Prototype Computer 1

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.)

Critical Path Method Uses Activity Graph with single time estimate for each activity to estimate: earliest start date -- every activity begins at first possible time latest start date -- every activity begins at the last possible time slack -- difference between the latest and earliest start dates A standard method for managing large construction projects. On big projects, activity graphs with more than 10,000 activities are common.

Time Estimates for Activities (Weeks) 4 1 3 2 6 3 1 1 12 3 12 3 2 2 8 4 4

Earliest Start Dates All activities beginning at a given event have the same earliest start date. 1 4 1 5 3 15 2 6 12 17 23 24 3 20 25 1 12 22 23 1 15 3 12 17 3 2 12 19 2 8 4 8 17 4 4

Latest Start Dates Each event must be achieved by the date shown or the final date will not be met. 11 4 19 17 1 20 3 2 6 12 15 3 10 1 12 23 24 25 1 3 12 18 17 3 2 14 20 2 8 4 22 17 4 13

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

Slack Slack of activity = (latest start)end - (earliest start)begin - (time estimate) 0/0 1/11 10 4 10 1 12/12 15/15 17/17 6 2 25/25 3 2 3 22/23 3 23/24 12 1 1 1 1 12 1 12/14 17/17 19/20 2 3 3 2 1 2 5 2 8 4 9 4/13 17/17 4 9

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.

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.

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)

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

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.

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?

Open University Example: Flexibility Schedule: Dates for broadcasting TV and radio programs are fixed. Printing and mailings can be accelerated if overtime is used. Functionality: The course team can decide what goes into the components of the course. Resources: The size of the course team can be increased slightly.

Value of Scheduling Tools Planning discipline Identify all activities and inter-relationship Provide schedule for each resource (identify clashes) Early warning of difficulties (e.g., timing of equipment purchase) Routine updating of schedule Focus on key milestones Visibility for management Weekly staff meeting -- What did we expect to accomplish? What did we accomplish? What is expected for next week?

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).

Updating the Plan A PROJECT PLAN IS USELESS IS IT IS NOT UPDATED: • Whenever changes occur • On a regular schedule (weekly or monthly) The project manager needs the support of the head of the development team and the confidence of the team members. A realistic, current project plan is an essential part of visibility. *