optimize tomorrow today

Download Optimize tomorrow today

Post on 25-Feb-2016

21 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

Are Parametric Techniques Relevant for Agile Development Projects?. Arlene Minkiewicz, Chief Scientist PRICE Systems, LLC arlene.minkiewicz@pricesystems.com. Optimize tomorrow today. Agenda. Introduction Agile Software Development Agile Estimation Agile Size Estimation - PowerPoint PPT Presentation

TRANSCRIPT

PRICE Systems Executive Overview

AgendaIntroductionAgile Software DevelopmentAgile EstimationAgile Size EstimationAgile Cost DriversExampleConclusions

Optimize tomorrow today.TMAgile Manifesto February 2001We are discovering better ways of developing software by doing it and helping others to do it. Through this we have come to valueIndividuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

All agile projects adhere to this manifestoAll agile projects share a common set of principlesEach 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

3

Optimize tomorrow today.TMTraditional Software DevelopmentTraditional software developmentRequirements are analyzedArchitecture and Design are createdRequirements are implemented, tested and deliveredMonths (or longer) occur before usable software for customer to evaluate

4

Optimize tomorrow today.TMAgile Software DevelopmentAgile Software DevelopmentUsable chunks of software are developed in short periods of time (sprints, iterations, etc.)Requirements are translated into User Stories and become the project backlogUser stories deliver business value and are small enough to be completed in an iterationCustomer works with the team and reviews software regularlyEach iteration focuses on the User Stories that are currently highest priority of the customerPriorities may shift from iteration to iterationAgile teams expect and embrace change

5

Optimize tomorrow today.TMAgile PrinciplesCustomer satisfaction through frequent deliveries and customer involvementFocus on business need and business valueTime boxed developmentConstant collaboration and communicationSustainable paceAdaptation to changeSelf Organizing TeamsCollective ownership and responsibilitiesCommitment to measurement6Optimize tomorrow today.TMCommon Agile PracticesPair programming Continuous integration with automated testingTest Driven DevelopmentDaily Stand-up meetingsCo-located teamsCode refactoringSmall releasesCustomer on teamSimple Design7

Optimize tomorrow today.TMAgile EstimationFrequently Asked QuestionsHow 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?8Optimize tomorrow today.TMAgile Size EstimationEstimation goals are different at different stages of a projectEarly on in the project is when estimation is most challenging since less detail is availableAgile teams often will use something like t-shirt sizes to discuss feature sizes with non technical folks to facilitate estimation discussionsAgile teams do lots of their own estimatingAt the start of each iteration, the team breaks the current User Stories into tasks and estimates effort for each taskFor each Story the team determines the number of Story Points using an arbitrary system agreed upon within the teamPlanning 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)How does one go about translating story points to something more concrete to support estimation early in the lifecycle9Optimize tomorrow today.TMAgile Size EstimationStory Points are Notional and dont trend with effort nicelyIn the context of a parametric model Story Points really combine two typical driversSoftware SizeComplexity of the functionality 10Optimize tomorrow today.TMFortunately Agile Teams collect metrics11

Optimize tomorrow today.TMAgile Size EstimationStudy of PRICEs agile development data found no correlation between story points and software size (SLOC) or effortDid 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 relationship12

Optimize tomorrow today.TM1

Optimize tomorrow today.Arlene Minkiewicz, Chief ScientistPRICE Systems, LLCarlene.minkiewicz@pricesystems.com

Are Parametric Techniques Relevant for Agile Development Projects?

Optimize tomorrow today.TM1Agile Cost DriversThe 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 impactsIt 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

14Optimize tomorrow today.TMAgile Cost DriversAgile teams tend to be highly skilledHard to be a slacker in an agile environmentWorking closely with high skilled team members, new members of the team are quickly brought up to speedInput parameters indicating team experience would be affectedAgile teams tend to have tool sets that are more sophisticated than the average teamOverhead associated with being agile backlog maintenance, agile metrics collection, maintain user stories and tasks, etc.Input parameters around tools or automation would be affected15

Optimize tomorrow today.TMAgile Cost DriversCo-location of teams should impact productivity positivelyCulture of interruption but in a good wayQuestions are answered in real timeRed tests get fixed right awayCo-location tends to increase the cohesion of the teamCo-located stakeholders and Subject Matter Experts (SMEs) make the team function more like an IPTWell run daily stand up meetings also impact productivityInput parameters indicating distribution of team locations, communication, IPT or team cohesion would be affected

16

Optimize tomorrow today.TMAgile Cost DriversContinuous integration with automated testing should increase the productivity for test and integrationCode 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 upSince little code was changed problem is easy to isolateSince the change was recent developer more likely to remember contextFix should occur quickly Input parameters focused on integration testing complexity, issues would be affected.17

Optimize tomorrow today.TMConclusionAgile development is still software development and common estimating principles apply to itEstimating from Story Points requires an understanding of the multiple dimensions of a Story Point and how they line up with estimation parametersAgile is a paradigm, not a methodologyAgile methodologies recommend many practices that should be considered as potential cost driversEstimation requires an understanding of the software being developed and the environment its being developed in.18

Optimize tomorrow today.TMQuestions19Arlene.minkiewicz@pricesystems.com

Optimize tomorrow today.TM20

20Optimize tomorrow today.TM20Backup Slides21Optimize tomorrow today.TMAgile vs WaterfallAgile practices are gaining in popularity. Recent Forrester Study shows 50% of respondents claim a mature adoption of agile (How Agile is Your Organization?, April 30,2012)Agile provides a great way for software development organizations to deliver quality software in a predictable fashionAgile may not be the best paradigm for all types of software development or in all project phasesUsing agile techniques for projects focused on architecture design or redesign may be problematicMany organizations use a combination of agile and waterfall techniques depending on goals of current release

22Optimize tomorrow today.TMExample Estimation by Iteration23

Optimize tomorrow today.TMOrganizational Productivity24

Optimize tomorrow today.TMDevelopment Team Complexity25

Optimize tomorrow today.TMIntegration, Multiple Site Development26

Optimize tomorrow today.TM