CS 5150 Software Engineering Lecture 6 Project Management.

Slides:



Advertisements
Similar presentations
Project Management Concepts
Advertisements

Project Management Process. Managing the Information Systems Project Focus of project management To ensure that information system projects meet customer.
F O U R T H E D I T I O N Project Management © The McGraw-Hill Companies, Inc., 2003 supplement 3 DAVIS AQUILANO CHASE PowerPoint Presentation by Charlie.
Managing the Information System 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.
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
© 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.
Systems Analysis and Design 9th Edition
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.
1. Henry Laurence Gantt, A.B., M.E. ( November 1919) was a mechanical engineer and management consultant who is most famous for developing the.
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.
Introduction to Project Management ECE 480 Erik Goodman.
1 CS 501 Spring 2005 CS 501: Software Engineering Lecture 4 Project Management.
1 CS 501 Spring 2007 CS 501: Software Engineering Lecture 4 Project Management.
The Systems Analysis Toolkit Project Management Tools.
Planning. SDLC Planning Analysis Design Implementation.
Copyright 2002 Prentice-Hall, Inc. Managing the Information Systems Project 3.1 Chapter 3.
© 2006 ITT Educational Services Inc. System Analysis for Software Engineers: Unit 5 Slide 1 Chapter 3 Managing the Information Systems Project.
Computer System Analysis
© 2005 by Prentice Hall 3-1 Chapter 3 Managing the Information Systems Project Modern Systems Analysis and Design Fourth Edition.
Welcome to COMP1115 Business Computer Applications II Ted Snell Microsoft Project and Microsoft Access.
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.
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:
BIS 360 – Lecture Two Ch. 3: Managing the IS Project.
Software Project Management
Project Management Formal Methods. How do you monitor a project?
Ahmad Al-Ghoul. Learning Objectives Explain what a project is,, list various attributes of projects. Describe project management, discuss Who uses Project.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
CS CS 5150 Software Engineering Lecture 4 Project Management.
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.
Project Management Theory. Planning a Project Identify the problems and inefficiency of system. – Design brief Design brief: A statement that contains.
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.
Lecture 61 Project planning tool Lecture 62 Objectives Understand the reasons why projects sometimes fail Describe the different scheduling tools, including.
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.
Chapter 7 – PERT, CPM and Critical Chain Operations Management by R. Dan Reid & Nada R. Sanders 4th Edition © Wiley 2010.
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.
(M) Chapter 12 MANGT 662 (A): Procurement, Logistics and Supply Chain Design Purchasing and Supply Chain Analysis (1/2)
CS CS 5150 Software Engineering Lecture 7 Project Management.
CS CS 5150 Software Engineering Lecture 7 Project Management.
WEEK 3 Project Planning.
Chapter 3 Managing the Information Systems Project
Chapter 16 – Project Management
CS 501: Software Engineering
Chapter 3 Managing the Information Systems Project
Project Management and Information Security
CS 501: Software Engineering
Activity Planning.
Chapter 3 Managing the Information Systems Project
System analysis and design
Chapter 3 Managing the Information Systems Project
Software Project management
Chapter 3 Managing the Information Systems Project
CIS 210 Systems Analysis and Development
Chapter 3 Managing the Information Systems Project
Chapter 3 Managing the Information Systems Project
Presentation transcript:

CS 5150 Software Engineering Lecture 6 Project Management

CS Administrivia Quizzes posted Feasibility study/plan due in a little over a week

CS Classic Project Management Example: OS 360 The OS for the IBM 360 was 2 years late Q: How does a project get 2 years behind schedule? A: One day at a time! Fred Brooks Jr, The Mythical Man Month

CS “The Mythical Man Month” Adding more people to work on a task helps up to a point, then becomes counter- productive Adding people adds coordination overhead Some activities work best in a single mind Some tasks cannot be accelerated beyond some limit In software, productivity varies A LOT between developers Some studies found that the most productive are 5x faster than the “just adequate”

CS The Goal of Project Management Give the team the best chance to finish a project on time on budget etc Provide visibility into how well things are going according to plan

CS The Central Tension in Project Management Clients (or managers, or whoever) want to know: What will the functionality be? When will it be available? What will it cost? Examples: For products, marketing needs to how to sell the software For embedded systems, other teams need to coordinate development

CS The Central Tension in Project Management BUT: Every software project is a special snowflake Time and cost estimates are notoriously inaccurate Almost always something changes about the specifications during development

CS Typical Project Planning Experience Some big projects (e.g. product releases) some smaller project (e.g. “phase 1” contracts) For smaller projects, just create rough time estimates and judge whether they’re reasonable For larger projects, detailed planning with labor estimates and task dependencies Still usually off by quite a bit Unanticipated tasks Unanticipated work on planned tasks Unanticipated schedule conflicts Unanticipated life conflicts

CS Conventional Software Project Management The scope of the project is defined early Development is divided into tasks and milestones Time and resource estimates are made Estimates are combined to create a schedule/plan Progress relative to the plan is monitored, perhaps weekly The plan is modified as inaccuracies in the estimates become evident

CS Agile Project Management Planning is divided into high level release forecasting and low level detail planning Release planning is a best guess of what can be achieved in a sequence of time-boxes (sprints) For each time-box, small teams do detailed planning Release plan is updated to reflect sprint results Clients and developers share ownership of the release plan and choice of sprints

CS Universal Aspects of Project Management Planning 5150: Rough plan for feasibility study More detailed plan for each milestone Progress tracking Regular comparison of plan and reality Update the plan! Occasional reassessment of project management processes

CS Generating Time Estimates Developers are usually pretty good at estimating times for tasks within their areas of expertise, but... Even so, little things get in the way The difference between “almost done” and “completely done” Unplanned technology churn There is always something that is a little bit different

CS Team-based Estimation Developers themselves usually produce the best estimates within a small time window Teams can commit to the outcome of a sprint Still useful to have a local schedule/plan Different teams work at dramatically different rates Reminder: 5150 is about 1 sprint’s worth of development time

CS Start-up Time Recruiting, tying up loose ends from previous projects Acquiring and setting up equipment Learning about new domains and frameworks Getting the ball rolling with clients/other collaborators Can be months for large projects

CS Methods for Task-Based Project Planning Critical path method, Gantt charts, etc Build a work plan from task data/estimates Display plan in graphical and tabular forms Software support Spreadsheets/databases for recording estimates and results Fancier software for calculating estimates and generating reports

CS Task-Based Project Planning Terminology Task/activity A part of a project that takes work/time Event The completion of a group of activities Dependency Constraints imposed on one activity by another Resource Staff time, equipment or other item required for a task

CS Task-Based Project Planning Terminology Deliverable Any work product that is provided to clients or users (software, documentation, etc) Milestone A set of tasks, usually associated with a target date

CS A Simple Gantt Chart (made with Microsoft Excel)

CS Gantt Charts Most useful for small projects or pieces of larger projects Horizontal axis is time Each row is a task: (planned) start time, portion complete, (projected) completion time Progress can be tracked by drawing a vertical line at the current date

CS A More Complex Gantt Chart (Made with SmartDraw)

CS Alternative Visualization: Activity Graph

CS Activity Graph 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 and activity graph with a single time estimate for each task A standard method for managing large construction projects On big projects, activity graphs with 10,000+ tasks are common

CS Step 1: Time Estimates

CS Step 2: Earliest Dates

CS Step 3: Latest Dates

CS Step 4: Slack

CS Step 5: Critical Path

CS Feedback One of the latest trends in project management: evidence-based scheduling Developers generate estimates for all their tasks and record the actual time taken A learning algorithm adapts to each developer’s estimation strengths and weaknesses over time