Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.

Slides:



Advertisements
Similar presentations
Use of Estimation Methods on finished projects. Comparative Evaluation between the theorical estimation and the real time of development. Alejandro Fernández.
Advertisements

Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Project Estimation: Metrics and Measurement
Cocomo II Constructive Cost Model [Boehm] Sybren Deelstra.
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
Software project management (intro)
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 MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Information Technology Project Management
Software Project Management
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
1 U08784 Software Project Management lecturer: Timothy Au url:
Information System Economics Software Project Cost Estimation.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
Project Cost Estimation
Software Engineering: A Practitioner’s Approach
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
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.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Software Cost Estimation 1. APPROACHES Traditional: LOC estimation Modern: Functional Point Analysis 2.
CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
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.
Software cost estimation Predicting the resources required for a software development process 1.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
1 Estimation Function Point Analysis December 5, 2006.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Database Java Bean Feng Chen. Outline Tools and approaches Project overview Major contribution Project plan Cost estimate References Acknowledgment.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Software Project Estimation IMRAN ASHRAF
©Ian Sommerville, adapted by Werner Wild 2004Project Management Slide 1 Software cost estimation u Predicting the resources required for a software development.
Estimation using COCOMO
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
بشرا رجائی برآورد هزینه نرم افزار.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
THE FAMU-CIS ALUMNI SYSTEM
Chapter 33 Estimation for Software Projects
Project Cost Management
Software Project Management
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 Planning
Constructive Cost Model
Software Development & Project Management
COCOMO Model Basic.
Function Point.
Chapter 5: Software effort estimation- part 2
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.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
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,
COnstructive COst MOdel
Software Effort Estimation
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation

Acknowledgements Estimating Software Project Estimating Software Project R. Agarwal, Manish Kumar, Yogesh, S. Mallick, R.M. Bharadwaj, D. Anantwar Activity Scheduling in the Dynamic, Multi- Project Setting: Choosing Heuristics Through Deterministic Simulation Activity Scheduling in the Dynamic, Multi- Project Setting: Choosing Heuristics Through Deterministic Simulation Robert C. Ash, Division of Business and Economics Indiana University Southeast

Introduction What? What? Why? Why? How? How?

Approaches for Defining Software Volume Parametric Parametric Heuristic Heuristic

Parametric Approaches COCOMO COCOMO COCOMOII COCOMOII COCOTS COCOTS Function Points Function Points Newer Approaches: Object metrics & Graphical User Interfaces (GUI) metrics Newer Approaches: Object metrics & Graphical User Interfaces (GUI) metrics

Most fundamental calculation: Most fundamental calculation: (PM) (PM) A = proportionality constant B = depends on development mode SIZE = SLOC, KLOC PM = Person-Months COCOMO (COnstructive COst MOdel)

COCOMO - MODELS Basic Model Basic Model– Intermediate Model Intermediate Model Detailed Model Detailed Model– Time to develop (TDEV) (months) Time to develop (TDEV) (months)–

Example: Project of 3k LOC (Organic Mode) Basic Model: Effort = 2.4 * = 7.6 PM TDEV = 2.5 * 7.6^.38 = 5.4 Months Avg. staffing = 7.6/5.4 = 1.4 person(s) Intermediate Model: EAF = 1.30 * 1.10 = 1.43 Effort = EAF * 3.2 * (3k)^1.05 = 14.5 PM TDEV = 2.5 * 14.5^.38 = 6.9 Months Avg. staffing = 14.5/6.9 = 2.1 person(s)

COCOMO II Advanced version of COCOMO. Advanced version of COCOMO. Two Models developed to be used for two stages of software development: Two Models developed to be used for two stages of software development: –Early Design Model –Post-Architecture Model

Stages/Equations Basic Equation: Early Design Model Post-Architecture Model Well understood project Moderate fidelity estimates Well understood requirements Well understood architecture Detailed project characterization High-fidelity estimates Stable requirements baseline Stable architecture baseline

COCOTS (COnstructive COTS) COTS Component assessment COTS Component assessment Tailoring Tailoring Development and Testing of “glue” code Development and Testing of “glue” code Increase level programming due to volatility Increase level programming due to volatility

Function Point Analysis Developed to overcome difficulties associated with LOC as a measure for predicting effort. Developed to overcome difficulties associated with LOC as a measure for predicting effort. Measures from functional perspective independent of technology. Measures from functional perspective independent of technology. Track and monitor scope creep. Track and monitor scope creep. FP Counts can be compared at end of phases. FP Counts can be compared at end of phases.

Major Components External Inputs (EI) External Inputs (EI) External Outputs (EO) External Outputs (EO) External Inquiry (EQ) External Inquiry (EQ) Internal Logical Files (ILFs) Internal Logical Files (ILFs) External Logical File (EIFs) External Logical File (EIFs)

Function Point Count FP = UAF x VAF FP = UAF x VAFTotal Complexity of Components Low Average High Type of Component __ x 10 = __ x 7 = __ x 5 = EIFs __ x 15 = __ x 10 = __ x 7 = ILFs __ x 6 = __ x 4 = __ x 3 = EQ __ x 7 = __ x 5 = __ x 4 = EO __ x 5 = __ x 4 = __ x 3 = EI TOTAL ADJUSTED FUNCTION POINTS (FP) MULTIPLIED VALUE ADJUSTOR FACTOR (VAF) TOTAL NUMBER OF UNADJUSTED FUNCTION POINTS (UAF)

Benefits of Function Point Analysis Used to size software applications more accurately. Used to size software applications more accurately. Different people can use them to obtain the same measure. Different people can use them to obtain the same measure. Easily understood by the non-technical user. Easily understood by the non-technical user.

Heuristic Approaches Bottom Up Bottom Up Top Down Top Down Expert Judgment : Wideband Delphi Expert Judgment : Wideband Delphi Estimation by Analogy Estimation by Analogy Deterministic Simulation Deterministic Simulation

Deterministic Simulation Overcome shortcomings found in other project scheduling tools. Overcome shortcomings found in other project scheduling tools. –Assume unlimited personnel and resources. –Applied to one project at a time. Effective tool for choosing the heuristics that best fits the projects and activities. Effective tool for choosing the heuristics that best fits the projects and activities.

Pre-conditions for Deterministic Simulation Database for critical project resource pools. Database for critical project resource pools. Activity information for known projects loaded in project software program. Activity information for known projects loaded in project software program. Algorithm loaded in project software program. Algorithm loaded in project software program.

Example ID # Activity Description Immedi ate Predece ssor 1 Customer service problem call - 2 Detailed interview of customer 1 3 Detailed interview of original software design team and review of detailed documentation 1 4 Determination of problem root cause and reproduction of the problem 2,3 5 Brainstorm for solutions and development of solution 4 6 Modify database 5 7 Modify code 5 8 Test the modifications 6,7 9 Implement the solution 8 Scheduling Heuristic Description for project activity resource loadings & initiation (RL& I) MinSlack RL&I first the precedence-feasible Activity with the minimum total slack SPT RL&I first the precedence-feasible activity w/the shortest activity duration SASP RL&I first the precedence-feasible activity w/the shortest duration from the shortest project. MinLFT RL&I first the precedence-feasible activity w/the minimum late finish time. MaxNPV RL&I first the precedence-feasible activity that will maximize the project net present value.

Conclusion Which cost estimation model? Which cost estimation model? How to measure software size in LOC or FPs? How to measure software size in LOC or FPs? What constitutes a good estimate? What constitutes a good estimate?