Software Project Planning Infsy 570 Dr. R. Ocker.

Slides:



Advertisements
Similar presentations
Estimation for Software Projects
Advertisements

Metrics for Process and Projects
Chapter 26 Estimation for Software Projects
Project Risks and Feasibility Assessment Advanced Systems Analysis and Design.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
Software Project Planning CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 12, 2002.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
Project Management Session 7
إدارة المشروعات Projects Management
SOFTWARE PROJECT PLANNING
Project Tracking and Scheduling Infsy 570 Dr. R. Ocker.
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.
1 Project Planning CIS 375 Bruce R. Maxim UM-Dearborn.
Project Planning Instructor: Dr. Jerry Gao. Project Planning Jerry Gao, Ph.D. Jan Software Scope - Obtaining Information Necessary for Scope -
Initiating and Planning Systems Development projects
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
Software Project Management
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Effort estimation.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
Slide 1 Project Management Chapter 4. Slide 2 Objectives ■ Become familiar with estimation. ■ Be able to create a project workplan. ■ Become familiar.
Welcome to Session 3 – Project Management Process Overview
1 Chapter 5 Software Project Planning. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling,
Developed by Reneta Barneva, SUNY Fredonia Software Project Planning.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
Project Planning and Estimation
Quality Software Project Management Software Size and Reuse Estimating.
Chapter 15 Introduction to Systems Development. Learning Objectives Learn how information systems are developed Understand importance of managing SD process.
SOFTWARE METRICS. Software Process Revisited The Software Process has a common process framework containing: u framework activities - for all software.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
Software Project Estimation IMRAN ASHRAF
Project Management Cross lifecycle Activity
1 Planning a Software Project. 2 Defining the Problem Defining the problem 1.Develop a definitive statement of the problem to be solved. Include a description.
Estimation for Software Projects 1. Software Project Planning 2 The overall goal of project planning is to establish a pragmatic strategy for controlling,
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
د. باسم ممدوح الحلوانى Lecture 3 Scope Management.
Software Engineering (CSI 321) Project Planning & Estimation 1.
Software Engineering Lecture 5: Project Planning.
ANALYSIS PHASE OF BUSINESS SYSTEM DEVELOPMENT METHODOLOGY.
Software Project Management
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
SOFTWARE PROJECT MANAGEMENT
INFSY 570 DR. R. OCKER Software Project Planning.
بشرا رجائی برآورد هزینه نرم افزار.
Software cost and effort estimation will never be an exact science. Estimation is very difficult to do, but is often needed Too many variables can affect.
1 These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Chapter 33 Estimation for Software Projects
Project Cost Management
For University Use Only
Software Engineering (CSI 321)
Software Project Sizing and Cost Estimation
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Estimation
Software Project Planning &
Constructive Cost Model
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
COCOMO Models.
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Chapter 26 Estimation for Software Projects.
SOFTWARE ESTIMATION 1. Estimation for Software Projects -Project planning -Scope and feasibility -Project resources -Estimation of project cost and effort.
Presentation transcript:

Software Project Planning Infsy 570 Dr. R. Ocker

SWE economics analysis (Boehm, 84): n throughout the software lifecycle, there are many decision situations involving limited resources

Examples n feasibility phase –how much should we invest in analyses? n plans and requirements phase –how rigorously should we specify requirements? n design phase: –should we use existing sw which does not completely meet the requriements? n test phase: –how much testing is enough?

Analyzing risk and uncertainty n can apply basic micro economic analysis to these questions n in sw engineering, must make decisions under conditions of uncertainty n can reduce uncertainty, and therefore make better decisions, by buying information n e.g. prototyping is a way of buying information to reduce uncertainty about risky functionality

Question must ask: n How much information-buying is enough?

Project Planning n sw project management process begins with project planning n objective of sw project planning - to provide a framework for manager to make reasonable estimates of resources, costs and schedules

project estimation n first step in project planning n estimate resources, cost, and schedule for sw development project n requires experience and access to historical information

project estimation n estimation is risky business - lots of uncertainty due to: –project complexity –project size –degree of structural uncertainty - degree to which requirements are solidified –availability of historical information n risk - measured by degree of uncertainty in quantitative estimates

project estimation n evolutionary process models - iterative view of development n possible to revise the estimate n estimates made at beginning of sw project n should be updated regularly n estimates should define “best case” and “worst case”

Activities associated with project planning n Software scope n resources n project estimation n decomposition

1.software scope n want to establish a project scope that is unambiguous and understandable at management and technical levels n describes: – function –performance – constraints – interfaces – reliability

2.resources n must estimate resources required to accomplish the development effort n fig. 5.2development resources pyramid

a. hw and sw tools n foundation of resources pyramid, provides infrastructure to support development n sw engineering environment n must prescribe the time-frame required for hw and sw n verify that these resources will be available

b. reusable sw components n next level, can reduce development costs n reuse considerations often ignored n can greatly reduce development time

c. people - top of pyramid n select skills needed

each resource specified with 4 characteristics n 1. description of resource n 2. statement of availability n 3. chronological time resource will be needed n 4. duration of time resource used

3.project estimation n cost estimates must be provided up front n but... the longer we wait, the more we know, and the better our estimates

a. use of decomposition techniques: n divide and conquer approach n decompose project into major functions and related swe activities n cost and effort estimates performed in stepwise fashion

b. empirical estimation models n can complement decomposition techniques or used alone n model is based on historical data n examples: LOC, FP n SW cost estimation relies on good historical data

4.decomposition techniques n decompose the problem (i.e., sw project estimation) into set of smaller problems n from chp types of decomposition n a. decomposition of the problem n b. decomposition of the process n before decomposition, must understand project scope and generate estimate of project size n accuracy of estimate strongly influenced by accuracy of size estimate

Problem-based estimation n direct measure - LOC n indirect measure - FP n a. begin with bounded statement of sw scope n b. decompose sw into problem functions that can each individually be estimated n c. apply sizing measure to each function –e.g. LOC, FP, OO (classes, objects) n d. apply baseline productivity metrics (e.g., LOC/pm, FP/pm)

decomposition n decomposition is different for LOC vs. FP: n for LOC - decomposition must be detailed n for FP - looking at input, output, inquiries, data files, interfaces etc. n planner uses historical data or intuition (not recommended)

estimation n make 3 estimates for each function: n optimistic, most likely, pessimistic n then compute 3 point or expected value n see 5.1 n then apply historical LOC or FP productivity data (e.g. FP/pm)

Process-based estimation n most common technique for estimating project n process is decomposed into a small set of activities or task n effort required to complete each is estimated

Process-based estimation n a. determine sw functions using project scope document n b. meld sw process activities and functions n determine sw process activities that must be performed for each function n functions and process activities can be part of a table - see fig 3.2

Process-based estimation n c. apply average labor rates to the effort estimated for each process activity n d. compute costs and effort for each function and software process activitey n can perform process-based estimate independently of LOC or FP n then have 2-3 estimates of cost and effort to compare and reconcile

5.empirical estimation models n The COCOMO Model: Constructive Cost Model [Boehm, 1984] n hierarchy of 3 increasingly detailed software estimation models:

model 1 n Basic COCOMO model n computes effort and cost estimated as LOC

model 2 n Intermediate COCOMO model n computes effort and cost using a set of cost drivers n includes subjective assessments of product, hw, personnoel, and project attributes

model 3 n Advanced COCOMO model n incorporates the intermediate version with an assessment of the cost dirver’s impact on each step (analysis, design, etc.)

Steps for intermediate level (see Boehm, 1984 for detailed example): n Four steps

Step 1 - Nominal effort estimation n determine project’s development mode (organic, semidetached, embedded) n estimate size of the project

Step 2 - Determine effort multipliers n 15 cost drivers within model - each has a rating scale and a set of effort multipliers which modifies step 1 estimate

Step 3 - Estimate development effort n compute estimated development effort = nominal effort X product of effort multipliers for 15 cost driver attributes

Step 4 - Estimate related project factors n model has additional costing estimation relationships for computing dollar cost of project and for breakdown by lifecycle phase and by type of project acitivity n can estimate project schedule

9 Management Guidelines for better cost estimating (Lederer and Prasad) n paper reports results of survey on cost estimating practices of 115 computer professionals

Need for better estimates n 63% of all large projects (over $50,000) significantly overrun cost estimates n only 25% of projects completed at cost reasonably close to project estimate

Guidelines n Based on results of survey, authors developed 9 guidelines for better cost estimation

1.Assign the initial estimating task to the final developers n 2 approaches: n a.separate-function approach –use experienced group of estimators to conduct the feasibility study and prepare initial project estimate n b.combined-function approach –final analysts and programmers prepare initial estimate during feasibility study –get more accurate estimates with this approach

2.Delay finalizing the initial estimate until the end of a thorough study n often prepare initial cost estimate at beginning of project and then revise it (repeatedly) during the project n found that revision of estimate does not increase accuracy n people seem to look to the original estimate, not the revised estimate, when judging cost estimation accuracy - - so better to be right the first time!

3.Anticipate and control user changes n when lots of changes, like trying to estimate cost of a moving target n estimators need to thoroughly understand user requirments before they estimate its cost –should be able to reduce and control frequent change requests –discourage unnecessary user changes - charge extra!

4.Monitor the progress of the proposed project

5.Evaluate project progress by using independent auditors n most projects usually monitored by those involved in it n more accurate estimates occur when independent auditors are present

6.Use the estimate to evaluate project personnel n cost estimating used more for project planning and control than for evaluation of personnel n could use positive rewards for personnel who provide accurate estimates and for those that meet the estimates

7.Computing management should carefully study and approve the cost estimate n need to conduct a cost/benefit review before system development begins

8.Rely on documented facts, standards, and simple arithmetic formulas rather than guessing, intuition, personal memory, and complex formulas. n greater accuracy found when do the above n less accuracy when rely on intuition and personal memory, which is customary

9.Don’t rely on cost estimating software for an accurate estimate. n packages don’t improve estimation, and lower the satisfaction level of the estimators

Words of wisdom n there is no way a cost estimation technique can compensate for the lack of definition or understanding of the sw job to be done

Words of wisdom n there is no magic formula that will provide an easy and accurate substitute for the process of thinking through and fully understanding the nature of the software product to be developed

Words of wisdom n unless a software project has clear definitions of its key milestones and realistic estimates of the time and money it will take to achieve them, there is no way that a project manager can tell whether the project is under control or not