Lecture 9: Estimation and Prioritization" Project Planning"

Similar documents
Agile Non-Agile. Previously on Software Engineering

Object-oriented Analysis and Design

Work -> Data -> Insight -> Action Let s Play Agile Coach! with Agile Metrics Case Studies

Introduction. How are games similar/different from other software engineering projects? Common software engineering models & game development

Lecture 13: Requirements Analysis

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

PROJECT MANAGEMENT. CSC404 Tutorial Slides

"Plans are nothing; planning is everything" - Dwight D. Eisenhower

Identifying Best-Value Technologies Using Analogy-Based Cost Estimating Methods and Tools

Domain Understanding and Requirements Elicitation

Mike Cohn - background

FRONT END INNOVATION Multidisciplinary innovation process

Agile Software Development

Beyond Scrum. Thursday, April 1, Clinton Keith Consulting

Federico Forti, Erdi Izgi, Varalika Rathore, Francesco Forti

Code Complete 2: A Decade of Advances in Software Construction Construx Software Builders, Inc. All Rights Reserved.

Chapter 2 Understanding and Conceptualizing Interaction. Anna Loparev Intro HCI University of Rochester 01/29/2013. Problem space

ISO ISO is the standard for procedures and methods on User Centered Design of interactive systems.

39 Years of Learning the Hard Way. Mark A Etrheim, Mastercraft Homes Inc

Software LEIC/LETI. Lecture 21

MEMORANDUM OF UNDERSTANDING ON BILATERAL CO-OPERATION

Code Complete 2: Realities of Modern Software Construction

Developers, designers, consumers to play equal roles in the progression of smart clothing market

An Agile Coach Choose Your Own Path Story

Strategies for Developing a Career Path that Works

Guiding Cooperative Stakeholders to Compromise Solutions Using an Interactive Tradespace Exploration Process

MITOCW watch?v=-qcpo_dwjk4

10. Personas. Plan for ISSD Lecture #10. 1 October Bob Glushko. Roadmap to the lectures. Stakeholders, users, and personas

EECS 473. Review etc.

SOFT 423: Software Requirements

Elements in decision making / planning 4 Decision makers. QUESTIONS - stage A. A3.1. Who might be influenced - whose problem is it?

CSE - Annual Research Review. From Informal WinWin Agreements to Formalized Requirements

The Odds Calculators: Partial simulations vs. compact formulas By Catalin Barboianu

Game Production Practice DR. ROBERT ZUBEK, SOMASIM LLC EECS-397/497: GAME DEVELOPMENT STUDIO WINTER QUARTER 2018 NORTHWESTERN UNIVERSITY

Leadership: Getting and Giving the Call for Action

Contents. The software development problem The XP solution The JUnit testing framework. 2002, W. Pree 2

How I Work, and Use Scrum Personally

EECS 473. Review etc.

SOFT 423: Software Requirements

Australia Council for the Arts. Artistic vibrancy. Self-reflection tool. Self-reflection tool 1

Design Science Research Methods. Prof. Dr. Roel Wieringa University of Twente, The Netherlands

Candidate Interview Preparation

ADVICE FOR USING THE BLUEPRINT

School Based Projects

Requirement Definition

RISE OF THE HUDDLE SPACE

Non-Functional Requirements (NFRs) Definitions

User Experience Questionnaire Handbook

Lean Enablers for Managing Engineering Programs

Design for Affordability in Complex Systems and Programs Using Tradespace-based Affordability Analysis

1. Learn to say no. 3. Disconnect from the Internet, including on your phone, when you re working on a project.

MASTER DATA MANAGEMENT 7 QUESTIONS TO CONSIDER

Apocalypse Defense. Project 3. Blair Gemmer. CSCI 576 Human-Computer Interaction, Spring 2012

CHAPTER 1: INTRODUCTION TO SOFTWARE ENGINEERING DESIGN

Software Requirements Specification

Plain Language in Norway s Civil Service. Sissel C. Motzfeldt

PREPARATION OF METHODS AND TOOLS OF QUALITY IN REENGINEERING OF TECHNOLOGICAL PROCESSES

University of Toronto. CSC340F Information Systems Analysis and Design

the gamedesigninitiative at cornell university Lecture 8 Prototyping

Patterns & Anti-Patterns in SOA

You Can Do 100+ Deals a Year!

About Software Engineering.

Design, Constraints and Integrity

Business Driven Software Development. Why the Focus on the Team is an Impediment to Agile

Must the Librarian Be Underdog?

CSSE220 BomberMan programming assignment Team Project

Easy Robot Software. And the MoveIt! Setup Assistant 2.0. Dave Coleman, PhD davetcoleman

Strategies for Developing a Career Path that Works

Requirements Analysis aka Requirements Engineering. Requirements Elicitation Process

How to complete the Work-Based Project ASSOCIATION MUSEUMS AMA. Building a successful career in museums

Ten Years of Progress in Lean Product Development. Dr. Hugh McManus Associate Director, Lean Advancement Initiative Educational Network

Model checking in the cloud VIGYAN SINGHAL OSKI TECHNOLOGY

D8.1 PROJECT PRESENTATION

Software Project Management 4th Edition. Chapter 3. Project evaluation & estimation

Sorrel Gilbert, 26, Hampshire Programme manager, Mercury Systems

Leveraging Simulation to Create Better Software Systems in an Agile World. Jason Ard Kristine Davidsen 4/8/2013

The Role of Co-production in RCOFS: Toward Usable Climate Services

Sound Practices of Games Business and Design

Using Proof-of-Work to Coordinate

Dan Dvorak and Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology. Jonathan Wilmot NASA Goddard Space Flight Center

User Interface Software Projects

DEMYSTIFYING DESIGN-BUILD. How to Make the Design-Build Process Simple and Fun

Game Production: the production process

Good vs. Evil: AI And Machine Learning In The Real World

Skylands Learning is your trusted learning advisor. That is our promise your trusted learning advisor. Four simple words.

Seeing things clearly: the reality of VR for women. Exploring virtual reality opportunities for media and technology companies

CS 354R: Computer Game Technology

PROCESS SAFETY FOR THE REFINING AND PETROCHEMICAL INDUSTRIES

T.C. YEDITEPE UNIVERSITY INSTITUTE OF SOCIAL SCIENCES MEDIA STUDIES DOCTORAL PROGRAMME

Purpose and Difficulty of Software Testing

Queens Wellness Clinic Survey March, 2018

The Ucd Kick-off Tool. Frederik Hoolhorst Mascha van der Voort

Technology Roadmapping. Lesson 3

UX RUNWAY THE TRIALS AND TRIBULATIONS OF UX IN AN AGILE ENVIRONMENT. Agile2014: Tuesday July 29, 2014 Natalie Warnert #agile2014

Academic job market: how to maximize your chances

Young Professionals: Tips on Building Business Relationships

Why do they not make productivity permanent? Why do they only engage in these temporary cycles?

Space Launch System Design: A Statistical Engineering Case Study

The Norwegian Petroleum Directorate

YOU are going to die.

Transcription:

Lecture 9: Estimation and Prioritization Project planning Estimating Effort Prioritizing Stakeholderʼs needs Trade-offs between stakeholder goals 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 1 Project Planning Given: A list of customer requirements E.g. a set of use cases, a set of change requests, etc. Estimate: How long each one will take to implement (cost) How important each one is (value) Plan: Which requests should be included in the next release Complication: Customers care about other stuff too: E.g. quality, performance, security, usability, 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 2 1

Key Principles of Management A manager can control 4 things: Resources (can get more dollars, facilities, personnel) Time (can vary the schedule, delay milestones, etc.) Product (can vary the amount of functionality - e.g. scrub requirements) Risk (can decide which risks are acceptable) Approach (applies to any management) Understand the goals and objectives quantify them where possible Understand the constraints if there is uncertainty, use probability estimates Plan to meet the objectives within the constraints Monitor and adjust the plan Preserve a calm, productive, positive work environment Note: You cannot control what you cannot measure! 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 3 Strategies Fixed Product 1. Identify customer requirements 2. Estimate size of software needed to meet them 3. Calculate time required to build this much software 4. Get customer to agree to the cost & schedule Fixed schedule (a.k.a. Timeboxing) 1. Fix a date for next release 2. Obtain prioritized list of requirements 3. Estimate effort for each requirement 4. Select requirements from the list until the box is full Fixed Cost 1. Agree with customer how much they wish to spend 2. Obtain prioritized list of requirements 3. Estimate cost of each requirement 4. Select requirements off the list until the cost is used up 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 4 2

Estimating Effort: COCOMO Source: Adapted from van Vliet, 1999, section 7.3.2 COnstructive COst Model (COCOMO) Predicts cost of a project from a measure of size (lines of code) Basic model is: effort project specific factors E = al b lines of code Modeling process Establish type of project (organic, semidetached, embedded) this gives sets of values for a and b Identify the component modules, and estimate L for each module Adjust L according to how much is reused COCOMO has a model for adjusting according to how much design, code and integration data is reused Compute effort for each module using E = al b Adjust E according to difficulty of the project COCOMO identifies 15 effort multipliers to take into account Product attributes: eg required reliability, complexity, database size Computer attributes: eg execution time constraints, storage constraints, etc. Personnel attributes: eg capability & experience of analysts and programmers, Project attributes: eg use of CASE tools, programming language, schedule Compute time using T = ce d c and d provided for different project types like a and b were 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 5 Estimating Size: Function Points Source: Adapted from van Vliet, 1999, section 7.3.5 Function Points used to calculate size of software from a statement of the problem tries to address variability in lines of code estimates used in models such as COCOMO e.g. because SLOC varies with different languages Originally for information systems, although other variants exist Basic model is: metric from problem statement FP = a 1 I + a 2 O + a 3 E + a 4 L + a 5 F weighting factor for this metric Example Sets of weightings (a i ) provided for different types of project Measure properties of the problem statement: I = number of user inputs (data entry) O = number of user outputs (reports, screens, error messages) E = number of user queries L = number of files F = number of external interfaces (to other devices, systems) Example calculation: FP = 4I + 5O + 4E + 10L + 7F 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 6 3

Simpler approaches to estimating Estimation in Practice: People tend to underestimate effort needed Most estimates are made to please the {boss, customer, } Easier to estimate small chunks of work than large ones Three-point estimating Provides better estimates than just asking for a range w = worst possible case m = most likely case b = best possible case E = i w i + 4m i + b i 6 and don t forget: effort < duration!! 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 7 Not All Requirements Are Equal! Source: Adapted from Karlsson & Ryan 1997 Perform Triage: Some requirements *must* be included Some requirements should definitely be excluded That leaves a pool of nice-to-haves, which we must select from. Value (percent) 30 25 20 15 10 High priority Medium priority 5 Low priority 5 10 15 20 25 30 Cost (percent) 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 8 4

Some complications Hard to quantify differences easier to say x is more important than y than to estimate by how much. Not all requirements comparable E.g. different level of abstraction E.g. core functionality vs. customer enhancements Requirements may not be independent No point selecting between X and Y if they are mutually dependent Stakeholders may not be consistent E.g. If X > Y, and Y > Z, then presumably X > Z? Stakeholders might not agree Different cost/value assessments for different types of stakeholder 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 9 Biased Estimates Source: Aranda & Easterbrook 2005 Anchoring and Adjustment in Software Estimation 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 10 5

Even with experienced estimators Source: Aranda & Easterbrook 2005 Anchoring and Adjustment in Software Estimation 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 11 By confidence interval Source: Aranda & Easterbrook 2005 Anchoring and Adjustment in Software Estimation 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 12 6

Agile Approach Measure progress of small tasks Reduces regions of no visibility Use the issue tracking system! Estimate effort for each task adjust estimate of remaining effort as iteration progresses Only working code counts Task complete only when it delivers tested, working code (okay, training material, manuals, etc also count - but nothing else!) Visualize Progress E.g. use a burndown chart Use your experience! E.g. if estimates are out on this iteration, adjust estimates for the next 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 13 Agile Estimation (hours) 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 14 7

Continuously re-estimate velocity 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 15 Good read for intro to Agile Henrik Kniberg http://infoq.com/minibooks/ scrum-xp-from-the-trenches 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 16 8

Advice from ICONIX Plan at appropriate detail Negotiate the scope (when faced with fixed deadline) Customer dictates priority Adjust the plan to fit reality (small release cycles help) Get feedback on progress and risks Try to get it right first time (rather than fix it later) Use 3 types of release: internal, investigative, production Plan to re-factor when necessary (avoid rot) Consider high impact decisions during early iterations 2012 Steve Easterbrook. This presentation is available free for non-commercial use with attribution under a creative commons license. 17 9