Development with Scrum

Similar documents
Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK

Agile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK

PMI Agile Certified Practitioner (PMI-ACP) Exam Prep Training - Brochure

(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Software Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis

Adopting Agile Practices

Designed in collaboration with Infosys Limited

Agile Software Development The Cooperative Game 2nd Edition

Testing Agile Projects Stuart Reid

Software Engineering I (02161)

Testing in the Agile World

LESSONS LEARNED: BEING AGILE IN THE WATERFALL SANDBOX

Development Processes Agile Adaptive Planning. Stefan Sobek

02291: System Integration

MTAT Software Engineering Management

Pro XAML with C# From Design to Deployment on WPF, Windows Store, and Windows Phone. Buddy James. Lori Lalonde

Quality, Project Management & Supply Professional (Customized). Choice of any 3 certifications outlined as follows:

THE SCRUM FRAMEWORK 1

Agile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?

Case Management Digital Service Sprint Review Sprint 5.1: 11/16/17 11/29/17. CWDS / Child Welfare Digital Services

Agile Implementation The Anaplan Way Dashboard Input Guides

Agile Accessibility. Presenters: Ensuring accessibility throughout the Agile development process

Best Practices for Collecting User Requirements

Lecture 7: Software Processes. Refresher: Software Always Evolves

Exam Questions

<Insert Picture Here> CxP Design Sprint

DAVIS SYSTEMS

Test Driven Development. René Barto SES Agile Development - Test Driven Development

CS 320 Introduction to Software Engineering Spring February 06, 2017

SE420 - Software Quality Assurance

Story Refinement How to write and refine your stories so that your team can reach DONE by the end of your sprint!

An Intro to Scrum. Agile (Iterative) Project Development. Written in 2001 Can be read in its entirety at:

DOWNLOAD OR READ : SUCCEEDING WITH AGILE SOFTWARE DEVELOPMENT USING SCRUM ADDISON WESLEY SIGNATURE PDF EBOOK EPUB MOBI

Seven Deadly Sins of Agile Testing

Agile where are we at?

Maja Schreiner. 9th Lean, Agile & Scrum Conference 2017

Index. Wouter de Kort 2016 W. de Kort, DevOps on the Microsoft Stack, DOI /

Software Development Process Models

Collaboration at Scale: Prioritizing a Backlog. 13-Dec-2017

Scrums effects on software maintainability and usability

BDD in Action. Behavior-Driven Development for. the whole software lifecycle JOHN FERGUSON SMART MANNING. Shelter Island

AGILE. Getting Started on Your Team. Davisbase. Copyright 2011 Davisbase LLC. Licensed for Classroom Use to ASPE for Webinar Use Only

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing

Software Development

Founda'ons of So,ware Engineering. Process: Agile Prac.ces Claire Le Goues

Certified ScrumMaster (CSM) 83 Success Secrets: 83 Most Asked Questions On Certified ScrumMaster (CSM) - What You Need To Know

USER MANUAL. Inprowiser Engineering

Topic 01. Software Engineering, Web Engineering, agile methodologies.

A CONFUSED TESTER IN AGILE WORLD

Behavior Driven Development (BDD) By Nabeel Ibrahim

Implementing ATDD: A Practical Approach

Designing and Developing a Web application to automate the configuration of «Stream Gateway test tool»

l e a n Lean Software Development software development Faster Better Cheaper

Test Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions

CREATING EFFECTIVE USER STORIES

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

What is JIRA? software development tool. planning and tracking the projects progress and supporting the team collaboration

Agile Project Management With Scrum (Microsoft Professional) By Ken Schwaber

ServiceNow - Agile in ServiceNow

Delivery 4. From group 4 at Florida Atlantic University (FAU)

Department of Computer Science. Erik Olsson Haglund Fredrik Häggbom. Scrumptious. A Scrum Planning Tool Case Study to Evaluate the Rich Ajax Platform

The Case: Danske Bank

This Thing Called Kanban

The Scaled Agile Framework

TCSS 360: SOFTWARE DEVELOPMENT AND QUALITY ASSURANCE

J, K F, G, H. Library/framework, 168 LIKE() predicate, 142 Load-balancing server (LBS), 120 Lock on check out (LOCO), 1

3 Days Classroom Training Exam and Certification Included

Shift Left, Automation, and Other Smart Strategies for Getting Ahead in QA

Optimize tomorrow today.

CollabNet TeamForge 5.3 Evaluator s Guide

Global Accreditation Body for Scrum and Agile Certifications

Agile Tester Foundation E-learning Course Outline

Agile Israel Feature Driven Development

Extreme programming XP 6

Secure Agile Development

JIRA Studio Use Cases and Tutorial basis

Quality Driven Development

Ready for Scrum? Steve Hutchison DISA T&E

XP Evolution Rachel Davies

Index. BigBadGuiTools (BBGT), 186 Business logic and data layer, 32 Business requirements

Story Writing Basics

Agile Software Development With Scrum (Series In Agile Software Development) By Ken Schwaber, Mike Beedle

Atomic Project Management

Contents at a Glance. Foreword... xix About the Authors... xxi About the Technical Reviewers... xxiii Acknowledgments... xxv Introduction...

Value & Role of Business Analyst in Agile. Presented by: Jagruti Shah Associate Business Consultant Mastek Ltd

UX Runway ensuring teams take off successfully. User Experience (UX) Owner: Natalie Warnert

Agile Testing Course: 15 16/11

Agile Software Development Agile UX Work. Kati Kuusinen TUT / Pervasive / IHTE

The Improvement Backlog. Claude Rémillard InCycle Software

CONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010

David Bernstein Five Development Practices Essential for Scrum Teams

Requirements and User-Centered Design in an Agile Context

Visual Studio Team Services

Agile 2005 Experience Report

Agile Certification Options Primer. Presented by: Tom McGraw, CSM VP of Public Sales

Available Developers. Senior.Net Developer ID: 037

From Feature to Code. SCRUM + NetBeans RCP + Featureous. John Kostaras JCrete August 2014

Kanban In a Nutshell. Bob Galen President & Principal Consultant RGCG, LLC

defined. defined. defined. defined. defined. defined. defined. defined. defined.

Transcription:

Pro Agile.NET Development with Scrum Jerrel Blankenship Matthew Bussa Scott Millett Apress*

Contents About the Authors About the Technical Reviewers Acknowledgments Introduction xv xvi xvii xviii 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 Chapter 2: Managing Agile Projects with Scrum 13 What Is Scrum? 13

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 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

Summary 51 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

Prioritizing the Backlog 83 Committing to the First Sprint 85 Summary 86 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 Day1 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

Product Demo 132 Summary 133 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 Day1 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 I54 Product Demo 158 Summary 159

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 Day1 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 Chapter 8: Sprint 4: The Release 203 Sprint Planning Meeting 203

The Theme of the Sprint 203 Determining Availability and Capacity 203 Planning Poker 204 Sprint 4's Backlog 208 Day 1 209 Daily Stand-up 209 Day 4 209 Daily Stand-up 209 Developing a Feature: Paying Out 210 Day 6 235 Daily Stand-up 235 Day 10 236 Product Demo 236 Retrospective 238 Summary 241 Chapter 9: Code Review 243 Solution Overview 243 Infrastructure Project Domain Project Acceptance Test Project Core Test Project 244 246 259 264 NHibernate Infrastructure Project 265 Web Project StructureMap 267 269 Summary Chapter 10: What's Ahead for You and Scrum? 273 Scrum 273 271

Product Demos 274 Retrospectives 275 Continuous Integration 276 Plan-Do-Study-Act 276 extreme Programming 277 Where to Go from Here 278 Appendix A: TDD Primer with NUnit 281 Installation 281 Web Page Installation 281 NuGet Installation 283 TDD Walk-through 286 Running NUnit 290 Adding Another Test 293 Summary 294 Appendix B: BDD Primer with SpecFlow. 297 Outside-ln Software Development 297 SpecFlow 298 BDD Walk-through 299 Writing Your Feature 302 Scenario 1: Navigation to MathPage 303 Scenario 2: Add Two Numbers 307 Summary 309 Appendix C: Mocking with Moq...311 Why Mocking 311 Installation 311 Web Page Installation 312 NuGet Installation 312

Moq Walk-through 314 The Product Class 314 Summary 316 Appendix D: Manage a Product Backlog with Pivotal Tracker. 319 Sign Up 319 Create a Project 320 Keeping Things in Sync 323 Summary 323 Appendix E: Web Testing with WatiN 325 Installation 325 Web Page Installation 325 NuGet Installation 326 WatiN Test Walk-through 328 Remote WatiN Test 328 Testing WatiN for Local Web Applications 331 CassiniDev 331 Summary 334 Appendix F: Source Control with SVN 335 Distributed Systems vs. Centralized Systems 335 Installation 335 Server Installation 336 Client Installation 339 Communicating from Client to Server 340 Working Folder 342 Importing into SVN with TortoiseSVN 343 Online SVN Hosting 348

Summary 348 Appendix G: Continuous Integration with Cruise Control.NET 351 Continuous Integration 351 CruiseControl.NET 351 Installation 352 Stand-Alone Application 354 Windows Service 354 CruiseControl.NET Web Dashboard 355 CruiseControl.NET Configuration and Setup 360 Adding a Project 360 Setting up CCTray 361 Summary 362 Index 365