Introduction To Agile Methods

Transcription

Introduction toAgile Methods

This page intentionally left blank

Introduction toAgile MethodsSondra Ashmore, Ph.D.Kristin RunyanUpper Saddle River, NJ Boston Indianapolis San FranciscoNew York Toronto Montreal London Munich Paris MadridCapetown Sydney Tokyo Singapore Mexico City

Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks.Where those designations appear in this book, and the publisher was aware of a trademark claim, the designationshave been printed with initial capital letters or in all capitals.The authors and publisher have taken care in the preparation of this book, but make no expressed or impliedwarranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental orconsequential damages in connection with or arising out of the use of the information or programs contained herein.For information about buying this title in bulk quantities, or for special sales opportunities (which may includeelectronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, orbranding interests), please contact our corporate sales department at corpsales@pearsoned.com or (800) 382-3419.For government sales inquiries, please contact governmentsales@pearsoned.com.For questions about sales outside the United States, please contact international@pearsoned.com.Visit us on the Web: informit.com/awLibrary of Congress Cataloging-in-Publication DataAshmore, Sondra.Introduction to agile methods / Sondra Ashmore, Ph.D., Kristin Runyan.pages cmIncludes index.ISBN 978-0-321-92956-3 (pbk. : alk. paper)1. Agile software development. 2. Open source software. I. Runyan, Kristin. II. Title.QA76.76.D47A83 2014005.3—dc232014014568Copyright 2015 Pearson Education, Inc.All rights reserved. Printed in the United States of America. This publication is protected by copyright, andpermission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system,or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise. Toobtain permission to use material from this work, please submit a written request to Pearson Education, Inc.,Permissions Department, One Lake Street, Upper Saddle River, New Jersey 07458, or you may fax your request to(201) 236-3290.ISBN-13: 978-0-321-92956-3ISBN-10: 0-321-92956-XText printed in the United States on recycled paper at RR Donnelley in Crawfordsville, Indiana.First printing, July 2014

For my sons, Drake and Dane, who encourageme to follow my dreams, and for my husband,Brian, who helps make them all possible.—Sondra AshmoreFor my family and friends, fromwhom I am continuously learning.—Kristin Runyan

This page intentionally left blank

ContentsPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiiAcknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviiAbout the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixChapter 1: The History and Value of Agile Software Development . . . . . . . 1The Beginnings of Software Development as Methodology . . . . . . . 2The Rise of Agile Software Development . . . . . . . . . . . . . . . 2The Agile Manifesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4Cayman Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Interview with Robert Martin (Uncle Bob) . . . . . . . . . . . . . . . . . . . 9References and Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . . 12Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Chapter 2: Organizational Culture Considerations with Agile . . . . . . . . . . 15What Is Organizational Culture, and Why Does It Matter? . . . . . .The Team Members’ Viewpoint . . . . . . . . . . . . . . . . . . . . . . . . . .What Is Different? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Successes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Failures/Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .A Manager’s Viewpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Is Different? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Successes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Failures/Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .An Executive’s Viewpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .What Is Different? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Successes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Failures/Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1616172225272830323434373942vii

viiiContentsSummary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Interview with Scott Ambler . . . . . . . . . . . . . . . . . . . . . . . . . . . . .References and Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . .Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42444547Chapter 3: Understanding the Different Types of Agile . . . . . . . . . . . . . . . 49Extreme Programming (XP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Frequent Releases, Short Development Cycles . . . . . . . . . .Pair Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Regular Builds, Integration Tests,and Rapid Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . .Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Feature-Driven Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Dynamic Systems Development Method . . . . . . . . . . . . . . . . . . . .Lean Software Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Kanban Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Crystal Family . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Certification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Implementing Tools and Techniques at Cayman Design . . . . . . . .Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Interview with Alistair Cockburn . . . . . . . . . . . . . . . . . . . . . . . . .References and Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . .Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5051515354565759606264666666677070Chapter 4: Describing the Different Roles . . . . . . . . . . . . . . . . . . . . . . . . . 73Deep Dive into Scrum Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Product Owner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Scrum Master . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .The Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chickens and Pigs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Practical Examples of the Scrum Roles . . . . . . . . . . . . . . . .Extended Team Members . . . . . . . . . . . . . . . . . . . . . . . . . .Roles in Other Methodologies . . . . . . . . . . . . . . . . . . . . . . . . . . . .Project Sponsor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Requirements Gatherer . . . . . . . . . . . . . . . . . . . . . . . . . . . .Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Team Coach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Architect or Technical Lead . . . . . . . . . . . . . . . . . . . . . . . .74747984889093959595969697

ContentsDevelopment Team . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Documentation and Training . . . . . . . . . . . . . . . . . . . . . . . 98Agile Coach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Kanban . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Practical Examples of Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Start-Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Mid-Sized Company . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Large Multinational Company . . . . . . . . . . . . . . . . . . . . . 101Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Interview with Roman Pichler . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Interview with Lyssa Adkins . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107References and Further Reading . . . . . . . . . . . . . . . . . . . . . . . . . 109Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Chapter 5: The New Way to Collect and Document Requirements . . . . . 113Old Form of Requirements Gathering . . . . . . . . . . . . . . . . . . . . .Agile Requirements in Scrum . . . . . . . . . . . . . . . . . . . . . . . . . . . .User Story Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Epics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Acceptance Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . .User Story Writing Best Practices . . . . . . . . . . . . . . . . . . .Additions and Considerations from the Other Methodologies . . .Extreme Programming . . . . . . . . . . . . . . . . . . . . . . . . . . .Dynamic Systems Development Method . . . . . . . . . . . . . .Enhancing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Incorporation of Personas . . . . . . . . . . . . . . . . . . . . . . . . .Human–Computer Interaction (HCI) and Usability . . . . .Business Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .From User Stories to Deliverables . . . . . . . . . . . . . . . . . . . . . . . .Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . .Managing Features—Marketing/Salesversus Development . . . . . . . . . . . . . . . . . . . . . . . . . . .Customer-Specific Code . . . . . . . . . . . . . . . . . . . . . . . . . .Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Sharing the Vision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Roadmaps—Internal and External . . . . . . . . . . . . . . . . . .Lean Product Development and the MinimumViable Product (MVP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31132132134137ix

xContentsConclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Interview with Ellen Gottesdiener and Mary Gorman . . . . . . . . .References and Further Reading . . . . . . . . . . . . . . . . . . . . . . . . .Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139139141144146Chapter 6: Grooming and Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Product Backlog (Scrum and XP) . . . . . . . . . . . . . . . . . . . . . . . .Feature-Driven Development (FDD) . . . . . . . . . . . . . . . . .Prioritization of Stories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Prioritization Based on Value . . . . . . . . . . . . . . . . . . . . . .Value Stream Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . .MoSCoW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Kano Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Estimating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Level of Effort (LOE) or T-Shirt Sizing . . . . . . . . . . . . . . .Ideal Time (Days or Hours) . . . . . . . . . . . . . . . . . . . . . . .Hours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Story Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Team Participation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Scrum: Product Backlog Grooming . . . . . . . . . . . . . . . . . . . . . . .Additional Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Scrum: Sprint Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Planning Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Chickens and Pigs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Extreme Programming: XP Planning Game . . . . . . . . . . . . . . . . .Maintenance of Legacy Code . . . . . . . . . . . . . . . . . . . . . . . . . . .Build Time into the Sprint . . . . . . . . . . . . . . . . . . . . . . . .Assign a Team Resource to Maintenance . . . . . . . . . . . . .Split into Two Teams . . . . . . . . . . . . . . . . . . . . . . . . . . . .Triple Constraints . . . . .

Introduction to Agile Methods Sondra Ashmore, Ph.D. Kristin Runyan Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid