Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Your logo here Webinar: Agile Estimation Using Functional Metrics Revisited September 23, 2010 11:00 AM – 12:30 PM 1 ITMPI005 Tom Cagley David Consulting Group Vice President & Director of Software Process Improvement, Software Measurement and IT Performance Improvement Consulting Practices [email protected] ITMPI005 About Presenter’s Firm At the David Consulting Group, we believe in the value of software measurement, estimation and process improvement. Our mantra is “Measure. Improve. Deliver.” Our approach is agile. We deliver value to our clients regularly and frequently, irrespective of the best practices we utilize. We believe in the Declaration of Interdependence. 3 Estimation v Planning v Budgeting • Defines how much we have to spend and influences scope Budgeting • Tends to ignore the cone of uncertainty • Rough or approximate size extent or nature Estimation • Focused by the cone of uncertainty Planning • Definition of tasks and allocation of resources • Focused on the narrow part of the cone of uncertainty Basics: Inputs and Outputs • Inputs • Estimate Outputs – Sized Requirements – Effort – Skills – Cost – People – Equipment All data should be leveraged when planning • Planning Outputs – Schedules – Resource Allocation Basic Estimation Model What Functional Size • • • • Function Points Use Case Points Story Points Tee Shirt Sizing How With What Behavioral Attributes Technical Complexity • Process Disciplines • Sourcing Model • Skills • Security • Languages • Architecture Productivity and Duration Signatures What Are Your Options Time Resources Functionality Customer Satisfaction? Promptness Credibility Empathy Problem Solving Competence Reliability So Why Doesn’t This Stuff Always Work? Uncertainty Self Knowledge Consistency of Method Uncertainty • You start projects knowing very little (as compared to when a project is implemented) Unknowns Knowledge Cone of Uncertainty Budgeting Initiation Implementation • Words are the only thing typically known before a project is initiated (usually not very many) Johari Window Known to Self Not Known to Self Known to Others Open Blind Not Known to Others Hidden Unknown 11 Many Methods of Estimating Budgeting Sprint Planning Analogy Bottom Up Parametric Iteration Planning Estimating Sprint Planning Planning Onion and Timing Budgeting Analogy Estimating Parametric - Light Mike Cohn’s Planning Onion Planning Integration Planning Standup Meetings A Proposed Solution Generate Initial Backlog Size Backlog • Quick and Early Function Points • Parametric Estimation Owner Prioritization Sprint Planning Iteration Planning • Business Need • Cohesion (grouping) • Planning Poker • Task / activity management 14 QEFP: The Logical View External Input External Input Other Applications External Output Internal Logical File External Inquiry External Interface File Internal Logical File External Output Other Applications Application Boundary Revisiting Grade School English • Sentence Diagramming Noun Verb Predicate Nominative Or Adjective In case you forgot - a predicate is an expression that can be true of something (the car is yellow) Translation • Function Point Diagramming ILF, EIF Data EI, EO, EQ DET, RET or FTR Transaction Identifier The goal is not diagram the whole requirement sentence but rather to to use the logic of the diagramming process to get to the measureable component. Translation Tool: Trigger Words Nouns Verbs Data Functions Transactions Functions ILF EI EIF EO EQ Function Points Sprint Planning In This Environment Product Owner Prioritizes Teams Sequence Apply Estimates Team Commits Translating Size Into An Estimate Input: Sized Backlog Disaggregation and Resize Estimation Worksheet And / or Commitment Planning Poker (factor in attributes and technical ) Case One Large software development firm, hierarchical culture and one very large project and many smaller Mixed SCRUM/XP (recent addition) and Plan Based project environment Strenuous budgeting process with tax accruals Significant discovery was required to define, design and develop the large project Experienced based estimation based on bottom up task planning – questionable on the large project! The Answer Techniques Used • QEFP for sizing backlog • QEFP for sizing items added during sprint planning • Planning Poker Impact • Improved product owner satisfaction • Increased perception of consistency • Reduced number of stories escaping sprints Case Two Large consumer product firm, hierarchical culture and many very large projects and many, many smaller Outsourced Plan Based project environment Strenuous budgeting process with tax accruals Difficult to determine whether they are getting value for their money Experienced based estimation based on bottom up task planning 23 Solution Inputs Requirements Consumed Outputs PROJECT Functionality Project Price Vendor Effort Defects Internal Effort Core Estimates • Cost • Duration • Size Function Points Story Points • Knowledge Gap) Duration 24 Questions? 25 Tom Cagley David Consulting Group Vice President & Director of Software Process Improvement, Software Measurement and IT Performance Improvement Consulting Practices [email protected]