Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16

Similar documents
Introduction to Agile and Scrum

Agile and lean methods for managing application development process

Agile Project Management

Introduction to Agile Software Development

Governments information technology

When agile is not enough

Agile Software Development

A Viable Systems Engineering Approach. Presented by: Dick Carlson

Waterfall to Agile. DFI Case Study By Nick Van, PMP

Scaling Agile with the Lessons of Lean Product Development Flow Copyright 2012 Net Objectives, Inc. All Rights Reserved

Software Development Process Selection Approaches

LEAN AGILE POCKET GUIDE

Course Title: Managing the Agile Product Development Life Cycle

Executive Guide to SAFe 24 July An Executive s Guide to the Scaled Agile Framework.

No one has to change. Survival is optional. - W. Edwards Deming - Continue your Beyond Budgeting Journey with help from Agile, Lean and Scrum

Investor Presentation Q1 2014

Agile Projects 7. Agile Project Management 21

Applying Lean on Agile Scrum Development Methodology

Agile and lean methods for managing application development process

AGILE SOFTWARE DEVELOPMENT: INTRODUCTION, CURRENT STATUS & FUTURE Pekka Abrahamsson Jyväskylä

Imad Alsadeq, Qatar, May 2013 OPM3, MSP, PMP, PMOC, PMI-RMP, MCP

CS435: Introduction to Software Engineering! " Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman

Gothenburg 2015 Jan Marek com CA Technologies Introducing Agile development methodologies to Session S601 mainframe development teams

How to manage agile development? Rose Pruyne Jack Reed

Quality Assurance in an Agile Environment

RISK MANAGMENT ON AN AGILE PROJECT

Agile Overview. 30,000 perspective. Juha Salenius CSPO CSM PMI-ACP PMP SCGMIS Workshop January 23 rd, 2013

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Agile Development Overview

Creating a High Maturity Agile Implementation

Scaling Agile Is Hard, Here s How You Do It!

Agility in Project Management

How To Understand The Limitations Of An Agile Software Development

Lean vs. Agile similarities and differences Created by Stephen Barkar -

Agile Project. Management FOR DUMME&* by Mark C. Layton WILEY. John Wiley & Sons, Inc.

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

Agile Metrics. It s Not All That Complicated

PLM - Agile. Design Code Test. Sprints 1, 2, 3, 4.. Define requirements, perform system design, develop and test the system. Updated Project Plan

Project Management in Software: Origin of Agile

Agile Beyond The Team 1

Lean Agile Scrum Business Value Development and Delivery using Agility. Brenden McGlinchey Software Done Right, Inc.

CSE 435 Software Engineering. Sept 16, 2015

SCM & Agile Business Intelligence. Anja Cielen

Agile project management: A magic bullet?

NokiaSiemens and Agile Development by Petri Haapio JAOO 2008

Sustainable Software Development in Agile and CMMI: Apply Lessons Learned today

Kanban For Software Engineering

"Bezpieczny Projekt"

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

Improving Project Governance Using Agile and Metrics. Kevin Aguanno PMP, IPMA-B, MAPM, Cert.APM

How Agile methods resolve chaos and unpredictability in software projects

SESSION 303 Wednesday, March 25, 3:00 PM - 4:00 PM Track: Support Center Optimization

Agile In a Nutshell. Note - all images removed to fit 2MB limit Actual presentation has much more content. Jonathan Rasmusson

Why All the Fuss About Agile (And Why You Should Care)

Applying Agile Project Management to a Customized Moodle Implementation

Lean Software Development and Kanban

Agile Project Management

Agile Models. Software Engineering Marco Scotto Software Engineering

Bottlenecks in Agile Software Development Identified Using Theory of Constraints (TOC) Principles

Agile Methods for Analysis

Outline. Agile Methods. Converse of Conway s Law. The Silver Bullet Fantasy (Brooks, 1986)

Scrum in a Large Project Theory and Practice

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Project Management. Jan Pool NioCAD University of Stellenbosch 16 April 2008

COMP 354 Introduction to Software Engineering

Agile Software Development

Processes in Software Development. Presented by Lars Yde, M.Sc., at Selected Topics in Software Development, DIKU spring semester 2008

Is Calculating ROI Meaningful for Agile Projects? December 2014

Agile Requirements Generation Model: A Soft-structured Approach to Agile Requirements Engineering. Shvetha Soundararajan

Manifesto for Agile Software Development

Practical Agile Requirements Engineering

Introduction to Agile

Scrum: A disciplined approach to product quality and project success.

AGILE BUSINESS INTELLIGENCE

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

Agile So)ware Development

Kanban vs Scrum Making the most of both

Agile Methodologies and Its Processes

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Software Development Life Cycle Models - Process Models. Week 2, Session 1

Agile Project Management By Mark C. Layton

Using Measurement to translate Business Vision into Operational Software Strategies

Sometimes: 16 % Often: 13 % Always: 7 %

Scrum vs. Kanban vs. Scrumban

Issues in Internet Design and Development

Extreme Programming, an agile software development process

Framing Requirements for Predictive Analytic Projects with Decision Modeling

Role of the Business Analyst in an Agile Project

How Product Management Must Change To Enable the Agile Enterprise

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Course Title: Planning and Managing Agile Projects

Changing Roles and Responsibilities from Traditional project management to Agile project management

PPM and Agile: Realizing the Best of Both Worlds

Software Development with Agile Methods

Transcription:

Why Agile Works: Economics, Psychology, and Science @MatthewRenze #PrDC16

Purpose Explain why Agile practices are so successful Insights from: Economics Psychology Science Top 7 most important ideas Ideas that are not typically covered

Overview 1. The World after Midnight 2. Inverted Constraints 3. Prioritizing Value 4. Embracing Change 5. Self-Organization 6. Effective Communication 7. Feedback

About Me Independent software consultant Education B.S. in Computer Science B.A. in Philosophy Community Pluralsight Author ASPInsider Public Speaker Open-Source Software

SPONSORS

A Brief Review of Agile

What is Agile? Agile Manifesto 4 value propositions 12 principles Common practices Source: Wikipedia

What is Agile? Agile is not: A methodology itself A magic silver bullet Source: http://www.best-story.net/userfiles/silver-bullets.jpg

Agile Values Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Source: http://agilemanifesto.org/

12 Principles of Agile 1. Continuous delivery of value 2. Embrace changing requirements 3. Frequent deployment 4. Customer collaboration 5. Motivated individuals 6. Face-to-face conversation

12 Principles of Agile 7. Working software as measure of progress 8. Sustainable development 9. Technical excellence 10. Simplicity 11. Self-organization 12. Continuous improvement

Agile Methodologies Scrum XP Kanban Lean And many more Source: http://parkertoddloesch.files.wordpress.com/2011/09/umbrella.jpg

Is Agile More Successful? Original Source: The Standish Group, The CHAOS Report 2012

Agile = Good Waterfall = Bad

Waterfall Agile vs Waterfall Agile

1. The World after Midnight

Source: www.ted.com

The World After Midnight About fifteen years ago all the Rules about how to run a business, organization, or government successfully, were changed or deleted and a completely new set of Rules has been in operation ever since, which means that we keep acting rationally in response to a world we recognize and understand but which no longer exists! - Eddie Obeng

The World After Midnight Source: http://www.ted.com/talks/eddie_obeng_smart_failure_for_a_fast_changing_world.html

The World after Midnight Rate of Change Rate of Learning Rate of Change Past Time -> Rate of Learning Now Original Source: http://pentacle.co.uk/downloads/innovationresources/old%20new%20world.jpg

The World after Midnight Old World Midnight New World Rate of Change Rate of Learning Rate of Change Past Time -> Rate of Learning Now Original Source: http://pentacle.co.uk/downloads/innovationresources/old%20new%20world.jpg

The World after Midnight Old World Identify problem Gather info Design product Build product Get to market Capture revenue Rate of Learning Rate of Change Midnight New World Build prototype Get it to market Capture feedback Rate of Change Capture revenue Iterate on design Adapt over time Rate of Learning Past Time -> Now Original Source: http://pentacle.co.uk/downloads/innovationresources/old%20new%20world.jpg

The World after Midnight Old World Midnight New World Inertial Forces Bureaucracy Process Tradition Rate of Learning Rate of Change Dynamic Forces Communication Collaboration Rate of Change Learning Rate of Learning Past Time -> Now Original Source: http://pentacle.co.uk/downloads/innovationresources/old%20new%20world.jpg

Laminar Flow vs. Turbulent Flow Source: http://www-mdp.eng.cam.ac.uk/web/library/enginfo/aerothermal_dvd_only/aero/fprops/pipeflow/node8.html

Laminar Flow vs. Turbulent Flow Source: http://www-mdp.eng.cam.ac.uk/web/library/enginfo/aerothermal_dvd_only/aero/fprops/pipeflow/node8.html

Influence Index Ebbs, Flows, and Residual Impact of Business Fads Source: The Ebbs, Flows and Residual Impact of Business Fads 1950 1995 by R. Pascale

Why is this important? Problem World has changed Markets change rapidly Requirements change rapidly High degree of uncertainty Solution Adapt to new physics Faster time-to-market Better response to change Continuous and rapid feedback

Agile is very well suited to operate in the physics of this new world!

2. Inverted Constraints

Four Levers of Software Development Levers Scope Resources Schedule Quality Goals Working software Max value Min cost Source: http://farm6.staticflickr.com/5300/5521479079_36815225e4_z.jpg

Constraints Restriction on a degree of freedom Prevent the system from achieving its goal Examples Time Money Talent Source: http://www.myspaceantics.com/image-myspace-graphic/ funny-pictures/outfielder-wall-collision.jpg.html

Constrained Optimization Source: http://home.ubalt.edu/ntsbarsh/business-stat/opre/partviii.htm

Constrained Optimization Source: http://home.ubalt.edu/ntsbarsh/business-stat/opre/partviii.htm

Waterfall Constraints Scope Fixed Waterfall (plan driven) Resources Schedule Estimated

Waterfall Constraints Scope Fixed Waterfall (plan driven) Estimated Resources Schedule Fixed

Waterfall Constraints Scope Fixed Waterfall (plan driven) Fixed Resources Schedule Fixed

Agile Constraints Scope Fixed Resources Schedule Agile (value-driven) Waterfall (plan-driven) Estimated Resources Schedule Scope

Agile Constraints Fixed team size Fixed releases Estimated features Team controls quality Fixed Resources Agile (value-driven) Schedule Estimated Scope

Why is this important? Problem Mythical man-month Slipping release dates Scope creep Technical debt Solution Limit team size Fix schedule Estimate scope Protect quality

Agile is more flexible

3. Prioritizing Value

Quick Lesson in Economics 1. Return on Investment 2. Pareto Principle 3. Opportunity Cost Source: http://myhomeworkhelp.com/economics-homework-help/

ROI Return on Investment Value Cost ROI = Cost High ROI => lots of value Low ROI => some value Neg. ROI => lost value ROI Curve for an Investment Break even Time

ROI Return on Investment Each feature has ROI Cost to develop Value to business Project ROI is sum of all feature ROIs Goal is to maximize ROI ROI Curve for an Investment Break even Time

Output Pareto Principle 80/20 rule 80% of effects 20% of causes Power law function Diminishing marginal returns 100% 90% 80% 70% 60% 50% 40% Pareto Principle Power Law Function 30% 20% 10% Input 0% Input Output

Pareto Principle of Software Feature Usage Features 20% of features 80% of value Traditional software is 20% high-value features 80% low-value features Source: Standish Group

Opportunity Cost Source: http://www.ethicurean.com/2009/03/03/free-lunch-program-in-new-england/

Opportunity Cost Cost of foregone alternative options True cost = explicit cost + implicit cost Must be included in cost-benefit analysis Source: http://www.stus.com/

Priority Prioritizing Features by Business Value Product backlog List of features Ordered by business value Highest priority on top Create and deliver features in order High Low Product Backlog Feature 1 Feature 2 Feature 3 Feature n

Why is this important? Problem Need to maximize ROI Need to reduce lowvalue features (80/20) Need to consider opportunity cost Solution Prioritize features according to ROI Deliver highest-value features first Prioritize features relative to one another

Value Agile Produces More Value Agile Waterfall Time Original Source: http://www.versionone.com/agile101/agile-software-development-benefits/

4. Embracing Change

Waterfall Assumes that Things Will Go According to a Plan Source: Doug DeCarlo extreme Project Management

Waterfall assumes that everything will go according to plan Source: Doug DeCarlo extreme Project Management

Waterfall Assumptions Users actually know what they want Markets will not change during development There is nothing new or unknown Technology is stable and mature All of the pieces will fit together in the end

Waterfall Reality Requirements are not stable Requirements are just assumptions

Relative Cost to Fix Defect Cost of Fixing Defects in Waterfall 160 >150x 140 120 100 80 60 40 20 0 1x 5x 10x 20x Requirements Design Coding Developer Testing Software Development Phase 50x Acceptance Testing Original Source: Barry Boehm, Equity Keynote Address March 19, 2007 Production

Finding Defects in Waterfall http://www.agilemodeling.com/essays/costofchange.htm

Finding Defects in Agile http://www.agilemodeling.com/essays/costofchange.htm

Cost of Change in Agile Waterfall Agile Source: http://www.agilemodeling.com/essays/costofchange.htm

Why is this important? Problem Requirements change Finding and fixing defects late is costly Late changes in software are costly Solution Embrace change Find and fix defects early Build flexibility into your code and process

Ability to respond to change Agile is More Adaptable Agile Waterfall Time Original Source: http://www.versionone.com/agile101/agile-software-development-benefits/

5. Self-Organization

How do you determine the price to charge for a loaf of bread?

Market Economy Market makes decisions Individuals Interactions Produces & Consumers Supply Demand Millions of decisions Source: Britannica

Market Economy Goal: Maximize Social Welfare Competitive Market Equilibrium Extremely efficient Chaotic success Source: https://content.dodea.edu/ VS/HS/DVHS_Courses/Economics/syllabus.html

Complex Adaptive Systems System collection of interconnected things Complex dynamic network of interactions Adaptive changes in response to environment to increase survivability Source: http://integral-options.blogspot.com/2013/03/peter-fryer-brief-description-of.html

Source: Wikipedia

Inversion of Control Top-down Command and Control Bureaucracy vs. Bottom-up Self-organization Adhocracy Source: http://funnyasduck.net/post/10458

Wisdom of the Crowd Take collective guesses of the crowd Aggregated answer is often better than expert Works well for some types of knowledge Not all crowds are wise!

Why is this important? Problem Command and control is slow and inefficient Poor information flow in top-down structures Ineffective decisions Solution Self-organizing teams Invert control structure to bottom-up Wisdom of the Crowds

Self-organizing Agile teams are more efficient

6. Effective Communication

Cost of Poor Communication Cost is enormous Hard to quantify Hidden cost Expense is real Source: http://www.cathy.willman.com/2012/06/what-boys-need.html

Cost of Poor Communication 17.5 hrs / person / week Top 5 issues identified: 1. Waiting for information 2. Unwanted communication 3. Inefficient coordination 4. Barriers to collaboration 5. Customer complaints Source: http://thoughtleadership.sismarketresearch.com/industrial-b2b-journal /2009/3/10/smb-communications-pain-study-white-paper-uncovering-the-hid.html

Total estimated annual cost of poor communication per enterprise knowledge worker: $50,562 Source: http://thoughtleadership.sismarketresearch.com/industrial-b2b-journal /2009/3/10/smb-communications-pain-study-white-paper-uncovering-the-hid.html

Communication Structures Modeled as a complete graph Nodes = people Edges = channels Edges increase by O(n 2 ) for each node Becomes extremely inefficient very fast Source: Wikipedia

Effectiveness of Communication

Effectiveness of Communication

Signal-to-Noise Ratio SNR = P(signal) / P(noise) Signal = message Noise = everything else Goal is to maximize signal-to-noise ratio Source: http://uber.la/2012/05/signal-to-noise/

Visibility Waterfall tends to hide many problems High visibility at start Low visibility at middle High visibility at end Original source: http://www.versionone.com/ Agile101/Agile-Software-Development-Benefits/

Visibility Agile provides visibility: Information radiators Regular inspection and adaptation Frequent delivery of working software Agile is on the surface with project visibility Problems have no where to hide Original source: http://www.versionone.com/ Agile101/Agile-Software-Development-Benefits/

Why is this important? Problem Communication overload in large teams High cost of poor communication Lack of transparency Solution Small teams Maximize signal-tonoise ratio Increase visibility

Agile teams communicate more effectively

7. Feedback

Source: http://www.letterstobuffoons.com/wp-content/uploads/2012/09/showerhandle.jpg

Estimate Variability Cone of Uncertainty 4x 1x 0.25x Time Original Source: Barry Boehm, Software Engineering Economics (1981)

Feedback and Learning We reduce uncertainty by learning Feedback is necessary for learning Continuous and rapid feedback allows us to learn more effectively Source: http://www.icanhascheezburger.com

Agile Feedback Continuous and rapid feedback Multiple timescales Powerful for: Learning Reducing risk Eliminating Uncertainty Source: http://www.agile-process.org/communicate.html

Smart Failure Short and frequent experiments Lots of small failures Lots of small successes Low cost and high value Old world vs. new world Requires mindset change It s ok to fail small It s ok to fail smart However Source: http://craftfail.com/2011/08/cookie-monster-cupcake-fail/

It s Not OK to Fail BIG! Source: http://t4toby.files.wordpress.com/2008/07/epicfail1.jpg/

Know When to Pivot Pivot = change direction When our assumptions are incorrect we pivot Pivot early, not late Minimize cost to pivot Source: http://thesalespivot.com/wp-content/uploads/2011/07/left-turn-sign.jpg

Why is this important? Problem Cone of uncertainty Epic failure Difficulty changing course once invested Solution Feedback Embrace smart failure Minimize cost to learn and pivot if necessary

Risk Agile Teams Use Feedback to Reduce Risk Waterfall Agile Time Source: http://www.versionone.com/agile101/agile-software-development-benefits/

Marginal Return on Investment (Feature) Know When to Stop Agile stops here mroi > 0 mroi = 0 Waterfall stops here mroi < 0 Time / Cost / Effort Original Source: http://www.versionone.com/agile101/agile-software-development-benefits/

Know When to Stop Everything else: The Cost of Complexity Eliminating Waste Inventory Hides Problems Metrics Have Consequences Embracing Human Factors Information Gain / Entropy Embedded Documentation Kanban and Queuing Theory TDD, Dopamine, and Crack Sustainable Development Agile is an Emergent Property and much more Source: http://www.rounds.com/blog/wp-content/ uploads/2010/11/stop-hammertime.png

Conclusion

Why is Agile so Successful? 1. It is well adapted to the world after midnight. 2. It inverts its constraints to be more flexible. 3. It maximizes ROI by prioritizing features by value. 4. It is more adaptable by embracing change 5. It utilizes the efficiencies of self-organization. 6. It produces more effective communication. 7. It reduces risk by continuous and rapid feedback.

Feedback Feedback is very important to me! One thing you liked? One thing I could improve?

Contact Info Matthew Renze Twitter: @matthewrenze Email: matthew@renzeconsulting.com Website: www.matthewrenze.com