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

Similar documents
Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

Manual Techniques, Rules of Thumb

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

UC Santa Barbara. CS189A - Capstone. Christopher Kruegel Department of Computer Science UC Santa Barbara

Software cost estimation

Estimating Duration and Cost. CS 390 Lecture 26 Chapter 9: Planning and Estimating. Planning and the Software Process

Professor Hausi A. Müller PhD PEng FCAE Department of Computer Science Faculty of Engineering University of Victoria

Fundamental estimation questions. Software cost estimation. Costing and pricing. Software cost components. Software pricing factors

Software cost estimation

CSSE 372 Software Project Management: Software Estimation Fundamentals

How to improve the quality of your processes

Cost Estimation for Projects

REQUIREMENTS ENGINEERING

How to improve the quality of your processes

Software Project Management

Software Project Management

Information Technology Project Management. Copyright 2012 John Wiley & Sons, Inc.

Agile Planning. The problem with documentation

PLANNING AND ESTIMATING

System integration and software process

Industrial Engineering Prof. Inderdeep Singh Department of Mechanical and Industrial Engineering Indian Institute of Technology, Roorkee

10 Myths of Rapid Software Development. Construx Delivering Software Project Success

CS 307: Software Engineering. Lecture 14: Project Management

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

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 11: Managing the Software Process

COCOMO Models 26/12/2016 1

Shattering the Myths about CMMI and Extra- Small Companies

Transaction versus transform flow. Wednesday, September 19, :32 PM

Estimating Size and Effort

Lesson Three: Business Analysis Planning and Monitoring BANA 110 Analyzing Business Needs and Requirements Planning Gary Mesick and Shelly Lawrence,

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

Personal Software Process SM for Engineers: Part I

Effective Software Sizing A Galorath Web Seminar 01 September 2004

Metrics and Estimation. Metrics. Lord Kelvin

Object-Oriented Software Engineering! Using UML, Patterns, and Java! Chapter 3, Project Organization and Communication

Internal Quality Auditing (for projects)

Estimating Size and Effort

Introduction to e-commerce website optimization

Lecture 22 System Development

2 Why is systems development difficult and risky? 3 How do businesses use the systems development life cycle (SDLC) process?

CSCI 510 Final Exam, Fall 2017 v10 of solution & rubric Monday, December 11, questions, 300 points

MTAT Software Economics. Session 6: Software Cost Estimation

cis20.2 design and implementation of software applications 2 spring 2010 lecture # I.2

the software world... software engineering? software engineering: one definition

Today s Lecture. Fall 2004 SE 101 Introduction to Software Engineering 2

You may not use a calculator on this exam. You are allowed one index card of notes, 3 inches by 5 inches.

Credit where Credit is Due. Lecture 2: Software Engineering (a review) Goals for this Lecture. What is Software Engineering

Estimating SW Size and Effort Estimating Size and Effort

Unit 2 Economic Models: Trade-offs and Trade

The Structure of Costs in the

TEACHING KIDS GOOD FINANCIAL HABITS

White Paper. Duration Estimating

Introduction to Software Engineering

Chapter 4 Software Process and Project Metrics

Scheduling. Adapted from John Musser

Optimization Prof. Debjani Chakraborty Department of Mathematics Indian Institute of Technology, Kharagpur

CSE 331 Software Design & Implementation. Hal Perkins Winter 2018 System Integration and Software Process

Introduction. If you are curious of what to expect, then read on

By: Ronny Trefftzs CSCI 5828: Foundations of Software Engineering Spring 2012 Professor: Kenneth Anderson

Overcoming Waterfallacies and Agilephobias: Tales of Resistance and Woe

In this Lecture you will Learn: Requirements Capture. User Requirements. Current System Investigating

Market Brief: Overcoming Internal Roadblocks to Sourcing Transformation

Chapter 3, Project Organization and Communication

How Paratransit Software Improves Trip Booking

By: Aderatis Marketing

Teacher's Guide. Lesson Two. Money Responsibility 04/09

T Software Testing and Quality Assurance Test Planning

5 Reasons Your B2B Mobile App Will Fail. And How to Ensure It Doesn t

A Software Metrics Primer

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

Effort Estimation. Method + Process + Communication. OXID esales AG Dr.-Ing. Oliver Ciupke Head of Professional Services OXID esales AG

PMP Practice Questions

SOFTWARE ENGINEERING

Jeremy Peters 826 Michigan Talking Points for 2014 State of the Huron Conference

Engineering & Economics Concepts for Understanding Software Process Performance

How Systems Engineers learnt to meet all deadlines

A book review: The Benefit of Innovation and how firms can learn from best practice

BEC Vantage Reading Part 3 Teacher s Notes

CS 501: Software Engineering. Lecture 2. Software Processes

10 Tips. for enhancing tendering practices

DOCUMENTING FUNCTION POINT MEASUREMENTS. By Thomas Stein CFPS, CPA, CDFM

Tech-Clarity Perspective: The Facts About Managing Product Data. The Real Story on PDM Value and Accessibility

Announcements: HW #6 due in two weeks. Next week: Spring Break

Before You Start Modelling

Risk Management. Risk Management. Risk Reduction Patterns. Typical Sources of Risk. Dr. James A. Bednar. Dr. David Robertson

SEM (Search Engine Marketing)

Click to return to In this Lesson

Chapter 3-Your Purchasing Power. Section 3-1_Inflation and the Value of Money

Entrepreneurship Innovation and Global Operations

Employer Survey for Work Readiness Skills

8/30/2010. Lecture 1. Topics covered. Functional and non-functional requirements The software requirements document Requirements specification

Cut Your PPC Campaigns Down To Size

Chapter 2 - Project Selection and Prioritization

Digital Skills Survey

Forget velocity, Foster creativity. Harm harmpauw

SCHEDULING EFFICIENCY: FINDING THE RIGHT MEASURE

IF YOUR PROCESS isn t broken, don t fix it! That is to say, if nobody wants

Announcements. Lecture 22 System Development. Announcements. Announcements. CSE 331 Software Design and Implementation. Leah Perlmutter / Summer 2018

A CLIENT S GUIDE WHERE TO START WHAT HAPPENS ON SITE WHAT ARE THE BENEFITS. 10 Advantages of. Design Build

Poorly estimated projects

Transcription:

Announcements INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Summer, 2008 Michele Rousseau Set 9 Estimation Techniques Quiz #4 will be on Thursday UML & Readings not covered on previous quizzes Regrades for Quiz #3 are due on Thursday Assignment #3 due next Monday Readings: Van Vliet Chapter 7 2 Class Averages Class Overall & Quiz 3 Quiz #3 Max 100% Min 54% Avg 85% Median 86% Class Overall Max 97% Min 32% Avg 80% Median 87% 3 90-100 80-89 70-79 60-69 <60 0 5 10 15 20 Quiz3 Class Overall 4 Previously in INF 111/CSE 121 Today s Lecture UML Package Diagrams State Transition Diagrams Activity Diagrams Communication Diagrams Effort Estimation 5 6 1

The Mythical Man-Month Effort Estimation Most software projects have gone awry for lack of calendar time than for all other causes combined. Why is this cause of disaster so common? Brooks p. 14 Predicting the resources required for a software development process How much effort is required to complete an activity? How much calendar time is needed to complete an activity? What is the total cost of an activity? Project estimation and scheduling and interleaved management activities 7 8 Effort Estimation The Mythical Man-Month How do you know how long a programming problem will take? Chapter 2 of Brooks Source of some key ideas in software engineering about effort estimation Lessons that we haven t really learned (as you can see in van Vliet) Don t confuse effort with progress Just because you put in time, it doesn t mean that you re closer to your goal 9 Adding people to a project that is already late will only make it later 10 5 Key Points from MMM Poor Estimation 1. Poor Estimation 2. Effort estimates confuse effort with progress Assuming men and months are interchangeable 3. We don t back up our estimates. 4. Schedule progress is poorly monitored. 5. Adding people to a project that is already late will only make it later. Assumes nothing will go wrong Large project has many smaller tasks Hard to know all in advance Hard to estimate accurately Probability of success in every step is small Progress is poorly monitored Most measures confuse effort with progress 11 12 2

Why are Men and Months not interchangeable? Problems with Communication Man-month: how much work is completed by 1 person in 1 month Some attempt to schedule based on manmonths.. Project is planned for: 5people x 4 months but there s no time: x 2 /2 just double people!: 10 people x 2 months Myth: men and months are interchangeable Why not? Adding new people requires training them Productive people are taken off the project Intercommunication If each part of the task must be coordinated 3 workers takes 3x the communication 4 workers takes 6x the communication Effort of communicating must be added to the amount of work to be done Generally, adding more people lengthens the process Communication!! 13 14 What about System Testing? Optimism: My code is bug-free Usually the most mis-scheduled part of programming Testing should account for ½ of the schedule Awareness of being behind schedule occurs at the last minute Factors Affecting Productivity Rates Application domain experience Process quality Project size Negative relationship Technology support Working environment 15 16 How are project plans created? A wish list for the project is created Clients, executives, product managers, and programmers have input Tasks on the wish list are sized Programmers are asked about feasibility and effort required - they give their best guess 17 How are project plans created? (2) Numbers are passed up the chain Numbers are inflated and deflated to suit whether the availability of: Money Calendar time, work time Market pressures, e.g. competitive bids, competitor time to market, trade shows Project plans are based on effort estimates! 18 3

Poor Estimation Techniques Guessing Parkinson's Law Pricing to win Budget method Brooks, Chapter 2 Good cooking takes time. If you are made to wait, it is to serve you better, and to please you. Gutless estimating 19 Parkinson's Law Work fills the time available. The project takes all the available time Adjust functionality? Advantage No overspending Unethical Unreliable System is usually unfinished Wait or eat it raw 20 Pricing to Win Pricing to Win (2) The project costs less than whatever our competitors say Advantages You get the contract Unethical Unreliable The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required The project cost is agreed on the basis of an outline proposal and the development is constrained by that cost A detailed specification may be negotiated or an evolutionary approach used for system development London Ambulance System 21 22 Gutless Estimating Budget Method More typical in S/E than in other engineering disciplines Schedule to meet the client s desired date Estimate based on little data Similar to Parkinson s law, but based on money instead of time The project costs whatever the customer has to spend on it Managers need a backbone: Poor hunches sometimes better than wish-derived estimates Advantages and Disadvantages similar to Parkinson s Law 23 24 4

Take a break! Get some Coffee Wakey-Wakey When we return Better Estimation Techniques Better Estimation Techniques Estimating based on experience or hard data Expert judgment Estimation by analogy Variation: Delphi method Algorithmic cost modeling Personal Software Process 25 26 Expert Judgment One or more experts in both software development and the application domain use their experience to predict software costs. Estimation by Analogy The cost of a project is estimated by comparing the project to a similar project in the same application domain Advantages Relatively cheap estimation method Can be accurate if experts have direct experience with similar systems Very inaccurate if there are no experts Are you an expert? Does not use hard data 27 Advantages Accurate if project data available Impossible if no comparable project has been undertaken Estimates can be inaccurate if details overlooked Subsequent similar projects can be quicker 28 Delphi Method Idea: Create a group expert opinion, while counterbalancing personality factors in process Panel of independent expert estimators + moderator Delphi Method (2) 1. Experts independently create estimates. 2. Moderator collects written estimates from individuals. 3. Estimates are distributed to group. Anonymously 4. Experts deliver new estimates based on new information from moderator (others opinions may help fill in forgotten details) 5. Continue until consensus is reached 29 30 5

Algorithmic Cost Modeling Cost and development time for a project is estimated from an equation Equations can come from research or industry Analysis of historical data Work best if they are tailored using personal and organizational data Adjust weights of metrics based on your environment 31 Basic Equation Estimate Constant: Organizational Dependent Effort for Large Projects Disproportionate E = (a + S c )m(x) Size (LOC) Multiplier: Reflects product, process & people attributes Vector of cost factors (x1..xn): Complexity of the product, Risk, resources, methods, tools, etc Most commonly used product attribute for cost estimation is code size Most models are basically similar but with different values for a,c, & m 32 Problems with Algorithmic Estimation Effort estimates are based on size Highly inaccurate at start of project Size is usually given in lines of code Lines of code does not reflect the difficulty Some short programs are harder to write than long ones Lines of code effort Not all activities produce code Programming Language: Java vs. assembler Number of Components Distribution of the system 33 Problems with Algorithmic Estimation Recall Brooks Chapter 2 Effort Progress The c exponent is an attempt to account for communication and complexity costs, but basic problem remains 34 Estimate Uncertainty As you approach delivery, the size estimate becomes more accurate 35 6