ebook img

Pro Agile .NET Development with Scrum PDF

379 Pages·2011·16.562 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pro Agile .NET Development with Scrum

Pro Agile .NET Development with Scrum (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:2) (cid:3) (cid:3) (cid:3)(cid:2) Jerrel Blankenship Matthew Bussa Scott Millett Pro Agile .NET Development with Scrum Copyright © 2011 by Jerrel Blankenship, Matthew Bussa, and Scott Millett All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN 978-1-4302-3533-0 ISBN 978-1-4302-3534-7 (eBook) Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. President and Publisher: Paul Manning Lead Editor: Jonathan Hassell Technical Reviewer: Russ Lewis and Damien Foggon Editorial Board: Clay Andres, Steve Anglin, Mark Beckner, Ewan Buckingham, Gary Cornell, Jonathan Gennick, Jonathan Hassell, Michelle Lowman, Matthew Moodie, Duncan Parkes, Jeffrey Pepper, Frank Pohlmann, Douglas Pundick, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Coordinating Editor: Jessica Belanger Copy Editor: Kim Burton-Weisman Compositor: Bytheway Publishing Services Indexer: SPI Global Artist: SPI Global Cover Designer: Anna Ishchenko Distributed to the book trade worldwide by Springer Science+Business Media, LLC., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer- sbm.com, or visit www.springeronline.com. For information on translations, please e-mail [email protected], or visit www.apress.com. Apress and friends of ED books may be purchased in bulk for academic, corporate, or promotional use. eBook versions and licenses are also available for most titles. For more information, reference our Special Bulk Sales–eBook Licensing web page at www.apress.com/bulk-sales. The information in this book is distributed on an “as is” basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work. The source code for this book is available to readers at www.apress.com. You will need to answer questions pertaining to this book in order to successfully download the code. To my wife, Stacy, my son, Tyler, and my family –Jerrel To my wife, Rebakah, and my family –Matthew Contents at a Glance (cid:3) About the Authors.................................................................................................xv (cid:3) About the Technical Reviewers...........................................................................xvi (cid:3) Acknowledgments..............................................................................................xvii (cid:3) Introduction.......................................................................................................xviii (cid:3) Chapter 1: The Art of Agile Development................................................................1 (cid:3) Chapter 3: eXtreme Programming........................................................................29 (cid:3) Chapter 4: Sprint 0: Generating the Product Backlog..........................................53 (cid:3) Chapter 5: Sprint 1: Starting a Game....................................................................87 (cid:3) Chapter 6: Sprint 2: Playing a Basic Game.........................................................135 (cid:3) Chapter 7: Sprint 3: Changing the Game.............................................................161 (cid:3) Chapter 8: Sprint 4: The Release........................................................................203 (cid:3) Chapter 9: Code Review......................................................................................243 (cid:3) Chapter 10: What’s Ahead for You and Scrum?..................................................273 (cid:3) Appendix A: TDD Primer with NUnit....................................................................281 (cid:3) Appendix B: BDD Primer with SpecFlow.............................................................297 (cid:3) Appendix C: Mocking with Moq..........................................................................311 (cid:3) Appendix D: Manage a Product Backlog with Pivotal Tracker..........................319 (cid:3) Appendix E: Web Testing with WatiN..................................................................325 (cid:3) Appendix F: Source Control with SVN.................................................................335 (cid:3) Appendix G: Continuous Integration with Cruise Control.NET ............................351 (cid:3) Index...................................................................................................................365 iv Contents (cid:3) About the Authors.................................................................................................xv (cid:3) About the Technical Reviewers...........................................................................xvi (cid:3) Acknowledgments..............................................................................................xvii (cid:3) Introduction.......................................................................................................xviii (cid:3) Chapter 1: The Art of Agile Development................................................................1 Why the Need for Agile?....................................................................................................1 It’s What I Asked for But Not What I Need................................................................................................1 Iterative Change.......................................................................................................................................3 Defining Agile....................................................................................................................5 The Agile Manifesto..................................................................................................................................5 Key Features of Agile................................................................................................................................7 The Flavors of Agile...........................................................................................................8 Scrum.......................................................................................................................................................8 eXtreme Programming (XP)......................................................................................................................9 Crystal......................................................................................................................................................9 Dynamic Systems Development Method (DSDM)...................................................................................10 Feature-Driven Development (FDD)........................................................................................................10 Lean Software Development..................................................................................................................10 Summary.........................................................................................................................11 (cid:3) Chapter 2: Managing Agile Projects with Scrum..................................................13 What Is Scrum?...............................................................................................................13 v (cid:3) CONTENTS Plan-Driven vs. Value-Driven Methods............................................................................14 Waterfall Method (Plan Driven)...............................................................................................................14 Scrum Method (Value Driven).................................................................................................................15 Fixed vs. Variable Factors.......................................................................................................................16 Scrum Artifacts................................................................................................................17 Product Backlog.....................................................................................................................................17 Sprint Backlog........................................................................................................................................19 Burn-down chart....................................................................................................................................20 Acceptance Criteria................................................................................................................................21 Scrum Roles....................................................................................................................21 Pig Roles.................................................................................................................................................22 Chicken Roles.........................................................................................................................................23 Scrum Activities...............................................................................................................23 Sprint Planning.......................................................................................................................................24 Daily Stand-Ups (Scrums).......................................................................................................................25 Sprint Review.........................................................................................................................................25 Sprint Retrospectives.............................................................................................................................25 Summary.........................................................................................................................26 (cid:3) Chapter 3: eXtreme Programming........................................................................29 XP Values.........................................................................................................................29 XP Practices and Principles.............................................................................................30 Planning..................................................................................................................................................33 Environment...........................................................................................................................................41 Self-Organization....................................................................................................................................42 Shared Understanding............................................................................................................................44 Commitment to Development Excellence...............................................................................................46 Quality Assurance...................................................................................................................................49 vi (cid:3) CONTENTS Summary.........................................................................................................................51 (cid:3) Chapter 4: Sprint 0: Generating the Product Backlog..........................................53 The Project: Online Blackjack Gambling..........................................................................53 Mission Statement..................................................................................................................................54 Team Name............................................................................................................................................54 Team Ground Rules................................................................................................................................54 Technical User Stories.....................................................................................................55 Walking the Development Skeleton........................................................................................................55 Capturing Features with User Stories..............................................................................60 Playing Blackjack Stories.......................................................................................................................60 Playing for Money Stories.......................................................................................................................68 Member Account Stories........................................................................................................................73 Reporting Stories....................................................................................................................................73 Technical Stories....................................................................................................................................74 Initial Product Backlog.....................................................................................................76 Planning Poker.................................................................................................................78 Game Play: Initial Play............................................................................................................................78 Game Play: Start Game...........................................................................................................................78 Game Play: Deck of Cards......................................................................................................................80 Game Play: Hit........................................................................................................................................80 Game Play: Stand...................................................................................................................................80 Game Play: Win.......................................................................................................................................80 Game Play: Dealer Rules........................................................................................................................81 Game Play: Double..................................................................................................................................81 Game Play: Split.....................................................................................................................................82 Member Registration..............................................................................................................................82 Managing Member Accounts..................................................................................................................82 Cashing In...............................................................................................................................................82 vii (cid:3) CONTENTS Prioritizing the Backlog....................................................................................................83 Committing to the First Sprint.........................................................................................85 Summary.........................................................................................................................86 (cid:3) Chapter 5: Sprint 1: Starting a Game....................................................................87 Sprint Planning Meeting..................................................................................................87 The Theme of the Sprint.........................................................................................................................87 Determining Availability and Capacity....................................................................................................88 Planning Poker.......................................................................................................................................88 Project Management/Feedback Progress..............................................................................................92 Sprint 1’s Backlog............................................................................................................94 Day 1................................................................................................................................95 Daily Stand-Up........................................................................................................................................95 Developing the First Story: The Initial Bet Feature..........................................................96 Implementing the First Story..................................................................................................................96 Day 4..............................................................................................................................119 Daily Stand-Up......................................................................................................................................119 Working on the Next User Story: Deck of Cards............................................................120 Adding the SpecFlow Feature...............................................................................................................121 Adding Scenarios..................................................................................................................................121 Implementing the “Check for 52 Different Cards” Scenario.................................................................124 Day 6..............................................................................................................................126 Daily Stand-Up......................................................................................................................................126 Final User Story of the Sprint: Start Game.....................................................................126 Adding the SpecFlow Feature...............................................................................................................127 Adding Scenarios..................................................................................................................................127 Day 10............................................................................................................................129 Sprint 1 Retrospective..........................................................................................................................129 viii (cid:3) CONTENTS Product Demo.......................................................................................................................................132 Summary.......................................................................................................................133 (cid:3) Chapter 6: Sprint 2: Playing a Basic Game.........................................................135 Sprint Planning Meeting................................................................................................135 The Theme of the Sprint.......................................................................................................................135 Determining Availability and Capacity..................................................................................................135 Planning Poker.....................................................................................................................................136 Sprint 2’s Backlog..........................................................................................................140 Day 1..............................................................................................................................140 Daily Stand-Up......................................................................................................................................140 Developing the User Story: Hit.......................................................................................140 Adding the SpecFlow Feature...............................................................................................................142 Using BDD to Drive the Feature Development......................................................................................144 Day 4..............................................................................................................................145 Daily Stand-Up......................................................................................................................................146 Working on the User Story: Stand..................................................................................146 Adding the SpecFlow Feature...............................................................................................................147 Add Scenario........................................................................................................................................147 Day 6..............................................................................................................................149 Daily Stand-Up......................................................................................................................................149 Final User Story of the Sprint: Win.................................................................................149 Adding the SpecFlow Feature...............................................................................................................150 Adding Scenarios..................................................................................................................................151 Day 10............................................................................................................................154 Sprint 2 Retrospective..........................................................................................................................154 Product Demo.......................................................................................................................................158 Summary.......................................................................................................................159 ix (cid:3) CONTENTS (cid:3) Chapter 7: Sprint 3: Changing the Game.............................................................161 Sprint Planning Meeting................................................................................................161 The Theme of the Sprint.......................................................................................................................162 Determining Availability and Capacity..................................................................................................162 Planning Poker.....................................................................................................................................162 Sprint 3’s Backlog..........................................................................................................167 Day 1..............................................................................................................................168 Daily Stand-Up......................................................................................................................................168 Developing the User Story: Dealer Rules.......................................................................168 Adding the SpecFlow Feature...............................................................................................................169 Day 4..............................................................................................................................171 Daily Stand-Up......................................................................................................................................171 Working on the User Story: Double Stake......................................................................172 Adding the Double Stake SpecFlow Feature........................................................................................174 Using BDD to Drive the Feature Development......................................................................................175 Wiring Up and Getting the Scenario to Pass.........................................................................................183 Day 6..............................................................................................................................188 Daily Stand-Up......................................................................................................................................188 User Story: Game Play Insurance..................................................................................188 Adding the SpecFlow Feature...............................................................................................................190 Adding Scenarios..................................................................................................................................191 Day 10............................................................................................................................195 Product Demo.......................................................................................................................................195 Retrospective........................................................................................................................................197 Summary.......................................................................................................................202 (cid:3) Chapter 8: Sprint 4: The Release........................................................................203 Sprint Planning Meeting................................................................................................203 x

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.