Software Development Estimation

Slides:



Advertisements
Similar presentations
Chapter 5 Development and Evolution of User Interface
Advertisements

COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Ch-2 Proposals and Contracts. Introduction Many issues have to be handled in a contract and a proposal including legal concerns, commercial arrangements.
Agile at ON.Lab Bill Snow VP of Engineering. What is waterfall? RequirementsDesignDevelopTest Or Requirements Design Develop Test Time.
The Software Project Management Discipline Succes software projects require careful planning and good use of iterative approaches. Understanding risks.
Technical Communication 1
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
Project Support Function PM Planning Organizing Staffing Monitoring Controlling and Leading Project Support Functions Monitoring Controlling.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Chapter 3.1 Teams and Processes. 2 Programming Teams In the 1980s programmers developed the whole game (and did the art and sounds too!) Now programmers.
A Technical Game Project 4 Due dates: Game Idea Friday, March 16 th Game Plan Friday, March 23 rd Web Page Sunday, April 9 th First Playable Wednesday,
Technical Writing Introduction What’s in store for you this semester.
CSE Senior Design I Your Plan: Estimation Instructor: Mike O’Dell This presentations was derived from the textbook used for this class, McConnell, Steve,
10/25/1999(c) Ian Davis1 Software Project Planning © Ian Davis.
Introduction to Interactive Media 02. The Interactive Media Development Process.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
CSC 354 – Software Engineering, Spring 2013, Week 2 Mythical Man-Month Ch. 1-5 Tar Pit, Mythical Man-Month, Surgical Team, Aristocracy / Democracy & System.
MULTIMEDIA DEVELOPMENT
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Introduction to Interactive Media The Interactive Media Development Process.
1.  Project: temporary endeavor to achieve some specific objectives in a defined time  Project management ◦ Dynamic process ◦ Controlled and structured.
University of Southern California Center for Systems and Software Engineering Retrospective Analysis Supannika Koolmanojwong October 21,
Project estimation Biased advice on producing accurate project estimates and managing expectations with stakeholders. Morgan Strong.
1 / 23 CS 709B Advanced Software Project Management and Development Software Estimation - II Based on Chapter 4 of the book [McConnell 2006] Steve McConnell,
The Art of Estimating Programming Tasks Adriana Lopez Development Director Dragon Age II.
INFO 424 Team Project Practicum Week 2 - Launch report, Project tracking, Review report Glenn Booker Notes largely from Prof. Hislop.
T Iteration Demo Group name [PP|I1|I2] Iteration
4-Jun-16COMP28112 Lecture 181 It’s been three months since the first lecture… We went a long way… We covered a number of topics… Let’s see some… COMP28112.
CSCI 521 Final Exam Review. Why Establish a Standard Process? It is nearly impossible to have a high quality product without a high quality process. Standard.
Software Engineering - Abdul Majeed. What is software? Definition of Software Engineering Software Process Generic view of Software Engineering Software.
CS5103 Software Engineering Lecture 02 More on Software Process Models.
Estimating Project Time and Cost
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
Goals of Documentation ITSW 1410, Presentation Media Software Instructor: Glenda H. Easter.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System A Use Case Primer Organizing.
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
CS223: Software Engineering Lecture 4: Software Development Models.
Chapter Eighteen Proposition of the Mythical Man Month: True or False?
T Iteration Demo Group name [PP|I1|I2] Iteration
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
Project Management “Project Planning & Scheduling” Lecture 07 Resource Person: M. Adeel Anjum.
Planning Extreme programming
CPSC 315 Programming Studio Spring 2009 Frank Shipman.
Software Requirements Specification. Requirements Specification: An Overview Basic goal: To understand the problem as perceived by the user. Activities.
Software Project Management
Copyright , Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M15 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
CS 160 and CMPE/SE 131 Software Engineering March 22 Class Meeting Department of Computer Science Department of Computer Engineering San José State University.
 System Requirement Specification and System Planning.
SOFTWARE DEVELOPMENT Presented By : Emporiumtech This presentation is brought you by
L5 Computing Team Project Final Presentation Guidelines.
27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:
Project Management 6e..
Where We Are Now. Where We Are Now Estimating Projects Estimating Types of Estimates The process of forecasting or approximating the time and cost.
Why Software Estimation is so Painful and How It Doesn’t Have To Be
Exam 0 review CS 360 Lecture 8.
Managing the Project Lifecycle
Systems Analysis and Design
Lecture 11: Scheduling, Estimation, and Prioritization
What is it? This is our recommendation of how to spend each hour when revising. Why? Students can engage in ineffective revision which can limit their.
Software Project Sizing and Cost Estimation
Software Project Planning &
Software Project Management
Software Development Process
Sprint Planning April 2018.
Software Cost Estimation
Think about your view of QA
Where We Are Now. Where We Are Now Estimating Projects Estimating Types of Estimates The process of forecasting or approximating the time and cost.
Presentation transcript:

Software Development Estimation Dark Art or Science? Stefan Kiryazov (Vereo, Wizefish)

инвестираме в бъдещето

wizefish.com Софтуерни решения за успешен бизнес

Introduction Target audience Required background skills Senior software developers Technical leaders Project managers High level managers Customers Required background skills Familiarity with the software development process

Causes for Uncertainty Presenting Estimates Estimation Process Contents Causes for Uncertainty Presenting Estimates Estimation Process Corporate Portals, Enterprise Portals, Enterprise Portal Servers

Background Why is estimating important? A foundation for efficient development Estimate too high – Parkinson’s law Estimate too low – inefficient planning Is perfect estimating possible? The software estimating story

Cost Budgeting

Causes for Uncertainty Will the customer want Feature X? Will the customer want the cheap or expensive version of Feature X? If we go for the cheap, will he/she want the expensive one later after all? How will Feature X be designed? How long will it take to fix the bugs in Feature X? How long will it take to integrate Feature X?

Causes for Uncertainty Software development – a process of gradual refinement The perfect estimate is doing the project work itself The earlier, the less precise

Estimate Convergence Graph

“It is the mark of an instructed mind to rest satisfied with the degree of precision which the nature of the subject admits and not to seek exactness when only an approximation of the truth is possible …” Nichomachean Ethics, Aristotle

The Schedule Graph

Optimistic Schedule Graph

Avoid overprecise estimates Presenting Estimates Presentation styles Plus/minus Conditions Cases Ranges Avoid overprecise estimates Accuracy vs precision Use coarse periods

Estimation Process Size estimation Effort estimation Schedule estimation

Compare with past projects Size Estimation What is size? Function points Lines of code Custom measurement Compare with past projects Compare with documented data, not personal memory

Derived from size estimate No off-the-cuff estimates! Effort Estimation Derived from size estimate No off-the-cuff estimates! Even with conditions! Estimate at high level of detail Law of large numbers

Don’t omit common tasks Developer based estimates Effort Estimation Don’t omit common tasks Developer based estimates Sanity checking Commitment-based estimates Compare estimates

The Cost Graph

Compression increases cost! Schedule Estimation The nominal schedule Schedule = 3 * Effort1/3 Schcedule – months, Effort - manmonths Schedule compression Compression Factor (CF) = Nominal / Compressed Compression increases cost! Compressed cost = Initial cost / CF

Questions ? Provide some feedback, please!