Are Parametric Techniques Relevant for Agile Development Projects?

Similar documents
Criteria. Kanban. Scrum. Acceptance. Acceptance Criteria. Kanban. Scrum. Refinement. Agile Manifesto. Acceptance Test. Product Backlog.

The ABC of Agile Business Change. James Yoxall BCS 17 September, 2013

Lecture 1. Topics covered. Rapid p development and delivery is now often the most important requirement for software systems.

Agile Software Development:

Quality 24 Process Improvement 26 Real processes. Product Quality. Quality Management. Quality Management. Quality Plan

Software Engineering Chap.3 - Agile Software Development

8 th of April 2015 Bucharest, Romania Vlad Gabriel Sorin Agile PM/Scrum Master

Agile Essentials Track: Business Services

Lecture 8 Agile Software Development

Chapter 3 Agile Software Development. Part 1b

NYS Forum Project Management Work Group Presents

Software Engineering & Project Management Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000)

SCEA 2010 EST06. Estimating Issues Associated with Agile Development. Bob Hunt Vice President, Services Galorath Incorporated

What is Software Engineering?

Software Engineering Lecture 5 Agile Software Development

Software Engineering G Session 12 Sub-Topic 1 Risk Management in Adaptive Software Engineering. Dr. Jean-Claude Franchitti

Agile Transformation In the Digital Age

The Lessons Learned of a BA on an Agile Project

CONTENTS. Introduction to Software Engineering. Software Process and Life Cycle Models. Software Life-Cycle Model-2. Chapter 1. Chapter 2.

CS314 Software Engineering Project Management

Sign up to mailing list Join Slack, teaching team is available. All links are on the course website Slides are uploaded there too

AGILE. IS IT ONLY FOR IT?

04. Agile Development

CS 5704: Software Engineering

Experiential Education for Agile Software Engineering

1. The Case for Agile 2. The Scrum Process 3. Scaling Scrum

Organizational Matters

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

Agile Software Development

Chapter 3 Agile Software Development

Business Analyst and Product Owner Where do they meet & conflict? Cherifa Mansoura

Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1

Agile Program Development. Agile Manifesto 9/3/2013. What is Agile Development? 12 Principles of Agile Development 1 of 4

PMI Agile Certified Practitioner (PMI-ACP) Duration: 48 Hours

User-centered System Design. Agile

AGILE SOLUTIONS. Agile Basics

Introduction to Agile (Scrum)

Watson Internet of Things. Agile Development Why requirements matter

Acceptance Criteria. Agile. Details that indicate the scope of a user story and help the team and product owner determine done-ness.

Reducing Business Risk

Tuesday, October 25. Announcements

2. True or false: In Scrum all the requirements for the project are known prior to the start of development.

Agile Software Development in a Regulated Environment. Natalie Custer

Preparation Guide. EXIN Agile Scrum Foundation

Agile In Practice. Benjamin Booth Spring 2009

Foundations of Software Engineering. Process: Agile Practices Michael Hilton

SAFe in a Nutshell SCALED AGILE FRAMEWORK

Estimating SOA, As Easy as 1 2 3

The Software Life Cycle

Introduction to Agile/Extreme Programming

RIGHTNOW A C E


Improving Agile Execution in the Federal Government

4. Agile Methods. Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg. Version of

Scrum and Agile Processes. Dr.-Ing. Oliver Ciupke Haufe-Lexware GmbH & Co. KG 2011

Foundations of software engineering

Processes and Life- Cycles. Kristian Sandahl

Dissatisfaction with the overheads involved in software design methods of the 1980s and 1990s led to the creation of agile methods.

Succeed with Agile at Scale

EVERYTHING YOU VE HEARD ABOUT AGILE DEVELOPMENT IS WRONG

Businesses now operate in rapidly changing environment.

FIT2101 Software Engineering Process and Management

Be Agile. Scale Up. Stay Lean. Have More Fun.

Webinar: Agile Estimation Using Functional Metrics Revisited

AdRoll Increases Production Tasks by 10% per Person, per Sprint with Workfront Agile Capabilities

Processes and Life- Cycles. Kristian Sandahl

Presented at the 2009 ISPA/SCEA Joint Annual Conference and Training Workshop - Making the Case for SOA Arlene F.

Getting Comfortable with being Uncomfortable! Using Agile IA to transform your internal audit function

A Case Study. What, When, Why. Agile Systems Engineering. Project Objectives. How to accomplish this??? What is All at Once? Logistical Planning

Creating Sprint Reviews that Attract, Engage, and Enlighten your Customers' Bob Galen President & Principal Consultant RGCG, LLC

CM MatchPoint Agile. Christoph Heinrich, CM First Plex Track A / Session 17

Agile Product Planning and Estimation with Steve Ropa

Addressing Enterprise Complexity with the

SOFTWARE ENGINEERING SOFTWARE-LIFE CYCLE AND PROCESS MODELS. Saulius Ragaišis.

CTC/ITC 310 Program Management California State University Dominguez Hills First Exam Answer Key November 20, 2018 Instructor: Howard Rosenthal

Requirements and User-Centered Design in an Agile Context

Risk Management and the Minimum Viable Product

EB TechPaper. Agile collaboration on a global infotainment project. elektrobit.com

The Three Pillars Approach to an Agile Testing Strategy

Senior Consultant Galorath Incorporated

Standard Work and the Lean Enterprise Net Objectives Inc. All Rights Reserved.

A one day Introduction. Tim Guay, PMP, CSM, PMI-ACP, CLSSS

Agile Quality Management

SWE 211 Software Processes

COMP 6481 Fall 2006 System Requirement Specifications

AGILE GOVERNANCE TRICK OR TREAT?

PMI-ACP Blended-Learning Instructor-Led Session

Extreme Programming, an agile software development process

Agile Extremely Scaled

D25-4. How Intertech Uses Agile

AGILE DEVELOPMENT AND ITS IMPACT ON PRODUCTIVITY

Sample Exam ISTQB Agile Foundation Questions. Exam Prepared By

Presented by Only Agile. What is Agile?

Agile Manifesto & XP

Introduction to Agile and Scrum

Wstęp do estymacji w Scrum.

Software Development Life Cycle

Quality in software development. Geir Amsjø

Scrum Intro What s in it for me?

Transcription:

Are Parametric Techniques Relevant for Agile Development Projects? Arlene Minkiewicz, Chief Scientist PRICE Systems, LLC arlene.minkiewicz@pricesystems.com Optimize tomorrow today. 1

Agenda Introduction Agile Software Development Agile Estimation Agile Size Estimation Agile Cost Drivers Conclusions

Introduction Back in the day, complexity of applications was overshadowed by the logistics of implementation Punched cards Batch processing Technology improved, software solves increasingly complex problems Logistics demurred to the solution as the bottleneck The so called software crises (mid 60 s to mid 80 s) resulted in many silver bullet type solutions Structured programming, formal methods, CMMI, programming standards They helped but is the software industry out of crisis mode? Lots of smart software development professionals began looking for more lightweight methods that address complexity in achievable chunks 3

Agile Manifesto February 2001 We are discovering better ways of developing software by doing it and helping others to do it. Through this we have come to value Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan All agile projects adhere to this manifesto All agile projects share a common set of principles Each agile project uses a set of agile practices to implement these principles. Successful estimation for an agile project is like software estimation for any project you need to understand the project properties and the practices employed 4

Traditional Software Development Traditional software development Requirements are analyzed Architecture and Design are created Requirements are implemented, tested and delivered Months (or longer) occur before usable software for customer to evaluate 5

Agile Software Development Agile Software Development Usable chunks of software are developed in short periods of time (sprints, iterations, etc.) Requirements are translated into User Stories and become the project backlog User stories deliver business value and are small enough to be completed in an iteration Customer works with the team and reviews software regularly Each iteration focuses on the User Stories that are currently highest priority of the customer Priorities may shift from iteration to iteration Agile teams expect and embrace change 6

Agile Principles Customer satisfaction through frequent deliveries and customer involvement Focus on business need and business value Time boxed development Constant collaboration and communication Sustainable place Adaptation to change Self Organizing Teams Collective ownership and responsibilities Commitment to measurement 7

Common Agile Practices Pair programming Continuous integration with automated testing Test Driven Development Daily Stand-up meetings Co-located teams Code refactoring Small releases Customer on team Simple Design 8

Agile Estimation Frequently Asked Questions How do I estimate size for an agile project when the team is working with Story Points? What other cost driver changes are indicated for agile development? 9

Agile Size Estimation Agile teams do lots of their own estimating At the start of each iteration, the team breaks the current User Stories into tasks and estimates effort for each task For each Story the team determines the number of Story Points using an arbitrary system agreed upon within the team Planning Poker, Fibonacci numbers (0,1,2,3,5,8,13.) Story Points are relative ( a story of 2 points will take twice the time as one with 1) Estimation at the release level is more challenging since less detail is available Some teams use t-shirt sizes to communicate scope to non-technical folks 10

Agile Size Estimation Story Points are Notional and don t trend with effort nicely In the context of a parametric model Story Points really combine two typical drivers Software Size Complexity of the functionality 11

Agile Size Estimation Study of PRICE s agile development data found no correlation between story points and software size (SLOC) or effort Did find a significant relationship between Software Size and Complexity pairs and effort/hr. Calibration of Functional Complexity to agile data resulted in interesting size/complexity relationship 12

Agile Size Estimation From PRICE Data we developed a methodology to estimate size complexity pairs from Story points and the teams assessment of complexity relative to the data set. This methodology transcends tool but needs to be informed by data from the agile team delivering story point estimates This methodology appeals to agile thinking folks but supports parametric estimates with relevant cost drivers 13

Agile Cost Drivers The fact that a project is agile is not a cost driver. There are common agile practices that, if employed by an agile team should have cost/effort impacts It is important that the estimation team determine which agile practices apply For teams early in agile adoption, there are likely to be productivity issues as new practices are adopted 14

Agile Cost Drivers Agile teams tend to be highly skilled Hard to be a slacker in an agile environment Working closely with high skilled team members, new members of the team are quickly brought up to speed Input parameters indicating team experience would be affected Agile teams tend to have tool sets that are more sophisticated than the average team Overhead associated with being agile backlog maintenance, agile metrics collection, maintain user stories and tasks, etc. Input parameters around tools or automation would be affected 15

Agile Cost Drivers Co-location of teams should impact productivity positively Culture of interruption but in a good way Questions are answered in real time Red tests get fixed right away Co-location tends to increase the cohesion of the team Co-located stakeholders and Subject Matter Experts (SMEs) make the team function more like an IPT Well run daily stand up meetings also impact productivity Input parameters indicating distribution of team locations, communication, IPT or team cohesion would be affected 16

Agile Cost Drivers Continuous integration with automated testing should increase the productivity for test and integration Code is checked in frequently and builds are run and tested either on code change or in regular increments (hours, not days) Red tests raise red flags and someone on the team steps up Since little code was changed problem is easy to isolate Since the change was recent developer more likely to remember context Fix should occur quickly Input parameters focused on integration testing complexity, issues would be affected. 17

Conclusion Agile development is still software development and common estimating principles apply to it Estimating from Story Points requires an understanding of the multiple dimensions of a Story Point and how they line up with estimation parameters Agile is a paradigm, not a methodology Agile methodologies recommend many practices that should be considered as potential cost drivers Estimation requires an understanding of the software being developed and the environment it s being developed in. 18

Questions Arlene.minkiewicz@pricesystems.com 19

20 20