Agile Development & Business Goals



Similar documents
Agile Development & Business Goals. The Six Week Solution. Joseph Gee. George Stragand. Tom Wheeler

superseries FIFTH EDITION

Integrated Reservoir Asset Management

HTML5 DESIGNING RICH INTERNET APPLICATIONS MATTHEW DAVID

Customer Relationship Management

Art Direction for Film and Video

IMPROVEMENT THE PRACTITIONER'S GUIDE TO DATA QUALITY DAVID LOSHIN

IT Manager's Handbook

Network Security. Windows 2012 Server. Securing Your Windows. Infrastructure. Network Systems and. Derrick Rountree. Richard Hicks, Technical Editor

This page has been left blank intentionally

Computing. Federal Cloud. Service Providers. The Definitive Guide for Cloud. Matthew Metheny ELSEVIER. Syngress is NEWYORK OXFORD PARIS SAN DIEGO

Supply Chain Strategies

E-Commerce Operations Management Downloaded from -COMMERCE. by on 06/15/16. For personal use only.

for the Entire Organization

Platform Ecosystems. Aligning Architecture, Governance, and Strategy. Amrit Tiwana AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO

Engineering DOCUMENTATION CONTROL HANDBOOK

Measuring Data Quality for Ongoing Improvement

Big Data Analytics From Strategie Planning to Enterprise Integration with Tools, Techniques, NoSQL, and Graph

Risk Analysis and the Security Survey

Master Data Management

INTERNATIONAL MONEY AND FINANCE

MIKE COHN. Software Development Using Scrum. VAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco

Is Chief Customer Officer in Your Future?

Casual Game Design. Designing Play. Gamer in All of Us. for the. Gregory Trefry. TL'CHNiSCME HANNOVER. INFO R iv'iat io N S o i B L i OT H E K

Security Metrics. A Beginner's Guide. Caroline Wong. Mc Graw Hill. Singapore Sydney Toronto. Lisbon London Madrid Mexico City Milan New Delhi San Juan

RedPrairie for Workforce Management

Metrics and Methods for Security Risk Management

Obj ect-oriented Construction Handbook

Human Performance Improvement

Financial Statement Analysis

Show Me the Money! A Guide to Creating a. Scalable Sales. ( (

Configuration. Management for. Senior Managers. Essential Product Configuration. and Lifecycle Management

How to Become a Clinical Psychologist

Managing the Unmanageable

Practical Web Analytics for User Experience

Data Warehousing in the Age of Big Data

Cyber Attacks. Protecting National Infrastructure Student Edition. Edward G. Amoroso

Effective Methods for Software and Systems Integration

Why SME s Should Outsource Payroll

Copyright 2011 Gartner, Inc. All rights reserved. Printed in the United States of America

Improving Employee Engagement to Drive Business Performance

Achieving Business Analysis Excellence

Achieving Success as a CTO

Aligning CRM rewards with corporate goals

INTRODUCING TALEO 10. Solutions Built for the Talent Age. Powering the New Age of Talent

SOFTWARE CEO GUIDE: Valuation Analysis Online Marketing Software

15 Principles of Project Management Success

Working Memory and Education

Money-Making Systems D.C. Cordova with Carol Dysart

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Academic Press is an imprint of Elsevier

Job Hazard Analysis. A Guide for Voluntary Compliance and Beyond. From Hazard to Risk: Transforming the JHA from a Tool to a Process

Praise for Launch. Hands on and generous, Michael shows you precisely how he does it, step by step. Seth Godin, author of Linchpin

Valvation. Theories and Concepts. Rajesh Kumar. Professor of Finance, Institute of Management Technology, Dubai, UAE

OUTSOURCING AND INSOURCING IN AN INTERNATIONAL CONTEXT

Adopting a Continuous Integration / Continuous Delivery Model to Improve Software Delivery

Siebel 100 Success Secrets

Best Practices in Planning and Performance Management

Improving Employee Satisfaction in Healthcare through Effective Employee Performance Management

Scenario-Based Development of Human-Computer Interaction. MARY BETH ROSSON Virginia Polytechnic Institute and State University

Ten Elements for Creating a World-class Corporate Diversity and Inclusion Program

Securing the Cloud. Cloud Computer Security Techniques and Tactics. Vic (J.R.) Winkler. Technical Editor Bill Meine ELSEVIER

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Academic Press is an imprint of Elsevier

Open Source Toolkit. Penetration Tester's. Jeremy Faircloth. Third Edition. Fryer, Neil. Technical Editor SYNGRESS. Syngrcss is an imprint of Elsevier

Taking Care of Your Company s Future: 3 Best Practices for Succession Planning

Sample Document. Onboarding: The Essential Rules For A Successful Onboarding Program. Student Manual.

Changing the Game: 4 Ways to Unlock Your Employees Performance Potential. For Small & Midsized Businesses. Copyright 2007 SuccessFactors, Inc.

Five Core Principles of Successful Business Architecture. STA Group, LLC Revised: May 2013

Realizing Hidden Value: Optimizing Utility Field Service Performance by Measuring the Right Things

How To Write A Diagram

Cloud Computing. Theory and Practice. Dan C. Marinescu. Morgan Kaufmann is an imprint of Elsevier HEIDELBERG LONDON AMSTERDAM BOSTON

Managing Data in Motion

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

Lean Supply Chain and Logistics Management

Achieving Business Analysis Excellence

HOW TO MAKE YOUR EMPLOYEE ONBOARDING PROGRAM STRATEGIC AND EFFECTIVE FOR BETTER NEW HIRE ENGAGEMENT, PRODUCTIVITY, AND RETENTION

Measuring and. Communicating. Security's Value. A Compendium of Metrics. for Enterprise Protection

Emerging Green Intelligence: Business Analytics and Corporate Sustainability

SALES INCENTIVE COMPENSATION 101: FOR EMERGING COMPANIES

Digital content is emerging as the newest strategic

How To Create A Knowledge Enabled Organization

THE ONE-STOP SHOP FOR TRANSLATION & LOCALIZATION

Chapter 10. Becoming an Agile Enterprise

Jim Labelle, CIC President, International Insurance Group, Flagstaff, Arizona

ENTERPRISE RESOURCE PLANNING

AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO

NEW YORK STATE-WIDE PAYROLL CONFERENCE. Presented to:

The Practice Nurse. Theory and practice. Pauline] effree SPRINGER-SCIENCE+BUSINESS MEDIA. B.V.

Course Descriptions for the Business Management Program

Delivery. Enterprise Software. Bringing Agility and Efficiency. Global Software Supply Chain. AAddison-Wesley. Alan W. Brown.

Improving sustainability communications between property and construction companies and the investment community

Transcription:

Agile Development & Business Goals

About the Authors Bill Holtsnider is an experienced writer, educator, and software professional with more than 26 years of experience working in the computer industry. His IT expertise includes working in such diverse areas as stock portfolio management, identity management, and software development. He is the author of six books and a wide range of technical and marketing documentation. Tom Wheeler has a long track record of building organizations to develop commercial software, including products for financial services and contact centers. He has built, sold, and been a senior manager in a variety of different types of companies, including international conglomerates and garage-sized start-ups. He first created the Six Week Solution back in the 1980s and has been fine-tuning it ever since. George Stragand is a manager and software developer with over 20 years of producing and managing the delivery of commercial software on time. He has worked for companies ranging in size from start-ups to multinationals, creating software for both external and in-house use. He still hasn t found a problem that couldn t be solved by one more level of indirection or a suitable amount of explosives in the correct location. Joseph Gee has spent the last 10 years of his career leading and coaching teams through a variety of successful projects and Agile transitions. His advocacy for software craftsmanship has equipped teams for success in small custom shops, large telecom enterprise systems, commercial shrink-wrap modeling software, and, most recently, cutting-edge behavioral analytics.

Agile Development & Business Goals The Six Week Solution Bill Holtsnider Tom Wheeler George Stragand Joseph Gee AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Morgan Kaufmann Publishers is an imprint of Elsevier

Morgan Kaufmann Publishers is an imprint of Elsevier. 30 Corporate Drive, Suite 400, Burlington, MA 01803, USA This book is printed on acid-free paper. # 2010 Bill Holtsnider, Tom Wheeler, George Stragand, and Joseph Gee. Published by Elsevier, Inc. All rights reserved. No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or any information storage and retrieval system, without permission in writing from the publisher. Details on how to seek permission, further information about the Publisher s permissions policies and our arrangements with organizations such as the Copyright Clearance Center and the Copyright Licensing Agency, can be found at our website: www.elsevier.com/permissions. This book and the individual contributions contained in it are protected under copyright by the Publisher (other than as may be noted herein). Notices Knowledge and best practices in this field are constantly changing. As new research and experience broaden our understanding, changes in research methods, professional practices, or medical treatment may become necessary. Practitioners and researchers must always rely on their own experience and knowledge in evaluating and using any information, methods, compounds, or experiments described herein. In using such information or methods they should be mindful of their own safety and the safety of others, including parties for whom they have a professional responsibility. To the fullest extent of the law, neither the Publisher nor the authors, contributors, or editors, assume any liability for any injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions, or ideas contained in the material herein. Library of Congress Cataloging-in-Publication Data Agile development and business goals : the six week solution / by Bill Holtsnider... [et al.]. p. cm. ISBN 978-0-12-381520-0 1. Management information systems. 2. Business Computer programs. 3. Agile software development. I. Holtsnider, Bill, 1956-HD30.213.A37 2010 005.068 0 4 dc22 2010008497 British Library Cataloguing-in-Publication Data A catalogue record for this book is available from the British Library. ISBN: 978-0-12-381520-0 For information on all Morgan Kaufmann publications, visit our Web site at www.mkp.com or www.elsevierdirect.com Printed in the United States of America 10 11 12 13 5 4 3 2 1

For J: Your dedication to others is awe-inspiring. B.H. For the Bills : One made the whole plan possible; the other got the story told. T.W. For the other Geordie for the tools, and Nick for the first chance to use them. G.S. For Mom and Don: Thanks for teaching me the importance of doing a job right. J.G.

Brief Table of Contents Preface... xiii CHAPTER 1 Introduction: Ask Yourself These 10 Key Questions... 1 CHAPTER 2 The Problem: Why Software Projects Fail... 11 CHAPTER 3 Expectations: What It Means for Software to Succeed... 31 CHAPTER 4 Overview of the Six Week Solution... 37 CHAPTER 5 The Solution s Critical Pieces... 57 CHAPTER 6 Managing the Cost of Change... 89 CHAPTER 7 Assuring Software Quality... 117 CHAPTER 8 Integrating Automation into Your Development Process... 135 CHAPTER 9 Other Software Development Approaches... 161 CHAPTER 10 Risks with Using This Approach... 177 CHAPTER 11 Transitioning to the Six Week Solution... 203 CHAPTER 12 Conclusions... 213 Glossary... 217 Sources... 225 vii

Complete Contents Preface... Who Is This Book Written For?... Chapter Summary... Acknowledgments... xiii xiii xiv xvi CHAPTER 1 Introduction: Ask Yourself These 10 Key Questions... 1 Introduction... 2 Ten Questions to Ask about Your Software Development Process... 2 Why Listen to us?... 7 CHAPTER 2 The Problem: Why Software Projects Fail... 11 Introduction... 12 Historical Perspective... 12 The Scope of Software... 12 Software Development Often Fails... 14 The Need for Process... 14 A Common Question... 15 Software Development Is Hard Very Hard... 17 Why Other Agile Methodologies Often Fail... 19 Why Waterfall Processes Often Fail... 19 High Visibility... 24 Death March... 24 Man in a Room... 26 The Rogue Developer... 27 Are You Done Yet?... 27 Budget Black Hole... 27 Why the Six Week Solution Is Different... 28 CHAPTER 3 Expectations: What It Means for Software to Succeed... 31 Introduction... 32 Software Development Sometimes (Accidentally) Succeeds... 32 Is Aligned with Business Needs... 32 Manages the Cost of Change... 33 Is Built in an Automated Way... 33 Factors Quality into the Core of the Process... 33 Is Not Constantly Being Redeployed... 34 Progress Is Constantly Being Made... 34 Delivers Something of Value... 34 ix

x Complete Contents Is Evangelical... 34 Is Predictable... 35 Is Both Tactical and Strategic... 35 Is Game Changing... 35 Allows Management to Stay Informed... 35 Is Measurable... 36 CHAPTER 4 Overview of the Six Week Solution... 37 Introduction... 38 Additional Problems... 39 Components of Agile Alignment... 41 Why Six Weeks?... 41 Cycle Commitments... 45 Developer Compensation: COD... 45 Six Week Iterations... 46 Time Boxing Development: Key Deadlines... 48 Week 1: Cycle Kickoff... 48 Week 3: Mea Culpa... 51 Week 6: Testing... 52 Steering with Business Goals... 53 CHAPTER 5 The Solution s Critical Pieces... 57 Introduction... 58 The Big Game... 58 The Entire Company Must Buy In... 59 Work Space... 62 Personnel Roles... 67 Hiring Smart... 73 Compensation... 79 Development Tools... 81 Cycle Commitments... 83 CHAPTER 6 Managing the Cost of Change... 89 Introduction... 90 Flattening the Curve with Feedback Loops... 90 Avoiding the Curve by Managing the Unknown... 98 Lowering the Curve by Increasing Productivity... 108 Providing Effective Tools... 108 Languages and Tooling... 109 Buy, Don t Build... 110

Complete Contents xi Effective Communication... 110 Gauging Performance with Pairs... 116 CHAPTER 7 Assuring Software Quality... 117 Introduction... 118 The Value of Quality... 118 External Software Quality... 123 Internal Software Quality... 125 Symptoms of Design Rot... 128 Quality and Software Craftsmanship... 129 Size of Work Pieces... 131 Unit Testing... 132 CHAPTER 8 Integrating Automation into Your Development Process... 135 Introduction... 136 Continuous Integration... 138 Build Process... 142 Metrics... 143 Automation Tools... 149 CHAPTER 9 Other Software Development Approaches... 161 Introduction... 162 Simplified Evolution of Software Processes... 164 CHAPTER 10 Risks with Using This Approach... 177 Introduction... 178 Workplace Challenges... 178 Work Environment... 179 Why This Is Not a Risk... 179 Risk: Abandoning Quality for Bonuses... 188 Management Challenges... 189 Quality Concerns... 195 Design Debt... 196 Hard to Transition... 197 Smaller but Still Potentially Problematic Risks... 198 CHAPTER 11 Transitioning to the Six Week Solution... 203 Introduction... 204 Before You Do Anything, Though... 204 Automate the Build... 204 Selling This Idea up the Chain... 205 Selling It to Sales and Marketing... 206

xii Complete Contents Determine Your Aggressiveness on Cycles and Compensation... 207 Set Expectations from the Start... 208 Pick the Date for the Cutover... 209 Use the Language of the Process... 210 Transitioning the Development Team... 210 Creating the Baseline Your First Six Week Cycle... 212 CHAPTER 12 Conclusions... 213 Introduction... 214 Aligns Software Development with Business Needs... 214 Developers Are Compensated Based on Their Performance... 214 Addresses Both Core Business and Core Technical Components... 214 Simple to Describe to Everyone in the Company... 214 Designed from the Ground Up to Produce Revenue-Generating Software... 215 Ties Directly into Your Investment in Your Software Development... 215 Accounts Directly for Quality... 215 Allows You to Hit Your Short-Term Goals While Addressing Your Long-Term Goals at the Same Time... 216 Rewards Success and Penalizes Failure... 216 What to Do Next... 216 Glossary... 217 Sources... 225

Preface This is a book about a powerful type of software development an approach we call the Six Week Solution. WHO IS THIS BOOK WRITTEN FOR? Types of Individuals This book is for CEOs to give to their COOs and CTOs. This book is for CTOs to give to their software development managers. This book is for software development managers to use. They are the ones who have to make the software work: they have to build the teams, define the roles, buy the tools, and get the software written and up and running. They gotta make it all fly. They are the ones we really wrote this book for. Types of Development Teams We have two key audiences in mind: Start-ups putting a software development team in place for the first time. (You are greenfielding it.) Internal software development teams with established development methodologies delivering updates to an internal or external product. Start-Ups If you are greenfielding it, there are many important things you must do. This book is not written to cover all of the issues you will face, but it is written to help you design, implement, and manage a state-of-the-art method of creating world-class software. If you have not yet started building your team, we suggest you read the chapters mostly in the order in which they are written. Specifically, read Chapters 1 10. Then, when you are ready to adopt the Six Week Solution, read Chapter 11, Transitioning to the Six Week Solution. Internal Software Development Groups If you are running a classic internal development team and you are reading this book, you are looking for a better way of doing what you are currently doing. This process is just what you are looking for. If you already have a team(s) working, you can read the chapters in any order you want and only the ones you feel are most appropriate for your organization. As a side note, if you are an internal software development team, software industry wisdom says act like a start-up. Do the same things start-ups do. While there are important differences between a xiii

xiv Preface start-up development team and an internal one, in some keys ways they are very much the same. When building teams and attracting talent, for example, the developers who thrive in a start-up environment are often (although not always) the types of programmers you will need to make a dynamic process like this work. CHAPTER SUMMARY Chapter Chapter One: Introduction Chapter Two: The Problem Chapter Three: Expectations Chapter Four: Overview of the Six-Week Solution Description The Six Week Solution is a unique and powerful process of creating software. To determine if this process is right for you, ask yourself the following questions about your current method of creating software. Does it: 1. Align software development with business needs? 2. Compensate your development team based on delivering on their commitments? 3. Have both Business and Technical components? 4. Lend itself to a description so simple that everyone in the company can understand it? 5. Produce revenue-generating results that address real-world needs? 6. Tie your investment in your software development to the delivery of the software you need? 7. Account directly for Quality? 8. Hit Your Short-Term Goals While - 9. Addressing Your Long-Term Goals at the Same Time? 10. Reward success and make the effects of failure tangible? This chapter discusses why developing software is difficult, much more difficult than it appears and more difficult than many other complex undertakings. Through this chapter (and the entire book, for that matter), we compare getting workable, useful software out the door to other demanding challenges; we do so in order to learn (and have you learn along with us), to get some perspective on the challenge we are facing, and thereby to better execute on the task ahead of us. It is no secret that software is often released late, in less-than-ideal conditions, and way over budget. This chapter discusses briefly how software used to be done. Specifically, we talk about how software development often fails, it sometimes (accidentally) succeeds, and is seldom aligned with business needs. We talk about why waterfall processes often fail, why other Agile methodologies often fail, that they don t manage the cost of change, and they don t factor quality into the core of the process. We discuss how to ship software in a timely manner, align your company with business and ship at least quarterly, and automate the build process. We discuss why six weeks was chosen as the length of the cycle, as well as what the key deadlines are in the process. Continued

Preface xv Chapter Chapter Five: The Solution s Critical Pieces Chapter Six: Managing the Cost of Change Chapter Seven: Assuring Software Quality Chapter Eight: Integrating Automation into Your Development Process Chapter Nine: Other Software Development Approaches Chapter Ten: Risks with Using This Approach Chapter Eleven: Transitioning to the Six Week Solution Chapter Twelve: Conclusions Description The Six Week Solution has the following critical pieces that are discussed in this chapter: the entire company must buy into the idea, work space, personnel roles, hiring smart, compensation, development tools, and cycle commitments. This chapter outlines strategies on how to tame the exponentially growing cost of the change curve and maximize the return on your investment of your software project. Software that functions as it should, every time, in every situation, is boring (and, of course, unheard of). At the same time, some people might use the term reliable for software that functions every time. But that turns out to be exactly what everyone wants: software so boring and reliable you don t think about it. This chapter describes tools, techniques, and methods for making sure you focus on the quality of your software. Much software in the 21st century is still built, reviewed, and tested manually. Tools and techniques exist now to automate almost every step of the software development process. Automating these steps can radically enhance not only the quality of your end result, but have a measurable effect on your bottom line. Read this chapter for details. In this chapter, the Six Week Solution is compared not only to the classic approach to software development ( waterfall ), but also to various flavors of Agile. No method for developing software is fool-proof, and no process exists without some risks. The Six Week Solution is no exception. This chapter discusses the following: small risks; large risks; things that appear to be risks but actually are not; and things that do not appear to be risks, but are actually potential landmines. We also provide methods of mitigating these risks. As you may know by now, the Six Week Solution is a unique approach. Transitioning from your current approach to this one will involve some specific actions, but we promise that the initial pain of the transition will be well worth it. This chapter discusses some of the common challenges we have seen companies face when making this changeover. This chapter discusses the benefits the Six Week Solution offers: Aligns Software Development with Business Needs Developers Are Compensated Based on Their Performance Addresses Both Core Business and Core Technical Components Simple to Describe to Everyone in the Company Designed from the Ground Up to Produce Revenue-Generating Software Ties Directly into Your Investment in Your Software Development Accounts Directly for Quality Allows You to Hit Your Short-Term Goals While Addressing Your- Long-Term Goals at the Same Time Rewards Success and Penalizes Failure What to Do Next

xvi Preface ACKNOWLEDGMENTS As we note in the book, the four us have nearly a century of combined years of corporate experience. Along the way, we have been fortunate enough to meet some exceptional individuals who have helped us significantly both professionally and personally. They have mentored us, supported us, and generally kept us on the Path. Without those very special people, we would not be where we are now and we certainly could not have written this book. To them we owe our undying gratitude. Reviewers We would like to thank the following individuals who helped review our book at its various stages: Peter Gallanis (Chief Architect and Co-Founder, Aha! Software), Robin George (Vice President of Engineering and Chief Architect, AIMCO), Bruce Bacon (Vice President of Product Strategy and Management, Aha! Software), Steve Ropa (Agile Consultant, VersionOne), Prashant Natarajan, Cameron Skinner (Product Unit Manager, Microsoft), and Bill Wood (Vice President, Product Development, Ping Identity). Graphics We want to thank Erick Stragand (estragand.com) for his excellent drafts of the cover art. But we especially want to express our gratitude to Tish Gance for taking time away from painting original automotive artwork at ferrarti.com to create our compelling chapter graphics this technical book is much friendlier and warmer because of her efforts. People at MKP We would also like to thank the people at the publishing team: Acquisitions Editor Greg Chalson, Assistant Editor Heather Scherer, Production Editor André A. Cuello, and copy editor Melissa Revell. Families Most importantly, we are tremendously indebted to our family and friends for their support and understanding during the difficult period that this book was being written.