Software Development & Project Management

Slides:



Advertisements
Similar presentations
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
Advertisements

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Software Cost Estimation.
Software project management (intro)
GPII-2A Planning a software project: Estimation & Measurement.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
CSC 395 – Software Engineering
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Software Cost Estimation Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Estimating Software Size Part I. This chapter first discuss the size estimating problem and then describes the PROBE estimating method used in this book.
1 U08784 Software Project Management lecturer: Timothy Au url:
Information System Economics Software Project Cost Estimation.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Software Engineering: A Practitioner’s Approach
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
Lecture 4 Project Estimation CSCI – 3350 Software Engineering II Fall 2014 Bill Pine.
Software Project Management
Estimation Why estimate? What to estimate? When to estimate?
Chapter 6 : Software Metrics
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Function Point Analysis What is Function Point Analysis (FPA)? It is designed to estimate and measure the time, and thereby the cost, of developing new.
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
Software cost estimation Predicting the resources required for a software development process 1.
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.
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
SEG3300 A&B W2004R.L. Probert1 COCOMO Models Ognian Kabranov.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Guide to Computer Forensics and Investigations, 2e CC20O7N Software Engineering 1 Guide to Computer Forensics and Investigations, 2e CC20O7N Software.
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.
Software Project Management
Chapter 5: Software effort estimation
Cost9b 1 Living with Function Points Bernstein and Lubashevsky Text pp
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
CS223: Software Engineering
Project Estimation.
THE FAMU-CIS ALUMNI SYSTEM
Project Cost Management
Testing Techniques.
Software Project Management 4th Edition
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Project Management 4th Edition
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Function Point Analysis
Software Planning
Constructive Cost Model
Mk II Function Point Analysis
UNIT-3 Software Effort Estimation
Personal Software Process Software Estimation
Function Point.
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Software Metrics “How do we measure the software?”
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.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Cost Estimation
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Development Cost Estimation Chapter 5 in Software Engineering by Ian Summerville (7th edition) 4/7/2019.
Software Cost Estimation
Software Effort Estimation
Chapter 26 Estimation for Software Projects.
COCOMO MODEL.
Presentation transcript:

Software Development & Project Management Software Effort Estimation Software Development & Project Management

Difficulties in Software Estimation Novel applications of software Changing technology Lack of homogeneity of project experience Lack of standard definitions Subjective nature of estimating Political implications

Where Are Estimates Done? Strategic Planning Feasibility Study System Specification Evaluation of Suppliers’ Proposals Project Planning Accuracy of estimates should improve as project proceeds Some speculation(assumptions) about physical implementation may be necessary for estimation

Problems with Over and Under Estimates Over Estimates Parkinson’s Law – ‘work expands to fill the time available’ (Does not apply universally, can be controlled) Brooks’ Law – ‘putting more people on a late job makes it later’ Under Estimates Weinberg’s Zeroth Law – ‘if a system does not have to be reliable, it can meet any other objective’ Demotivation and low productivity Burnout and turnover Having Realistic and Achievable Estimates is Critical Artificial Urgencies and Deadlines MUST be avoided

Basis for Software Estimating Need for Historical Data Measure of Work (Size & time) Complexity

Sample Historical Data

Software Effort Estimation Techniques Algorithmic Models – use ‘effort drivers’ representing characteristics of the target system and implementation environment to predict effort Expert Judgment – the advice of knowledgeable staff is solicited Analogy – similar, completed projects are identified and their actual effort is used as a basis Parkinson – identifies the staff effort available to do a project and uses that as an ‘estimate’ Price to Win – the ‘estimate’ is a figure that is sufficiently low to win a contract Top-Down – an overall estimate is formulated for the whole project and is then broken down into the effort required for component tasks Bottom-Up – Component tasks are identified and sized and these individual estimates are aggregated

Bottom-Up Estimating Detailed Work Breakdown Structure (WBS) is made using either Top-Down or Bottom-Up Approach Effort for each bottom-level activity is estimated Estimates for bottom-level activities are added to get estimates for upper-level activities until overall project estimate is reached Appropriate at later, more detailed, stages of project planning Advisable where a project is completely novel or there is no historical data available

Top-Down Approach Normally associated with parametric or algorithmic models Effort will be related mainly to variables associated to characteristics of the final system (and development environment) Form of parametric model will normally be effort = (system size) x (productivity rate) Important to distinguish between size models and effort models After calculating the overall effort, proportions of that effort are allocated to various activities Combinations of top-down and bottom-up estimation may (and should) be used

Estimating by Analogy Also called Case-Based Reasoning Estimators seek out projects that have been completed (source cases) that have similar characteristics to the new project (target case) Actual effort for the source cases can be used as a bas estimate for the target Estimators should then try to identify any differences between the target and the source and make adjustments to the base estimate Problem is to identify similarities and differences between the source and target Historical data must include all relevant dimensions included in the model One method is to use shortest Euclidean distance to identify the source case Euclidean Distance = square root of [(target_parameter1 – source_parameter1)2 + … + (target_parametern – source_parametern)2 ]

Calculating Euclidean Distance

Albrecht (IFPUG) Function Point Analysis Top-Down method devised by Allan Albrecht and later adopted by International Function Point User Group (IFPUG) Quantifies the functional size independently of the programming language Based on five major components or ‘external user types’ External Input Types External Output Types Logical Internal File Types External Interface File Types External Inquiry Types Each instance of each external user type in the system is identified Each component is classified as having high, average, or low complexity Counts in each complexity band are multiplied by specified weights and summed to get unadjusted FP count Fourteen Technical Complexity Factors (TCFs) are then applied in a formula to calculate the final FP count

FP File Type Complexity

FP External Input Complexity

FP External Output Complexity

FP Complexity Multipliers

Function Points Mark II Recommended by Central Computer and Telecommunications Agency (CCTA) A minority method used mainly in the UK UFPs = Wi x (number of input data element types) + We x (entity types referenced) + Wo x (number of output data element types) – where Wi, We, and Wo are weightings derived from previous projects or industry averages normalized so they add up to 2.5 It has 5 TCFs additional to the 14 in the original FPs

BREAK 

Model of a Transaction

Mark II FP Example

Object Points Similarities with FP approach, but takes account of more readily identifiable features No direct bearing on object-oriented techniques, but can be used for object-oriented systems as well Uses counts of screens, reports, and 3GL components, referred to as objects Each object has to be classified as simple, medium, or difficult Number of objects at each level are multiplied by appropriate complexity weighting and summed to get an overall score Can be adjusted to accommodate reusability factor Finally is divided by a productivity (PROD) factor (from historical data or industry averages) to calculate effort

Object Points for Screens

Object Points for Reports

Object Point Complexity Weightings

Object Point Effort Conversion

Procedural Code-Oriented Approach Envisage the number and type of programs in the final system Estimate the SLOC of each identified program Estimate the work content, taking into account complexity and technical difficulty Calculate the work-days effort

COCOMO (COnstructive COst MOdel) II: Based on SLOC (source lines of code) characteristic, and operates according to the following equations: Effort = PM = Coefficient<EffortFactor>*(SLOC/1000)^P Development time = DM = 2.50*(PM)^T Required number of people = ST = PM/DM where: PM : person-months needed for project SLOC : source lines of code P : project complexity (1.04-1.24) DM - duration time in months for project T : SLOC-dependent coefficient (0.32-0.38) ST : average staffing necessary Software Project Type Coefficient<Effort Factor> P T Organic 2.4 1.05 0.38 Semi-detached 3.0 1.12 0.35 Embedded 3.6 1.20 0.32

That’s it for today 