Agile! Springer. The Good, the Hype and the Ugly. Bertrand Meyer



Similar documents
Agile Methods. Introduction to. AAddison-Wesley. Sondra Ashmore, Ph.D. Kristin Runyan. Capetown Sydney Tokyo Singapore Mexico City

From Agile by Design. Full book available for purchase here.

Introduction to Agile and Scrum

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

SECC Agile Foundation Certificate Examination Handbook

AGILE & SCRUM. Revised 9/29/2015

Agile Software Development Methodologies and Its Quality Assurance

Agile Information Management Development

The Agile Manifesto is based on 12 principles:

Certified Scrum Master Workshop

Agile Scrum Workshop

Traditional SDLC Vs Scrum Methodology A Comparative Study

AGILE GAME DEVELOPMENT WITH SCRUM

How to manage agile development? Rose Pruyne Jack Reed

Certified ScrumMaster Workshop

Management. Project. Software. Ashfaque Ahmed. A Process-Driven Approach. CRC Press. Taylor Si Francis Group Boca Raton London New York

A Glossary of Scrum / Agile Terms

Course Title: Planning and Managing Agile Projects

Agile Practices for Waterfall Projects

Essential Scrum. A Practical Guide to the Most Popular Agile Process. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis

EXIN Agile Scrum Foundation

History of Agile Methods

Study Guide. ScrumMaster. The. James Schiel. CRC Press. Taylor & Francis Croup, an Inform* business AN AUERBACH BOOK. CRC Press (s an imprint of the

Introduction to Agile

LEAN AGILE POCKET GUIDE

Agile Project Management and Agile Practices Training; with a Scrum Project that you will do.

Issues in Internet Design and Development

MM Agile: SCRUM + Automotive SPICE. Electronics Infotainment & Telematics

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

Implementation. Business-Driven IT-Wide Agile (Scrum) and Kanban (Lean) Andrew T. Pham and David K. Pham. An Action Guide for Business and IT Leaders

CSSE 372 Software Project Management: More Agile Project Management

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

Quality Assurance in an Agile Environment

Agile Software Engineering Practice to Improve Project Success

An Agile Project Management Model

Preparation Guide. EXIN Agile Scrum Foundation

Challenges in adopting Agile

Agile Software Development

Introduction to Agile Scrum

Contents. 3 Agile Modelling Introduction Modelling Misconceptions 31

How can I be agile and still satisfy the auditors?

The 2015 State of Scrum Report. How the world is successfully applying the most popular Agile approach to projects

Secrets of a Scrum Master: Agile Practices for the Service Desk

Agile and lean methods for managing application development process

From Horizontal Slicing to Vertical Slicing SCRUM Paybacks and Challenges

Laboratório de Desenvolvimento de Software

Agile So)ware Development

Overview of Scrum. Scrum Flow for one Sprint SCRUMstudy.com. All Rights Reserved. Daily Standup. Release Planning Schedule. Create.

Lean QA: The Agile Way. Chris Lawson, Quality Manager

Scrum and Kanban 101

ACP Exam Prep Plus Desk Reference including the Project Management Agile Body of Knowledge TM (PMABOK TM )

What is Scrum? Scrum Roles. A lean approach to software development. A simple framework. A time-tested process

Agile Project Management By Mark C. Layton

Agile Scrum Training. Nice to meet you. Erik Philippus. Erik Philippus (1951)

Getting Business Value from Agile

Measuring ROI of Agile Transformation

Introduction to Agile Software Development Process. Software Development Life Cycles

Agile Scrum Foundation Training

Agile Development Overview

Transitioning Your Software Process To Agile Jeffery Payne Chief Executive Officer Coveros, Inc.

How To Be Successful At An Agile Software Engineering

Kanban vs Scrum Making the most of both

Kanban. Marek Majchrzak, Andrzej Bednarz Wrocław,

Software Engineering I (02161)

Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods

Roles: Scrum Master & Project Manager

J-Curve effect, 38, JIT. See Just-in-Time Inventory Just Enough Design Initially (JEDI), 6, 283

Friedrich-Alexander-University of Erlangen-Nuremberg

Agile Practitioner: PMI-ACP and ScrumMaster Aligned

Certified Scrum Product Owner

How to Run an Agile Project in Government by Robert L. Read, PhD, Chris Cairns, and Jesse Taggert

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

Product Development with Scrum

Course Title: Managing the Agile Product Development Life Cycle

Taxiing, Climbing and Cruising A Model to help Coaching Agile Teams and Organizations

Agile Project Forecasting Techniques. "Who Says You Can't Plan Agile Projects?" Matt Davis, PMP, MCITP October 21, 2013

Agile Project Management and the Real World. Emily Lynema DLF Fall 2010 November 1, 2010

Agile Extension to the BABOK Guide

D25-2. Agile and Scrum Introduction

EXIN Agile Scrum Foundation. Sample Exam

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

Agile with XP and Scrum

SAFETY & RESILIENCE ISSUES IN AUTOMOTIVE SOFTWARE DEVELOPMENT PANEL

Course intro, Overview Agile Processes & Philosophy. Lecture 1, EDA397/DIT191, Agile Dev Processes Robert Feldt,

Agile Certification: PMI-ACP

Agile Training Portfolio

Software Engineering and Scientific Computing

Agile Development with Rational Team Concert

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

Contents. xvii. Preface. xxi. Foreword. 1 Introduction 1. Preamble 1. Scope and Structure of the Book 3. Acknowledgments 4 Endnotes 5

The Agile Project Manager

Models of Software Development

Agile Software Development. Stefan Balbo / Patrick Dolemieux

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

Agile and lean methods for managing application development process

Agile Project Management

Water-Scrum-Fall Agile Reality for Large Organisations. By Manav Mehan Principal Agile consultant

Extreme programming (XP) is an engineering methodology consisting of practices that ensure top-quality, focused code. XP begins with four values:

Agile Blending. Rachel Davies

Transcription:

i ii imnin111 imiiii niiini n in mi1111 m i urn u n in i H 111 nil n i ni*tmi n11111 iimn mn n IIIH iwi m«inininnmminniii m HI <i mi miwiii miaiiwimi iniptmniiiiiaiinniinimii IIMI wn11 n i nniiimm111 u nm n n m i tumin nniimi imimn iiiiimmni'i>ii 111 mi n n imm i umi n11 inn n um i fnnwi mi i n Bertrand Meyer Agile! The Good, the Hype and the Ugly Springer

Contents Preface Description and assessment Keeping a cool head Previous attempts Structure of the book Perspective and scope Analysis: instinctive, experiential, logical or empirical? Free critical inquiry Acknowledgments Contents vii vii viii ix ix x xi xii xiii xv 1 OVERVIEW 1 1.1 VALUES 2 1.2 PRINCIPLES 4 Organizational principles 5 Technical principles 6 1.3 ROLES 7 1.4 PRACTICES 8 Organizational practices 8 Technical practices 9 1.5 ARTIFACTS 10 Virtual artifacts 10 Material artifacts 11 1.6 A FIRST ASSESSMENT 12 Not new and not good 12 New and not good 13 Not new but good 14 New and good! 14

' XVI 2 DECONSTRUCTING AGILE TEXTS 17 2.1 THE PLIGHT OF THE TRAVELING SEMINARIST 17 Proof by anecdote 18 When writing beats speaking 19 Discovering the gems 20 Agile texts: reader beware! 21 2.2 THE TOP SEVEN RHETORICAL TRAPS 22 Proof by anecdote 22 Slander by association 23 Intimidation 23 Catastrophism 26 All-or-nothing 27 Cover-your-behind 27 Unverifiable claims 28 Postscript: you have been ill-served by the software industry! 30 3 THE ENEMY: BIG UPFRONT ANYTHING 31 3.1 PREDICTIVE is NOT WATERFALL 31 3.2 REQUIREMENTS ENGINEERING 32 Requirements engineering techniques 32 Agile criticism of upfront requirements 32 The waste criticism 33 The change criticism 35 The domain and the machine 36 3.3 ARCHITECTURE AND DESIGN 37 Is design separate from implementation? 37 Agile methods and design 39 3.4 LlFECYCLE MODELS 41 3.5 RATIONAL UNIFIED PROCESS 42 3.6 MATURITY MODELS 43 CMMI in plain English 44 The Personal Software Process 46 CMMI/PSP and agile methods 46 An agile maturity scale 47 4 AGILE PRINCIPLES 49 4.1 WHAT IS A PRINCIPLE? 49 4.2 THE OFFICIAL PRINCIPLES 50 4.3 A USABLE LIST 51 4.4 ORGANIZATIONAL PRINCIPLES 51

CONTENTS xvii Put the customer at the center 51 Let the team self-organize 53 Work at a sustainable pace 56 Develop minimal software 58 Accept change 68 4.5 TECHNICAL PRINCIPLES 70 Develop iteratively 70 Treat tests as a key resource 75 Do not start any new development until all tests pass 76 Test first 77 Express requirements through scenarios 77 5 AGILE ROLES 79 5.1 MANAGER 79 5.2 PRODUCT OWNER 80 5.3 TEAM 80 Self-organizing 80 Cross-functional 81 5.4 MEMBERS AND OBSERVERS 82 5.5 CUSTOMER 82 5.6 COACH, SCRUM MASTER 84 5.7 SEPARATING ROLES 86 6 AGILE PRACTICES: MANAGERIAL 89 6.1 SPRINT 89 Sprint basics 89 The closed-window rule 90 Sprint: an assessment 91 6.2 DAILY MEETING 91 6.3 PLANNING GAME 93 6.4 PLANNING POKER 94 6.5 ONSITE CUSTOMER 96 6.6 OPEN SPACE 96 6.7 PROCESS MINIATURE 97 6.8 ITERATION PLANNING 98 6.9 REVIEW MEETING 99 6.10 RETROSPECTIVE 99 6.11 SCRUM OF SCRUMS 99 6.12 COLLECTIVE CODE OWNERSHIP 100

xviii CONTENTS The code ownership debate 100 Collective ownership and cross-functionality 102 7 AGILE PRACTICES: TECHNICAL 103 7.1 DAILY BUILD AND CONTINUOUS INTEGRATION 103 7.2 PAIR PROGRAMMING 105 Pair programming concepts 106 Pair programming versus mentoring 107 Mob programming 107 Pair programming: an assessment 107 7.3 CODING STANDARDS 109 7.4 REFACTORING 109 The refactoring concept 109 Benefits and limits of refactoring 110 Incidental and essential changes 112 Combining a priori and a posteriori approaches 113 7.5 TEST-FIRST AND TEST-DRIVEN DEVELOPMENT 113 The TDD method of software development 113 An assessment of TFD and TDD 115 8 AGILE ARTIFACTS 117 8.1 CODE 117 s 8.2 TESTS 117.3 USER STORIES 119.4 STORY POINTS 121.5 VELOCITY 123.6 DEFINITION OF DONE 125.7 WORKING SPACE 125.8 PRODUCT BACKLOG, ITERATION BACKLOG 126.9 STORY CARD, TASK CARD 127.10 TASK AND STORY BOARDS 127.11 BURNDOWN AND BURNUP CHARTS 128 8.12 IMPEDIMENT 129 8.13 WASTE, TECHNICAL DEBT, DEPENDENCY, DEPENDENCY CHARTS 129 9 AGILE METHODS 133 9.1 METHODS AND METHODOLOGY 133 Terminology 133 The fox and the hedgehog 133 9.2 LEAN SOFTWARE AND KANBAN 134

CONTENTS xix Lean Software's Big Idea 134 Lean Software's principles 134 Lean Software: an assessment 135 Kanban 136 9.3 EXTREME PROGRAMMING 137 XP's Big Idea 137 XP: the unadulterated source 137 Key XP techniques 138 Extreme Programming: an assessment 139 9.4 SCRUM 139 Scrum's Big Idea 139 Key Scrum practices 140 Scrum: an assessment 140 9.5 CRYSTAL 141 Crystal's Big Idea 141 Crystal principles 141 Crystal: an assessment 142 10 DEALING WITH AGILE TEAMS 145 10.1 GRAVITY STILL HOLDS 145 10.2 THE EITHER-WHAT-OR-WHEN FALLACY 146 11 THE UGLY, THE HYPE AND THE GOOD: AN ASSESSMENT OF THE AGILE APPROACH 149 11.1 THE BAD AND THE UGLY 149 Deprecation of upfront tasks 149 User stories as a basis for requirements 150 Feature-based development and ignorance of dependencies 150 Rejection of dependency tracking tools 150 Rej ection of traditional manager tasks 150 Rej ection of upfront generalization 151 Embedded customer 151 Coach as a separate role 151 Test-driven development 151 Deprecation of documents 151 11.2 THE HYPED 152 11.3 THE GOOD 153 11.4 THE BRILLIANT 154 Bibliography 155 Index 163