By Majesh reddy Salla. Introduction Factors for poor estimation Agile Process Agile effort estimation techniques Planning poker Analogy & Expert opinion.

Slides:



Advertisements
Similar presentations
1 A Systematic Review of Cross- vs. Within-Company Cost Estimation Studies Barbara Kitchenham Emilia Mendes Guilherme Travassos.
Advertisements

Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Software Testing and Quality Attributes Software Testing Module ( ) Dr. Samer Hanna.
CS351 © 2003 Ray S. Babcock Cost Estimation ● I've got Bad News and Bad News!
Getting Started: Research and Literature Reviews An Introduction.
Planning and Estimating
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
Introduction to Project Management. What is a Project? “A planned undertaking of related activities to reach an objective that has a beginning and an.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Public Advice Traveling Help DSD Course – Project final Presentation School of Innovation, Design and Engineering Malardalen University Jan 15 th, 2008.
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
Introduction to Monte-carlo Analysis for software development
Configuration Issues and Efforts for Configuring Agile Approaches-Situational based Method Engineering Rinky Dwivedi, Computer Engineering Department Delhi.
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Estimation Why estimate? What to estimate? When to estimate?
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
INTRODUCTION TO PROJECT MANAGEMENT. WHAT IS A PROJECT? “A planned undertaking of related activities to reach an objective that has a beginning and an.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Integrating Usability Engineering and Agile Software Development: A Literature Review 陳振炎教授 楊哲豪
Joel Sporleder Director, Walmart Technology Project Management Shared Services The evolving role of the Project Manager.
5. Planning.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Software Life Cycle Models. Waterfall Model  The Waterfall Model is the earliest method of structured system development.  The original waterfall model.
Software cost estimation Predicting the resources required for a software development process 1.
Ucertainty estimates as part of the inventory process Kristin Rypdal, CICERO.
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Introduction to Systems Analysis and Design
AP-1 5. Project Management. AP-2 Software Failure Software fails at a significant rate What is failure? Not delivering it on time is an estimation failure.
© 2008 Prentice Hall1-1 Introduction to Project Management Chapter 1 Introduction Information Systems Project Management: A Process and Team Approach,
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Chapter 3: Software Project Management Metrics
Time Effect on Project Planning and Budgeting ‘Jide Onademuren.
BSBPMG504A Manage Project Costs 7.1 Estimate Costs Adapted from PMBOK 4 th Edition InitiationPlanning ExecutionClose Monitor Control The process of developing.
Project Estimation techniques Estimation of various project parameters is a basic project planning activity. The important project parameters that are.
BSBPMG503A Manage Project Time 6.4 Estimate Activity Duration The process of approximating the number of work periods needed to complete individual activities.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Warehouse Management INVENTORY FORECASTING: ISSUES AND CHALLENGES GROUP 2 MUHAMMAD SALAHAFIZ BIN ZAKARIA MOHAMAD NASIR BIN SOH ITMAM.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
Business Analysis. Business Analysis Concepts Enterprise Analysis ► Identify business opportunities ► Understand the business strategy ► Identify Business.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
Sixteen Questions About Software Reuse William B. Frakes and Christopher J. Fox Communications of the ACM.
Paul Alexander 2 nd SKADS Workshop October 2007 SKA and SKADS Costing The Future Paul Alexander Andrew Faulkner, Rosie Bolton.
Teaching slides Chapter 2. Chapter 2 Software Engineering Methodologies Introduction Why a methodology? Agile methodologies Waterfall model Rational Unified.
(6) Estimating Computer’s efficiency Software Estimation The objective of Software Estimation is to provide the skills needed to accurately predict the.
Continuous Improvement. Start Simple and Continually Improve E.g., Gmail Labels 1.
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Introduction to Software Engineering Muhammad Nasir Agile Software Development(2)
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Chapter 8: Maintenance and Software Evolution Ronald J. Leach Copyright Ronald J. Leach, 1997, 2009, 2014,
INTRODUCTION CSE 470 : Software Engineering. Goals of Software Engineering To produce software that is absolutely correct. To produce software with minimum.
What’s New in SPEED APPS 2.3 ? Business Excellence Application Services.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
Informed Traveler Program and Applications Agile / Scrum Overview Jerry Inberg.
Planning Poker-Agile Estimation for Dummies S.INFANTA PRINCY, M.E II YEAR. ANNA UNIVERSITY, TRICHY.
Planning 2: Estimation Mechanics Emerson Murphy-Hill Creative Commons Attribution 4.0 License. Material Produced by NCSU Software Engineering Faculty.
Effort Estimation in Agile Software Development: A Survey on the State of the Practice Muhammad Usman, Emilia Mendes Blekinge Institute of Technology EASE.
Software Development - Methodologies
Project Cost Management
AGILE SCRUM METHODOLOGY
Information Technology Project Management – Fifth Edition
Information Technology Project Management – Fifth Edition
Teaching slides Chapter 1.
Introduction If you have got a call for an Agile testing interview, then congratulations are in order. You may be feeling nervous, but it sure to be felt.
Extreme Programming.
Presentation transcript:

By Majesh reddy Salla

Introduction Factors for poor estimation Agile Process Agile effort estimation techniques Planning poker Analogy & Expert opinion COSMIC method Effort predictors Effort estimation on planning levels Estimation accuracy Agile methods Survey results conclusion

Effort estimation: A software development process in which we predict the amount of effort required to develop and maintain software. Software effort estimation is a crucial activity in software development. Estimates are the key input to project resource allocation and duration. It is important to use the correct estimation technique to avoid issues caused by poor estimation.

Lack of estimating experience. Lack of historical data on which base estimates. Lack of systematic estimation process, techniques or models suited to project needs. Unrealistic expectations or assumptions. Failure to recognize and address the uncertainty inherent in project estimates.

In agile processes, software development is iterative process where the product is developed and working pieces are delivered to customers. In this development process there are three phases of planning or estimation. They are Iterative planning Release planning Daily planning

There are different types of estimation techniques that are used for agile development process. Planning poker Analogy Expert judgement

Planning poker is widely used. Among 60 agile practitioners surveyed, 63% of them uses planning poker technique. Planning poker approach Individual stories are presented for estimation After a period of discussion each person chooses a numbered card from his deck to give the effort estimation. All estimates are kept private until every one chooses Finally all estimates are revealed and again discussion starts..

Expert opinion seeks help of experts to estimate the work. They estimate based on the what companies are experiencing in industry. Analogy finds similar projects to the project that need to be estimated. Based on the data from old projects they estimate the current project. All these techniques can be used by themselves or combined.

All the previous techniques use subjective assessment. To improve the accuracy of the effort estimation, there is COSMIC method approach, based on constructive cost model. User stories are represented as functional requirements. Functional requirements are known as COSMIC function points (CFP). Used to calculate the effort per CFP.

Size metrics and cost drivers are effort predictors. Story points, use case points and functional points all are used as size metrics. The mostly used one is story points. Teams expertise level and teams experience are mainly considered as cost drivers for agile methods. Task size, project domain and non-functional requirements are also cost drivers.

Web based questionnaire hosted at surveymonkey.com Done between August and October of Collected data from the agile practitioners across the world from 16 different countries. Survey Questions Which effort estimation technique? What agile development activities? Effort estimation compared to actual effort? (accuracy)

Effort estimation can be done in three planning levels. In the survey, practitioners estimated the effort mostly in iterative planning and release planning. Daily planning effort estimation is done very less when compared to iterative and release planning. As per the survey effort estimation plays a pivot role in release and sprint planning.

Estimation accuracy refers to the amount of estimation error (actual effort – estimated effort). Very few had less than 5% of error among estimation techniques that are used. Most of them were over/underestimated effort. Tendency of underestimated development could be attributed to over optimism and team members inexperience.

Most of the effort estimation techniques were performed on two models. Extreme programming Scrum model The fact that study didn’t consider other agile methods which makes it hard to determine how accurate estimations be in other models

63% of the practitioners use planning poker estimation technique (analogy-47% and expert opinion-38%) 62% of them used story points as size metric. Teams expertise and experience are common cost drivers. 52% of the respondents believe that their effort estimates on average are under/over estimate by an error of 25% or more. Most estimation takes into consideration implementation and testing activities. Estimation is mostly done at sprint and release planning levels.

Described several effort estimation techniques that are used in agile processes. The effort predictors, planning level at which effort estimation is done a lot, estimation accuracy, activities considered during estimation and agile model are the factors that will be helpful in determining the estimation is a good estimate or not. There is no particular standard technique for effort estimation in agile models.

* 1 ) Carlos Eduardo Lima Peixoto., Jorge Luis Nicolas Audy., Rafael Prikladnicki., “The importance of the use of an estimation process”, Proceedings of the 2010 ICSE Workshop on Software Development Governance, PP , Association for Computing Machinery (ACM) New York, USA. * 2)Jean-Marc Desharnais., Luigi Buglione., Bugra Kocaturk., “Using the COSMIC method to estimate Agile user stories”, Proceedings of the 12th International Conference on Product Focused Software Development and Process Improvement, 2011, PP , Association for Computing Machinery (ACM) New York, USA. * 3)Muhammad Usman., Emilia Mendes., Francila Weidt., Ricardo Britto., “Effort estimation in agile software development: a systematic literature review”, Proceedings of the 10th International Conference on Predictive Models in Software Engineering, 2014, PP , Association for Computing Machinery (ACM) New York, USA. * 4)Muhammad Usman., Emilia Mendes., Jurgen Brostler., “Effort estimation in agile software development: a survey on the state of practice”, Proceedings of the 19th International Conference on Evolution and Assessment in Software Engineering, 2015, Article No. 12, Association for Computing Machinery (ACM), New York, USA. * 5)Valentina Lenarduzzi., “Could social factors influence the effort software estimation?”, Proceedings of the 7th International Workshop on Social Software Engineering (SSE), 2015, PP , Association for Computing Machinery (ACM) New York, USA.