Cost Estimation. What are the costs of a Software Project? Why does it matter for us to know this? How do you measure productivity?

Similar documents
For the PMP Exam using PMBOK Guide 5 th Edition. PMI, PMP, PMBOK Guide are registered trade marks of Project Management Institute, Inc.

Objectives. Topics covered. Software project management. Management activities. Software management distinctions. Project management

HU801B Project Management Lecture 7 - Project Planning

Plan Your Work, Work Your Plan. Dr. R. Rockland Chair and Professor, Department of Engineering Technology New Jersey Institute of Technology

Time has the least. amount of flexibility; Schedule issues are the main reason for

Project management. ACSC 383 Software Engineering. Efthyvoulos C. Kyriacou (PhD) Assoc. Prof. Computer Science and Engineering Department

PROJECT TIME MANAGEMENT

Software Engineering

PMP Exam Preparation Course Project Time Management

COCOMO Models 26/12/2016 1

Introduction to Project Management

Project Time Management

Objectives. 4. To show how graphical schedule representations (bar charts and activity charts) are used by project management

Online Healthcare Clinic Management System

Time Management PLANNING

Project Planning. COSC345 Software Engineering 2016 Slides by Andrew Trotman given by O K

Project Management. Minsoo Ryu. Hanyang University.

Information Technology Project Management, Seventh Edition

Project Time Management

Darshan Institute of Engineering & Technology for Diploma Studies

Introduction to Project Management

CSc 233 Spring DILBERT Scott Adams. Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman

Software project management. ITNP090 Object Oriented Software Design. Management activities. Software Management Challenges

Network Diagram 11/10/2016 WORK BREAKDOWN STRUCTURE (WBS)

Project management. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 5 Slide 1

6 PROJECT TIME MANAGEMENT

Introduction to Software Engineering: Project Management ( Highlights )

Project Time Management

Project Management Professional (PMP) Exam Prep Course 6 - Project Schedule Management

Goals of course. Themes: What can you do to evaluate a new technique? How do you measure what you are doing?

THE IMPORTANCE OF PLANNING DURING PROJECT EXECUTION

THE IMPORTANCE OF PLANNING DURING PROJECT EXECUTION

ENGR 310. Project Planning. Lecture Mar 2008

Microsoft Office Project 2007, Managing Projects

Identification Selection Definition Execution. Schedule.

Introduction to Software Metrics

Software Efforts & Cost Estimation Matrices and Models. By: Sharaf Hussain

Chapter 4 Software Process and Project Metrics

Microsoft Project 2013 Core Essentials

Project Management Concepts, Tools & Techniques

Software Estimation Inside Out. Tabinda Aftab Ephlux. White Paper

Software Engineering

Project Management. Time and Resources DPLE 157

THE PMP EXAM PREP COURSE

From Russia With Love:

Global Project Management, LLC

PROJECT SCHEDULING & CONTROL

CS101 Introduction of computing

UNIT V PROJECT MANAGEMENT

Communication Model for Cooperative Robotics Simulator. Project Plan. Version 1.0

PMP EXAMINATION PREP CHAPTER 6 SCHEDULE MANAGEMENT. PMP Exam Prep

Management of Software Engineering. Ch. 8 1

Project Planning & Control Prof. Koshy Varghese Department of Civil Engineering Indian Institute of Technology, Madras

Competitive Project Unit (CPU) Tanta University. Tools for Project Management:

Chapter 2 The Project Management Life Cycle

nam I BIA Un IVERS ltv OF SCIEnCE AnD TECHnOLOGY

Mastering Microsoft Project 2010

Strategy. Strategy Training Guide

How AI is Changing the Art & Science of CPM Scheduling

Introduction to Software Metrics

Geog 469 GIS Workshop. Project Management

Lecture 11: Managing Your Project. Starting point

MGT/437. Project Management. Session #2 University of Phoenix 02/12/2004 Brian Smithson. 02/12/2004 MGT/437 #2 -- Brian Smithson 1

Microsoft Project 2016

Sensitivity and Risk Path Analysis John Owen, Vice President Barbecana, Inc.

Work Breakdown Structure & Schedules

Scheduling Challenges in the Industrial Construction Sector

Lecture 2: Project Management, Part 1: Requirements, WBS, Scheduling, and Risk Management. Prof. Shervin Shirmohammadi SITE, University of Ottawa

Collaborative Project Mgmt.

Project Management. Agenda - What will you learn today? Theory Lecture Plan. A Software Life-cycle Model Which part will we talk about today?

Project Management Courses

Vladimir Liberzon Shane Archibald Olga Makar-Limanov INTRODUCTION

CS 307: Software Engineering. Lecture 14: Project Management

Software Process and Project Metrics

DAMELIN CORRESPONDENCE COLLEGE

Resource Critical Path Approach to Project Schedule Management

Scheduling Resources and Costs

Darryl Vleeming June 13, 2012

Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for controlling, tracking, and monitoring a comple

Cost Estimation. I've got Bad News and Bad News!

Estimating Project Schedule-Time and Cost

Production Management and Scheduling

Project vs Operation. Project Constraints. Pankaj Sharma, Pankaj Sharma,

Building Flexible Project Plans with Microsoft Project 2010

EGR 386W. Proposals & Project Management. Work Breakdown Structure (WBS) & Gantt Charts

Planning & Scheduling CSTM 102

PMBOK Guide Fifth Edition Pre Release Version October 10, 2012

Modern Systems Analysis and Design Seventh Edition

"Charting the Course to Your Success!" MOC Microsoft Project 2010 Exam Prep Bootcamp. Course Summary

Project Planning and Management Team Polk. Ricardo Carrion-Carrero, Matthew Luker, Arnold Lestin

Integration and Testing

Chapter 3 Managing Systems Projects

Project Management CSC 310 Spring 2017 Howard Rosenthal

Announcements. INF 111 / CSE 121: Software Tools and Methods. Class Overall & Quiz 3. Class Averages. Today s Lecture. Previously in INF 111/CSE 121

Metrics and Estimation. Metrics. Lord Kelvin

Project Management and Testing

Managing Customer Specific Projects Tomas Nyström

Project Planning & Scheduling

Chapter 5 Project Scheduling. (Source: Pressman, R. Software Engineering: A Practitioner s Approach. McGraw-Hill,

Transcription:

Cost Estimation What are the costs of a Software Project? Why does it matter for us to know this? How do you measure productivity?

Why is project cost difficult to estimate? Error Rate Software cost estimation Boehm (1981) Algorithmic cost modeling Base estimate on project size (lines of code) Expert judgment Ask others Estimation by analogy Cost based on experience with similar projects Parkinson s Law Project time will expand to fill time available Pricing to win Cost will be whatever customer is willing to pay Top-down estimation Estimation based on function/object points Bottom-up estimation Estimation based on components

Function points Function points are computed by first calculating an unadjusted function point count (UFC). Counts are made for the following categories (Fenton, 1997): External inputs those items provided by the user that describe distinct application-oriented data (such as file names and menu selections) External outputs those items provided to the user that generate distinct application-oriented data (such as reports and messages, rather than the individual components of these) External inquiries interactive inputs requiring a response External files machine-readable interfaces to other systems Internal files logical master files in the system Each of these is then assessed for complexity and given a weighting from 3 (for simple external inputs) to 15 (for complex internal files). Function points -> Lines of code 200-300 LOC/Function point in assembly Multiplication factor by language Programmer productivity? 30-900 LOC/month!

Function Point Weights Weighting Factor Item Simple Average Complex External inputs 3 4 6 External outputs 4 5 7 External inquiries 3 4 6 External files 7 10 15 Internal files 5 7 10 Object points Similar to function points (used to estimate projects based heavily on reuse, scripting and adaptation of existing tools) Number of screens (simple x1, complex x2, difficult x3) Number of reports (simple x2, complex x5, difficult x8) Number of custom modules written in languages like Java/C x10 Productivity between 4 and 50 object points per month/ developer

Factors affecting productivity Application domain expertise Quality requirements Project size Team size Technology support Working environment Project & Risk Management Managing expectations & Trade-offs Planning for the unforeseen Target: 100% cost Target : $70K capability duration Target : 4 defects/kloc defect density Target : 30 wks

Cost Breakdown Time 0% 20% 40% 60% 80% 100% Specification Design Development Integration/Testing Affecting Delivery Dates More people!= More faster Why? Time Effort (People)

Is That it? What does a man-hour really cost? Project Scheduling

Project scheduling Split project into tasks and estimate time and resources required to complete each task. Organize tasks concurrently to make optimal use of workforce. Minimize task dependencies to avoid delays caused by one task waiting for another to complete. Activity vocabulary Activities in a project should be organized to produce tangible outputs for management to judge progress. Milestones are the end-point of a process activity. Deliverables are project results delivered to customers.

Bar charts and activity networks Show project breakdown into tasks. Tasks should not be too small. They should take about a week or two. Tasks should not be too big, or you loose your ability to track progress. Activity charts show task dependencies and the critical path. Bar charts show schedule against calendar time. Activity network: Critical Path

Activity timeline: GANTT Charts Estimations vs. Realworld Estimations will typically give you a best-case scenario. Even if you do everything perfectly, chances are the unforeseen will affect your productivity

Building a Buffer: Planning for the Unexpected Buffer for unexpected features we thought up during development Buffer for unexpected competitive responses needed because our competitor did something Buffer to allow code written by different developers to be integrated so it works together (depending on the experience of your team this can be 25% - 100%) Buffer for non-development tasks that employees must perform, e.g. "1 day mandatory diversity training," "emergency company meeting," fire drills, birthday cake for the boss, etc. etc. Buffer because things take longer than estimated How Much To Buffer? Probability distribution Most optimistic date Pessimistic date Most likely date