Software Engineering. Dilbert on Project Planning. Overview CS / COE 1530. Reading: chapter 3 in textbook Requirements documents due 9/20

Similar documents
Software Engineering. Reading. Effort estimation CS / COE Finish chapter 3 Start chapter 5

TECH. Tracking Progress. Project Schedule PHASE 1 STEP 1 ACTIVITY 1.1. Activity and Milestone STEP 1 STEP 2 : ACTIVITY 2.2 : ACTIVITY 1.

Contents. Today Project Management. Project Management. Last Time - Software Development Processes. What is Project Management?

Topics. Project plan development. The theme. Planning documents. Sections in a typical project plan. Maciaszek, Liong - PSE Chapter 4

Project Management. Massimo Felici Room 1402, JCMB, KB

Identifying Factors Affecting Software Development Cost

MTAT Software Economics. Lecture 5: Software Cost Estimation

ICS 121 Lecture Notes Spring Quarter 96

How To Manage Project Management

Study Guide to Accompany Shari Lawrence Pfleeger's Software Engineering: Theory and Practice

Software Project Management Part 2: Work Breakdown Structures

IT2403-SOFTWARE PROJECT MANAGEMENT 2 MARKS QUESTIONS

(Refer Slide Time: 01:52)

Cost Estimation Strategies COST ESTIMATION GUIDELINES

Software cost estimation. Predicting the resources required for a software development process

Project management. Objectives

CISC 322 Software Architecture

Software cost estimation

10 Keys to Successful Software Projects: An Executive Guide

SoftwareCostEstimation. Spring,2012

Project Plan 1.0 Airline Reservation System

Program Evaluation and Review Technique (PERT) and Critical Path Method (CPM) Applications

Pearson Education Limited 2003

Introduction to Software Engineering. 9. Project Management

COCOMO II and Big Data

Finally, Article 4, Creating the Project Plan describes how to use your insight into project cost and schedule to create a complete project plan.

Module 11. Software Project Planning. Version 2 CSE IIT, Kharagpur

Project management. Objectives. Topics covered. Organizing, planning and scheduling software projects DISCUSSION

Project Management. Lecture 3. Software Engineering CUGS. Spring 2012 (slides made by David Broman) Kristian Sandahl

10 Project Management with PERT/CPM

Business Idea Development Product production Services. Development Project. Software project management

COCOMO-SCORM Interactive Courseware Project Cost Modeling

Chapter 23 Software Cost Estimation

Software Migration Project Cost Estimation using COCOMO II and Enterprise Architecture Modeling

Project Planning and Scheduling

Software cost estimation

CSSE 372 Software Project Management: Software Estimation With COCOMO-II

Software Project Management

SE351a: Software Project & Process Management

CHAPTER 24 SOFTWARE PROJECT SCHEDULING. Overview

Project Planning. Lecture Objectives. Basic Reasons for Planning. Planning. Project Planning and Control System. Planning Steps

SWEN 256 Software Process & Project Management

The management of the projects with MS Project

BCS THE CHARTERED INSTITUTE FOR IT BCS HIGHER EDUCATION QUALIFICATIONS. BCS Level 5 Diploma in IT APRIL 2013 IT PROJECT MANAGEMENT EXAMINERS REPORT

Cambridge International AS and A Level Computer Science

SITE & PROJECT MANAGEMENT

The work breakdown structure can be illustrated in a block diagram:

Goals of the Unit. spm adolfo villafiorita - introduction to software project management

Project Scheduling & Tracking

Introduction and Overview

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Lecture Slides for Managing and Leading Software Projects. Chapter 5: Project Planning Techniques

Extending Change Impact Analysis Approach for Change Effort Estimation in the Software Development Phase

Software Project Management Part 1: Organization

Project Time Management

The 10 Most Important Ideas in Software Development

Chapter 1.7 Project Management. 1. Project financing is one of the step of project management- State True or False

Scheduling Fundamentals, Techniques, Optimization Emanuele Della Valle, Lecturer: Dario Cerizza

11.1 What is Project Management? Object-Oriented Software Engineering Practical Software Development using UML and Java. What is Project Management?

Process Models and Metrics

Risk Management (3C05/D22) Unit 3: Risk Management. What is risk?

Exercise 12 " Project Management "

Dr. Barry W. Boehm USC Center for Software Engineering

IMCPM04 Project Scheduling and Cost Control. Course Outline

A Comparison of Calibrated Equations for Software Development Effort Estimation

Unit 9: Software Economics

PROJECT TIME MANAGEMENT. 1 Powered by POeT Solvers Limited

Basic Concepts. Project Scheduling and Tracking. Why are Projects Late? Relationship between People and Effort

Scheduling Glossary Activity. A component of work performed during the course of a project.

Software Development Cost and Time Forecasting Using a High Performance Artificial Neural Network Model

Windbrooke Townhome Association, Inc. Maintenance & Service Responsibility Chart

Certified Software Quality Engineer (CSQE) Body of Knowledge

Project planning and scheduling

INTRODUCTION: Plan and Schedule Development Create a Work Breakdown Structure (WBS) The detailed guidelines and examples start on the following page.

Lecture 14: Cost Estimation

Cost Estimation Driven Software Development Process

Software Engineering. Objectives. Designing, building and maintaining large software systems

Software Quality Assurance: II Software Life Cycle

OCR LEVEL 3 CAMBRIDGE TECHNICAL

Test Fragen + Antworten. October 2004 Project Management Wilhelm F. Neuhäuser IBM Corporation 2003

WBS, Estimation and Scheduling. Adapted from slides by John Musser

Deming s 14 Points for TQM

Project Scheduling by Critical Path Method (CPM)

A. O. Odior Department of Production Engineering University of Benin, Edo State.

Project management. Organising, planning and scheduling software projects. Ian Sommerville 2000 Software Engineering, 6th edition.

I. TABLE OF CONTENTS...

Fundamentals of Measurements

Chapter 3 Managing the Information Systems (IS) Project

JOURNAL OF OBJECT TECHNOLOGY

CS4507 Advanced Software Engineering

MNLARS Project Audit Checklist

Karunya University Dept. of Information Technology

Project Plan Version 0.0

Construction of A hospital Building

A DIFFERENT KIND OF PROJECT MANAGEMENT

Project Plan. Online Book Store. Version 1.0. Vamsi Krishna Mummaneni. CIS 895 MSE Project KSU. Major Professor. Dr.Torben Amtoft

Transcription:

Software Engineering CS / COE 1530 Lecture 4 Project Management Dilbert on Project Planning Overview Reading: chapter 3 in textbook Requirements documents due 9/20 1

Tracking project progress Do you understand customer problem and needs? Can you design a system to solve customer problem or satisfy customer needs? How long will it take you to develop the system? How much will it cost to develop the system? Project deliverables Documents Demonstrations of function Demonstrations of subsystems Demonstrations of accuracy Demonstrations of reliability, performance or security Milestones and activities Activity: takes place over a period of time Milestone: completion of an activity -- a particular point in time Precursor: event or set of events that must occur in order for an activity to start Duration: length of time needed to complete an activity Due date: date by which an activity must be completed 2

Table 3.1. Phases, steps and activities of building a house. Phase 1: Landscaping the lot Phase 2: Building the house Step 1.1: Step 2.1: Clearing Prepare the and site grubbing Activity 1.1.1: Remove trees Activity 2.1.1: Survey the land Activity 1.1.2: Remove stumps Activity 2.1.2: Request permits Step 1.2: Activity 2.1.3: Excavate for the Seeding the foundation turf Activity 1.2.1: Aerate the soil Activity 2.1.4: Buy materials Activity 1.2.2: Disperse the seeds Step 2.2: Building the exterior Activity 1.2.3: Water and weed Activity 2.2.1: Lay the foundation Step 1.3: Activity 2.2.2: Build the outside walls Planting shrubs and trees Activity 1.3.1: Obtain shrubs and trees Activity 2.2.3: Install exterior plumbing Activity 1.3.2: Dig holes Activity 2.2.4: Exterior electrical work Activity 1.3.3: Plant shrubs and trees Activity 2.2.5: Exterior siding Activity 1.3.4: Anchor the trees and Activity 2.2.6: Paint the exterior mulch around them Activity 2.2.7: Install doors and fixtures Activity 2.2.8: Install roof Step 2.3: Finishing the interior Activity 2.3.1: Install the interior plumbing Activity 2.3.2: Install interior electrical work Activity 2.3.3: Install wallboard Activity 2.3.4: Paint the interior Activity 2.3.5: Install floor covering Activity 2.3.6: Install doors and fixtures 1.1. Survey complete 1.2. Permits issued 1.3. Excavation complete 1.4. Materials on hand 2.1. Foundation laid 2.2. Outside walls complete 2.3. Exterior plumbing complete 2.4. Exterior electrical work complete 2.5. Exterior siding complete 2.6. Exterior painting complete 2.7. Doors and fixtures mounted 2.8. Roof complete 3.1. Interior plumbing complete 3.2. Interior electrical work complete 3.3. Wallboard in place 3.4. Interior painting complete 3.5. Floor covering laid 3.6. Doors and fixtures mounted Table 3.2. Milestones in building a house. Table 3.3. Activities and time estimates. Activity Time estimate (in days) Step 1: Prepare the site Activity 1.1: Survey the land 3 Activity 1.2: Request permits 15 Activity 1.3: Excavate for the foundation 10 Activity 1.4: Buy materials 10 Step 2: Building the exterior Activity 2.1: Lay the foundation 15 Activity 2.2: Build the outside walls 20 Activity 2.3: Install exterior plumbing 10 Activity 2.4: Exterior electrical work 10 Activity 2.5: Exterior siding 8 Activity 2.6: Paint the exterior 5 Activity 2.7: Install doors and fixtures 6 Activity 2.8: Install roof 9 Step 3: Finishing the interior Activity 3.1: Install the interior plumbing 12 Activity 3.2: Install interior electrical work 15 Activity 3.3: Install wallboard 9 Activity 3.4: Paint the interior 18 Activity 3.5: Install floor covering 11 Activity 3.6: Install doors and fixtures 7 3

Slack or float time Slack time = available time - real time = latest start time - earliest start time Activity Graph Table 3.4. Slack time for project activities. Activity Earliest start time Latest start time Slack 1.1 1 13 12 1.2 1 1 0 1.3 16 16 0 1.4 26 26 0 2.1 36 36 0 2.2 51 51 0 2.3 71 83 12 2.4 81 93 12 2.5 91 103 12 2.6 99 111 12 2.7 104 119 15 2.8 104 116 12 3.1 71 71 0 3.2 83 83 0 3.3 98 98 0 3.4 107 107 0 3.5 107 107 0 3.6 118 118 0 Finish 124 124 0 4

Critical Path a path from start to finish in the activity graph for which the slack at every node is 0 typically multiple critical paths (not just one) Any delay of a node on a critical path delays the whole project in contrast, nodes with slack can tolerate delays Analyzing your project in this way is called the Critical Path Method (CPM) PERT = Program Evaluation and Review Technique an alternative to CPM uses the normal probability distribution, activity graph, activity graph, and latest and earliest start times to compute likely bottlenecks Tools to track progress Very popular: Gantt chart Many tools (some free) to draw them, e.g., ConceptDraw Project, search on Google 5

Example Gantt chart Project personnel Key activities requiring personnel: requirements analysis system design program design program implementation testing training maintenance quality assurance Choosing personnel ability to perform work interest in work experience with similar applications similar tools or languages similar techniques similar development environments training ability to communicate with others ability to share responsibility management skills 6

Work styles Extroverts: tell their thoughts Introverts: ask for suggestions Intuitives: base decisions on feelings Rationals: base decisions on facts, options Work Styles Graph Project organization Depends on backgrounds and work styles of team members number of people on team management styles of customers and developers Examples: Chief programmer team Egoless approach 7

Table 3.5. Comparison of organizational structures. Highly structured High certainty Repetition Large projects Loosely structured Uncertainty New techniques or technology Small projects Effort estimation Expert judgment analogy proportion Delphi technique Wolverton model Algorithmic methods: E = (a + bs c ) m(x) S size, X cost vector, m multiplier a,b,c constants Walston and Felix model: E = 5.25S 0.91 Bailey and Basili model: E = 5.5 + 0.73S 1.16 Table 3.6. Wolverton model cost matrix. Difficulty Type of software OE OM OH NE NM NH Control 21 27 30 33 40 49 Input/output 17 24 27 28 35 43 Pre/post processor 16 23 26 28 34 42 Algorithm 15 20 22 25 30 35 Data management 24 31 35 37 46 57 Time-critical 75 75 75 75 75 75 8

Table 3.7. Walston and Felix model productivity factors. 1. Customer interface complexity 16. Use of design and code inspections 2. User participation in requirements 17. Use of top-down development definition 3. Customer-originated program design 18. Use of a chief programmer team changes 4. Customer experience with the 19. Overall complexity of code application area 5. Overall personnel experience 20. Complexity of application processing 6. Percentage of development 21. Complexity of program flow programmers who participated in the design of functional specifications 7. Previous experience with the 22. Overall constraints on program s operational computer design 8. Previous experience with the 23. Design constraints on the program s programming language main storage 9. Previous experience with applications 24. Design constraints on the program s of similar size and complexity timing 10. Ratio of average staff size to project 25. Code for real-time or interactive duration (people per month) operation or for execution under severe time constraints 11. Hardware under concurrent 26. Percentage of code for delivery development 12. Access to development computer open 27. Code classified as nonmathematical under special request application and input/output formatting programs 13. Access to development computer 28. Number of classes of items in the closed database per 1000 lines of code 14. Classified security environment for 29. Number of pages of delivered computer and at least 25% of programs documentation per 1000 lines of code and data 15. Use of structured programming Bailey-Basili technique Minimize standard error estimate to produce an equation such as: E = 5.5 + 0.73S 1.16 Adjust initial estimate based on the ratio of errors. If R is the ratio between the actual effort, E, and the predicted effort, E, then the effort adjustment is defined as ERadj = R 1 if R > 1 = 1 1/R if R < 1 Then adjust the initial effort estimate E: Eadj = (1 + ERadj)E if R > 1 = E/(1 + ERadj) if R < 1 Table 3.8. Bailey-Basili effort modifiers. Total methodology (METH) Cumulative complexity (CPLX) Cumulative experience (EXP) Tree charts Customer interface Programmer qualifications complexity Top-down design Application complexity Programmer machine experience Formal documentation Program flow complexity Programmer language experience Chief programmer teams Internal communication complexity Programmer application experience Formal training Database complexity Team experience Formal test plans External communication complexity Design formalisms Customer-initiated program design changes Code reading Unit development folders 9

COCOMO model: stages of development application composition: prototyping to resolve high-risk user interface issues size estimates in object points early design: to explore alternative architectures and concepts size estimates in function points postarchitecture: development has begun size estimates in lines of code TABLE 3.9 Three Stages of COCOMO II Stage 1: Stage 2: Application Early Stage 3: Model Aspect Composition Design Post-architecture Size Application Function points (FP) FP and language or source lines points and language of code (SLOC) Reuse Implicit in Equivalent SLOC as Equivalent SLOC as function of model function of other other variables variables Requirements Implicit in % change expressed as % change expressed as a change model a cost factor cost factor Maintenance Application Function of ACT, software Function of ACT, software Point understanding, understanding, Annual unfamiliarity unfamiliarity Change Traffic Scale (c) in 1.0 0.91 to 1.23, depending 0.91 to 1.23, depending on nominal effort on precedentedness, precedentedness, conformity, equation conformity, early early architecture, risk resolution, architecture, risk team cohesion, and SEI process resolution, team maturity cohesion, and SEI process maturity Product cost None Complexity, required Reliability, database size, drivers reusability documentation needs, required reuse, and product complexity Platform cost None Platform difficulty Execution time constraints, main drivers storage constraints, and virtual machine volatility Personnel None Personnel capability Analyst capability, applications cost drivers and experience experience, programmer capability, programmer experience, language and tool experience, and personnel continuity Project cost None Required development Use of software tools, required drivers schedule, development development schedule, and environment multisite development For Screens Number and source of data tables Number of views contained Total < 4 (<2 server, <3 client) Table 3.10. Application point complexity levels. Total < 8 (2-3 server, 3-5 client) Total 8+ (>3 server, >5 client) For Reports Number of sections contained Number and source of data tables Total < 4 Total < 8 Total 8+ (<2 (2-3 (>3 server, server, 3- server, <3 5 client) >5 client) client) <3 simple simple medium 0 or 1 simple simple medium 3-7 simple medium difficult 2 or 3 simple medium difficult 8 + medium difficult difficult 4 + medium difficult difficult 10

Table 3.11. Complexity weights for application points. Object type Simple Medium Difficult Screen 1 2 3 Report 2 5 8 3GL component - - 10 Table 3.12. Productivity estimate calculation. Developers experience and capability Very low Low Nominal High Very high CASE maturity and capability Very low Low Nominal High Very high Productivity factor 4 7 13 25 50 Table 3.13. Tool use categories. Category Very low Low Nominal High Very high Meaning Edit, code, debug Simple front-end, back-end CASE, little integration Basic life-cycle tools, moderately integrated Strong, mature life-cycle tools, moderately integrated Strong, mature, proactive life-cycle tools, well-integrated with processes, methods, reuse Machine learning techniques Example: case-based reasoning user identifies new problem as a case system retrieves similar cases from repository system reuses knowledge from previous cases system suggests solution for new case Example: neural network cause-effect network trained with data from past history Evaluating models Mean magnitude of relative error (MMRE) absolute value of mean of [(actual - estimate)/actual] goal: should be.25 or less Pred(x/100): percentage of projects for which estimate is within x% of the actual goal: should be.75 or greater for x =.25 11

Table 3.14. Summary of model performance. Model PRED(0.25) MMRE Walston-Felix 0.30 0.48 Basic COCOMO 0.27 0.60 Intermediate COCOMO 0.63 0.22 Intermediate COCOMO (variation) 0.76 0.19 Bailey-Basili 0.78 0.18 Pfleeger 0.50 0.29 SLIM 0.06-0.24 0.78-1.04 Jensen 0.06-0.33 0.70-1.01 COPMO 0.38-0.63 0.23-5.7 General COPMO 0.78 0.25 Risk management requirements Risk impact: the loss associated with the event Risk probability: the likelihood that the event will occur Risk control: the degree to which we can change the outcome Risk exposure = (risk probability) x (risk impact) Three strategies for risk reduction avoiding the risk: change requirements for performance or functionality transferring the risk: transfer to other system, or buy insurance assuming the risk: accept and control it risk leverage = difference in risk exposure divided by cost of reducing the risk 12

Boehm s top ten risk items Personnel shortfalls Unrealistic schedules and budgets Developing the wrong functions Developing the wrong user interfaces Gold-plating Continuing stream of requirements changes Shortfalls in externally-performed tasks Shortfalls in externally-furnished components Real-time performance shortfalls Straining computer science capabilities Project plan contents project scope project schedule project team organization technical description of system project standards and procedures quality assurance plan configuration management plan documentation plan data management plan resource management plan test plan training plan security plan risk management plan maintenance plan Digital Alpha AXP: Enrollment management model Establish an appropriately large shared vision Delegate completely and elicit specific commitments from participants Inspect vigorously and provide supportive feedback Acknowledge every advance and learn as the program progresses 13

Lockheed Martin: Accountability modeling Matrix organization Each engineer belongs to a functional unit based on type of skill Integrated product development team Combines people from different functional units into interdisciplinary work unit Each activity tracked using cost estimation, critical path analysis, schedule tracking Earned value a common measure for progress Anchoring milestones Objectives: Why is the system being developed? Milestones and schedules: What will be done by when? Responsibilities: Who is responsible for a function? Approach: How will the job be done, technically and managerially? Resources: How much of each resource is needed? Feasibility: Can this be done, and is there a good business reason for doing it? 14