Software project management (intro)

Slides:



Advertisements
Similar presentations
FPA – IFPUG CPM 4.1 Rules.
Advertisements

Estimating with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit or .
Early Effort Estimation of Business Data-processing Enhancements CS 689 November 30, 2000 By Kurt Detamore.
Project Estimation: Metrics and Measurement
R&D SDM 1 Metrics How to measure and assess software engineering? 2009 Theo Schouten.
GPII-2A Planning a software project: Estimation & Measurement.
Project Management Metrics.
SOFTWARE PROJECT MANAGEMENT AND COST ESTIMATION © University of LiverpoolCOMP 319slide 1.
Information Technology Project Management
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Management Week 6-7 Learning Objectives
1 U08784 Software Project Management lecturer: Timothy Au url:
Software Metric capture notions of size and complexity.
Copyright © The David Consulting Group, Inc. 1 UNDERSTANDING and EFFECTIVELY USING FUNCTIONAL MEASUREMENT Presented By The David Consulting Group.
© The McGraw-Hill Companies, Software Project Management 4th Edition Software effort estimation Chapter 5.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
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?
Chapter 6 : Software Metrics
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
1 UseCase-based effort estimation of software projects TDT 4290 Customer-driven project IDI, NTNU, 14. Sept Bente Anda, Simula Research Lab., Oslo,
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Software cost estimation Predicting the resources required for a software development process 1.
Software Engineering SM ? 1. Outline of this presentation What is SM The Need for SM Type of SM Size Oriented Metric Function Oriented Metric 218/10/2015.
1 Estimation Function Point Analysis December 5, 2006.
Lecture 4 Software Metrics
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.
Project Planning and Estimation
Software complexity estimation by Adam Bondarowicz by Adam Bondarowicz.
Function Point Analysis. Function Points Analysis (FPA) What is Function Point Analysis (FPA)? Function points are a standard unit of measure that represent.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
Software cost estimation. Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete.
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.
Functional Size Measurement Methodologies. What is FSM ? Definitions: Functional Size: A size of the software derived by quantifying the Functional User.
540f07cost12oct41 Reviews Postmortem u Surprises? u Use white background on slides u Do not zip files on CD u Team leader should introduce team members.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
Software Project Management
FUNCTION POINT ANALYSIS & ESTIMATION
Intro to Estimating Part Art, Part Science. Importance of Good Estimates Time (Realistic Deadlines) most software projects are late because the time was.
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?
Cost23 1 Question of the Day u Which of the following things measure the “size” of the project in terms of the functionality that has to be provided in.
THE FAMU-CIS ALUMNI SYSTEM
Alternative Software Size Measures for Cost Estimation
Software Project Management 4th Edition
RET Rules One of the following rules applies when counting RETs:
PROJECT LIFE CYCLE AND EFFORT ESTIMATION
Software Effort Estimation
Software Project Management 4th Edition
The Work Breakdown Structure and Project Estimation
Software Planning
Constructive Cost Model
Software Development & Project Management
Alternative Software Size Measures for Cost Estimation
Software Project Management
Function Point.
Chapter 5: Software effort estimation- part 2
Chapter 5: Software effort estimation
Software Metrics “How do we measure the software?”
Activities During SPP Size Estimation
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.
Software Project Management 4th Edition
Software Effort Estimation
COCOMO MODEL.
Presentation transcript:

Software project management (intro) Introduction to estimating development effort

What makes a successful project? Delivering: agreed functionality on time at the agreed cost with the required quality Stages: 1. set targets 2. Attempt to achieve targets BUT what if the targets are not achievable?

Over and under-estimating Parkinson’s Law: ‘Work expands to fill the time available’ An over-estimate is likely to cause project to take longer than it would otherwise Weinberg’s Zeroth Law of reliability: ‘a software project that does not have to meet a reliability requirement can meet any other requirement’

A taxonomy of estimating methods Expert opinion - just guessing? Bottom-up - activity based Parametric e.g. function points Analogy artificial neural networks - a view of the future? Parkinson and ‘price to win’

Heemstra and Kusters survey Expert judgement 25.5% Analogy 60.8% ‘Capacity problem’ 20.8% Price-to-win 8.9% Parametric models 13.7%

Heemstra and Kusters contd. Only 50% kept project data on past projects - but 60.8% used analogy! 35% did not produce estimates 62% used methods based on intuition - only 16% used formalized methods Function point users produced worse estimates!

Top-down versus Bottom-up produce overall estimate based on project cost drivers based on past project data Bottom-up use when no past project data

Top-down estimates Produce overall estimate using effort driver(s) distribute proportions of overall estimate to components Estimate 100 days overall project design code test 30% i.e. 30 days 30% i.e. 30 days 40% i.e. 40 days

Bottom-up estimating 1. Break project into smaller and smaller components [2. Stop when you get to what one person can do in one/two weeks] 3. Estimate costs for the lowest level activities 4. At each higher level calculate estimate by adding estimates for lower levels

Parametric models COCOMO (lines of code) and function points examples of these Problem with COCOMO etc: guess algorithm estimate but what is desired is system characteristic algorithm estimate

Parametric models - continued Examples of system characteristics no of screens x 4 hours no of reports x 2 days no of entity types x 2 days the quantitative relationship between the input and output products of a process can be used as the basis of a parametric model

Parametric models - the need for historical data simplistic model for an estimate estimated effort = (system size) / productivity e.g. system size = lines of code productivity = lines of code per day productivity = (system size) / effort based on past projects

and output transaction types Parametric models Some models focus on task or system size e.g. Function Points FPs originally used to estimate Lines of Code, rather than effort Number of file types model ‘system size’ Numbers of input and output transaction types

Parametric models Other models focus on productivity: e.g. COCOMO Lines of code (or FPs etc) an input System size Estimated effort Productivity factors

COCOMO Based on industry productivity standards - database is constantly updated Allows an organization to benchmark its software development productivity

COCOMO – Examples Boehm simple model E = a * (KLOC)b D = 2.5 (E)d Coefficient table S/W Project ab bb db Organic 2.4 1.05 0.38 Semi detached 3.0 1.12 0.35 Embedded 3.6 1.20 0.32

Estimating by analogy Use effort from source as estimate ????? source cases attribute values effort attribute values effort target case attribute values attribute values ????? effort attribute values effort effort attribute values attribute values effort Select case with closet attribute values

Anchor + adjustment pace distance on a bearing go to tall building FOREST go to tall building by line of sight FOREST You are here: how do you get to red cross?

Estimating by analogy Identify significant attributes (‘drivers’) locate closest match amongst source cases for target adjust for differences between source and target

Machine assistance for source selection (ANGEL) Source A Source B It-Is Number of inputs Ot-Os target Number of outputs Euclidean distance = sq root ((It - Is)2 + (Ot - Os)2 )

Stages: identify Significant features of the current project previous project(s) with similar features differences between the current and previous projects possible reasons for error (risk) measures to reduce uncertainty

System size: function points Based on work at IBM 1979 onwards Albrecht and Gaffney wanted to measure the productivity independently of lines of code has now been developed by the International FP User Group (which is US based) Mark II FPs developed by Simons mainly used in UK

Albrecht function points external interface files internal logical files external inputs external outputs external inquiries

Function points are based on 2 ‘data function’ types internal logical files (ILF) external interface files (EIF) 3 ‘transactional function’ types external inputs (EI) external outputs (EO) external inquiries (EQ) Each occurrence is judged simple, average or complex

Albrecht FP weightings FP = count total * (0.65 + 0.01 *  (Fi)); i = 1 to 14

Taking Complexity into Account 0 (not important) to 5 (very important) Factors are rated on a scale Questions for Complexity Adjustment Values Data communications Backup and recovery Distributed functions Heavily used configurations Transaction rate On-line data entry On-line update End user efficiency Complex processing Installation ease Operational ease Multiple sites Facilitate change Reusable

Example: FP Approach

Some conclusions: how to review estimates Ask the following questions about an estimate What are the task size drivers? What productivity rates have been used? Is there an example of a previous project of about the same size? Are there examples of where the productivity rates used have actually been found?