Software Project Management

Slides:



Advertisements
Similar presentations
Software Project Management
Advertisements

Project Scheduling.
Precedence Diagramming
CP Chapter 4 Schedule Planning.
Chapter 17 Project Management McGraw-Hill/Irwin
Project management l Organising, planning and scheduling software projects l Objectives To introduce software project management and to describe its distinctive.
Q7503, Principles of Project Management, Fall Software Project Management Session 5: Scheduling.
Advanced Project Management - CPH
Scheduling Session 5 Emanuele Della Valle
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
Time Management 1-April Recap: Going further into Planning Planning is about answering some questions like:  “What must be done?”  “When will.
5/4/20151 NETWORK SCHEDULING TECHNIQUES. 5/4/20152 Network Diagrams  PMI defines the scheduling process as: “the identification of the project objectives.
Project Time Management
Importance of Project Schedules
Project Management. Introduction What – Project Management Where – Where the success or failure of a project will have major consequences for the company.
Project Time Management
Project Time Management
Software Project Management
Project Time Management J. S. Chou, P.E., Ph.D.. 2 Activity Sequencing  Involves reviewing activities and determining dependencies.  A dependency or.
HIT241 - TIME MANAGEMENT Introduction
Software Project Management Task Sequencing Activity Sequencing Concepts PERT charts Critical Path Analysis.
Time Management Week 7 - Learning Objectives You should be able to: n List and describe the processes, activities, inputs, and outputs in time management.
Project Time Management J. S. Chou, P.E., Ph.D.. 2 Activity Sequencing  Involves reviewing activities and determining dependencies.  A dependency or.
Software Project Management Task Estimating and Scheduling
Switch off your Mobiles Phones or Change Profile to Silent Mode.
POST GRADUATE PROGRAM OF INFORMATION TECHNOLOGY
~ pertemuan 6 ~ Oleh: Ir. Abdul Hayat, MTI 03-Apr-2009 [Abdul Hayat, Project Time Management, Semester Genap 2008/2009] 1 PROJECT TIME MANAGEMENT.
1 Software Project Management Session 5: Scheduling.
To Accompany Russell and Taylor, Operations Management, 4th Edition,  2003 Prentice-Hall, Inc. All rights reserved. Chapter 17 Project Management Part.
1IT Project Management, Third Edition Chapter 6 Chapter 6: Project Time Management.
Project Management Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill.
Advanced Project Management Project Time Management Ghazala Amin.
8-1 Copyright © 2010 Pearson Education, Inc. Publishing as Prentice Hall Project Management Chapter 8.
Collecting requirements – Different methods Defining scope – Estimates for all resources Creating the WBS – Different approaches Verifying scope – Formal.
Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams.
Project Time Management Ashima Wadhwa. Schedule Development – Determining start and finish dates for project activities – Without realistic dates, project.
Project Time Management
(M) Chapter 12 MANGT 662 (A): Procurement, Logistics and Supply Chain Design Purchasing and Supply Chain Analysis (1/2)
I. JOKO DEWANTO PROJECT SCHEDULING. WBS: QUICK RECAP Types: Process, product, hybrid Formats: Outline or graphical org chart High-level WBS does not show.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
Project Time Management Based on PMBOK 5 th Edition Abdelrahman Sheta, PMP,ITIL 1PMP - Project Time Managementfacebook.com/Sheta.Page.
Project Management Chapter 8.
Project Management MGT 30725
Project Management Time Management
PROJECT MANAGEMENT.
Introduction to Project Management Chapter 7 Managing Project Resources Information Systems Project Management: A Process and Team Approach, 1e Fuller/Valacich/George.
Project Management Chapter Topics
Project Management MGT 30725
Project Management: PERT/CPM
Software Project Management
Project Management Techniques
Chapter 17 Project Management McGraw-Hill/Irwin
Project Management (PERT/CPM) PREPARED BY CH. AVINASH
Based on the PMBOK® Guide 3rd Edition
Chapter 6: Project Time Management
CHAPTER 6 PROJECT TIME MANAGEMENT
Project Time Management
PROJECT MANAGEMENT WITH CPM/PERT.
Project Planning and Budgeting
PROJECT TIME MANAGEMENT
Project Time Management
Project Time Management
Project Time Management
Project Time Management
Project Time Management
Importance of Project Schedules
Project Time Management
CHAPTER 6 PROJECT TIME MANAGEMENT
Presentation transcript:

Software Project Management 9/18/2018 Software Project Management Dr. M.E. Fayad, Professor Computer Engineering Department College of Engineering, San José State University One Washington Square, San José, CA 95192-0180 E-mail: m.fayad@sjsu.edu 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Session #7 2 Scheduling Lesson Title 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

3 Roadmap Review Previous Session Scheduling 9/18/2018 Roadmap Review Previous Session Scheduling Activity Network Fundamentals PERT & CRM Techniques Gantt Charts Mythical Man-Month 3 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Lesson Learning Objectives 9/18/2018 Lesson Learning Objectives Review previous session Learn more about scheduling, scheduling terminology, and Scheduling techniques Understand network diagrams Know how-to PERT, CRM, Milestone Chart, Bar Chart, Gantt Chart Learn and understand Mythical Man-Month Issues 4 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Review Previous Session 9/18/2018 Lesson Title Review Previous Session 5 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

6 WBS Types: Process, product, hybrid 9/18/2018 WBS Types: Process, product, hybrid Formats: Outline or graphical org chart High-level WBS does not show dependencies or durations What hurts most is what’s missing Becomes input to many things, esp. schedule 6 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Estimation (1) “The single most important task of a project: setting realistic expectations. Unrealistic expectations based on inaccurate estimates are the single largest cause of software failure.” Futrell, Shafer, Shafer, “Quality Software Project Management” 7 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

8 Estimation (2) History is your best ally 9/18/2018 Estimation (2) History is your best ally Especially when using LOC, function points, etc. Use multiple methods if possible This reduces your risk If using “experts”, use two Get buy-in Remember: it’s an iterative process! Know your “presentation” techniques 8 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9 Estimation (3) Bottom-up Top-down Analogy Expert Judgment 9/18/2018 Estimation (3) Bottom-up More work to create but more accurate Often with Expert Judgment at the task level Top-down Used in the earliest phases Usually with/as Analogy or Expert Judgment Analogy Comparison with previous project: formal or informal Expert Judgment Via staff members who will do the work Most common technique along w/analogy Best if multiple ‘experts’ consulted 9 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

10 Estimation (4) Parametric Methods Function Points Re-Use Estimation 9/18/2018 Estimation (4) Parametric Methods Know the trade-offs of: LOC & Function Points Function Points Benefit: relatively independent of the technology used to develop the system We will re-visit this briefly later in semester (when discussing “software metrics”) Variants: WEBMO (no need to know this for exam) Re-Use Estimation See QSPM outline U Calgary 10 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Your Early Phase Processes 9/18/2018 Your Early Phase Processes Initial Planning: Why SOW, Charter What/How (partial/1st pass) WBS Other planning documents Software Development Plan, Risk Mgmt., Cfg. Mgmt. Estimating Size (quantity/complexity) and Effort (duration) Iterates Scheduling Begins along with 1st estimates 11 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

12 Scheduling Lesson Title 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Scheduling Once tasks (from the WBS) and size/effort (from estimation) are known: then schedule Primary objectives Best time Least cost Least risk Secondary objectives Evaluation of schedule alternatives Effective use of resources Communications 13 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

14 Terminology (1) Precedence: Concurrence: Leads & Lag Time 9/18/2018 Terminology (1) Precedence: A task that must occur before another is said to have precedence of the other Concurrence: Concurrent tasks are those that can occur at the same time (in parallel) Leads & Lag Time Delays between activities Time required before or after a given task 14 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

15 Terminology (2) Milestones Have a duration of zero 9/18/2018 Terminology (2) Milestones Have a duration of zero Identify critical points in your schedule Shown as inverted triangle or a diamond Often used at “review” or “delivery” times Or at end or beginning of phases Ex: Software Requirements Review (SRR) Ex: User Sign-off Can be tied to contract terms 15 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

16 Terminology (3) Milestone Examples 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

17 Terminology (4) Slack & Float Float & Slack: synonymous terms 9/18/2018 Terminology (4) Slack & Float Float & Slack: synonymous terms Free Slack Slack an activity has before it delays next task Total Slack Slack an activity has before delaying whole project Slack Time TS = TL – TE TE = earliest time an event can take place TL = latest date it can occur w/o extending project’s completion date 17 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Scheduling Techniques 9/18/2018 Scheduling Techniques Mathematical Analysis Network Diagrams PERT CPM GERT Bar Charts Milestone Chart Gantt Chart 18 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

19 Network Diagrams Developed in the 1950’s 9/18/2018 Network Diagrams Developed in the 1950’s A graphical representation of the tasks necessary to complete a project Visualizes the flow of tasks & relationships 19 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Mathematical Analysis 9/18/2018 Mathematical Analysis PERT Program Evaluation and Review Technique CPM Critical Path Method Sometimes treated synonymously All are models using network diagrams 20 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

21 MS Project Example 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

22 Network Diagrams Two classic formats Each task labeled with 9/18/2018 Network Diagrams Two classic formats AOA: Activity on Arrow AON: Activity on Node Each task labeled with Identifier (usually a letter/code) Duration (in std. unit like days) There are other variations of labeling There is 1 start & 1 end event Time goes from left to right 22 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

23 Node Formats 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

24 Network Diagrams AOA consists of AON Circles representing Events 9/18/2018 Network Diagrams AOA consists of Circles representing Events Such as ‘start’ or ‘end’ of a given task Lines representing Tasks Thing being done ‘Build UI’ a.k.a. Arrow Diagramming Method (ADM) AON Tasks on Nodes Nodes can be circles or rectangles (usually latter) Task information written on node Arrows are dependencies between tasks a.k.a. Precedence Diagramming Method (PDM) 24 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Critical Path “The specific set of sequential tasks upon which the project completion date depends” or “the longest full path” All projects have a Critical Path Accelerating non-critical tasks do not directly shorten the schedule 25 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

26 Critical Path Example 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

27 CPM Critical Path Method 9/18/2018 CPM Critical Path Method The process for determining and optimizing the critical path Non-CP tasks can start earlier or later w/o impacting completion date Note: Critical Path may change to another as you shorten the current Should be done in conjunction with the you & the functional manager 27 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

28 4 Task Dependency Types Mandatory Dependencies 9/18/2018 4 Task Dependency Types Mandatory Dependencies “Hard logic” dependencies Nature of the work dictates an ordering Ex: Coding has to precede testing Ex: UI design precedes UI implementation Discretionary Dependencies “Soft logic” dependencies Determined by the project management team Process-driven Ex: Discretionary order of creating certain modules 28 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

29 4 Task Dependency Types External Dependencies Resource Dependencies 9/18/2018 4 Task Dependency Types External Dependencies Outside of the project itself Ex: Release of 3rd party product; contract signoff Ex: stakeholders, suppliers, Y2K, year end Resource Dependencies Two task rely on the same resource Ex: You have only one DBA but multiple DB tasks 29 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Task Dependency Relationships 9/18/2018 Task Dependency Relationships Finish-to-Start (FS) B cannot start till A finishes A: Construct fence; B: Paint Fence Start-to-Start (SS) B cannot start till A starts A: Pour foundation; B: Level concrete Finish-to-Finish (FF) B cannot finish till A finishes A: Add wiring; B: Inspect electrical Start-to-Finish (SF) B cannot finish till A starts (rare) 30 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

31 Example Step 1 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Forward Pass To determine early start (ES) and early finish (EF) times for each task Work from left to right Adding times in each path Rule: when several tasks converge, the ES for the next task is the largest of preceding EF times 32 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

33 Example Step 2 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Backward Pass To determine the last finish (LF) and last start (LS) times Start at the end node Compute the bottom pair of numbers Subtract duration from connecting node’s earliest start time 34 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

35 Example Step 3 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

36 Example Step 4 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

37 Slack & Reserve (1) How can slack be negative? What does that mean? 9/18/2018 Slack & Reserve (1) How can slack be negative? What does that mean? How can you address that situation? 37 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

38 Slack & Reserve (2) 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

39 Network Diagrams Advantages Disadvantages Show precedence well 9/18/2018 Network Diagrams Advantages Show precedence well Reveal interdependencies not shown in other techniques Ability to calculate critical path Ability to perform “what if” exercises Disadvantages Default model assumes resources are unlimited You need to incorporate this yourself (Resource Dependencies) when determining the “real” Critical Path Difficult to follow on large projects 39 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

40 PERT (1) Program Evaluation and Review Technique 9/18/2018 PERT (1) Program Evaluation and Review Technique Based on idea that estimates are uncertain Therefore uses duration ranges And the probability of falling to a given range Uses an “expected value” (or weighted average) to determine durations Use the following methods to calculate the expected durations, then use as input to your network diagram 40 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

41 PERT (2) Start with 3 estimates Optimistic Most likely Pessimistic 9/18/2018 PERT (2) Start with 3 estimates Optimistic Would likely occur 1 time in 20 Most likely Modal value of the distribution Pessimistic Would be exceeded only one time in 20 41 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

42 PERT Formula (1) Combined to estimate a task duration 9/18/2018 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

43 PERT Formula (2) Confidence Interval can be determined 9/18/2018 PERT Formula (2) Confidence Interval can be determined Based on a standard deviation of the expected time Using a bell curve (normal distribution) For the whole critical path use 43 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

44 PERT Example Description Planner 1 Planner 2 m 10d a 9d b 12d 20d 9/18/2018 PERT Example Description Planner 1 Planner 2 m 10d a 9d b 12d 20d PERT time 10.16d 11.5d Std. Dev. 0.5d 1.8d Confidence interval for P2 is 4 times wider than P1 for a given probability Ex: 68% probability of 9.7 to 11.7 days (P1) vs. 9.5-13.5 days (P2) 44 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

45 PERT Advantages Disadvantages 9/18/2018 PERT Advantages Accounts for uncertainty Disadvantages Time and labor intensive Assumption of unlimited resources is big issue Lack of functional ownership of estimates Mostly only used on large, complex project Get PERT software to calculate it for you 45 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

46 CPM vs. PERT Both use Network Diagrams CPM: deterministic 9/18/2018 CPM vs. PERT Both use Network Diagrams CPM: deterministic PERT: probabilistic CPM: one estimate, PERT, three estimates PERT is infrequently used 46 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

47 Milestone Chart Sometimes called a “bar charts” Simple Gantt chart 9/18/2018 Milestone Chart Sometimes called a “bar charts” Simple Gantt chart Either showing just highest summary bars Or milestones only 47 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Bar Chart 48 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

49 Gantt Chart (1) 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

50 Gantt Chart (2) Disadvantages Advantages 9/18/2018 Gantt Chart (2) Disadvantages Does not show interdependencies well Does not uncertainty of a given activity (as does PERT) Advantages Easily understood Easily created and maintained Note: Software now shows dependencies among tasks in Gantt charts In the “old” days Gantt charts did not show these dependencies, bar charts typically do not 50 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Reducing Project Duration 9/18/2018 Reducing Project Duration How can you shorten the schedule? Via Reducing scope (or quality) Adding resources Concurrency (perform tasks in parallel) Substitution of activities 51 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Compression Techniques 9/18/2018 Compression Techniques Shorten the overall duration of the project Crashing Looks at cost and schedule tradeoffs Gain greatest compression with least cost Add resources to critical path tasks Limit or reduce requirements (scope) Changing the sequence of tasks Fast Tracking Overlapping of phases, activities or tasks that would otherwise be sequential Involves some risk May cause rework 52 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

53 Mythical Man-Month (1) Book: “The Mythical Man-Month” 9/18/2018 Mythical Man-Month (1) Book: “The Mythical Man-Month” Author: Fred Brooks “The classic book on the human elements of software engineering” First two chapters are full of terrific insight (and quotes) 53 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Mythical Man-Month (2) “Cost varies as product of men and months, progress does not.” “Hence the man-month as a unit for measuring the size of job is a dangerous and deceptive myth” 54 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

55 Mythical Man-Month (3) Why is software project disaster so common? 9/18/2018 Mythical Man-Month (3) Why is software project disaster so common? 1. Estimation techniques are poor & assume things will go well (an ‘unvoiced’ assumption) 2. Estimation techniques fallaciously confuse effort with progress, hiding the assumption that men and months are interchangeable 3. Because of estimation uncertainty, manager lack courteous stubbornness 4. Schedule progress is poorly monitored 5. When schedule slippage is recognized, the natural response is to add manpower. Which, is like dousing a fire with gasoline. 55 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

56 Mythical Man-Month (4) Optimism 9/18/2018 Mythical Man-Month (4) Optimism “All programmers are optimists” 1st false assumption: “all will go well” or “each task takes only as long as it ‘ought’ to take” The Fix: Consider the larger probabilities Cost (overhead) of communication (and training) His formula: n(n-1)/2 How long does a 12 month project take? 1 person: 1 month 2 persons = 7 months (2 man-months extra) 3 persons = 5 months (e man-months extra) Fix: don’t assume adding people will solve the problem 56 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

57 Mythical Man-Month (5) Sequential nature of the process 9/18/2018 Mythical Man-Month (5) Sequential nature of the process “The bearing of a child takes nine months, no matter how many women are assigned” What is the most mis-scheduled part of process? Testing (the most linear process) Why is this particularly bad? Occurs late in process and w/o warning Higher costs: primary and secondary Fix: Allocate more test time Understand task dependencies 57 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

58 Mythical Man-Month (6) Reliance on hunches and guesses 9/18/2018 Mythical Man-Month (6) Reliance on hunches and guesses What is ‘gutless estimating’? The myth of additional manpower Brooks Law “Adding manpower to a late project makes it later” 58 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

9/18/2018 Mythical Man-Month (7) Q: “How does a project get to be a year late”? A: “One day at a time” Studies Each task: twice as long as estimated Only 50% of work week was programming Fixes No “fuzzy” milestones (get the “true” status) Reduce the role of conflict Identify the “true status” 59 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling

Questions? 60 Discussion Questions 9/18/2018 Scheduling 9/18/2018© M.E. Fayad 2000 -- 2009 Scheduling