The Truth About Agile Software Development with Scrum, The Facts You Should Know



Similar documents
Business Process Management 100 Success Secrets

Agile Projects 7. Agile Project Management 21

Building Software in an Agile Manner

Introduction to Agile Scrum

Course Title: Planning and Managing Agile Projects

Capstone Agile Model (CAM)

In today s acquisition environment,

Change management 100 Success Secrets

Course Title: Managing the Agile Product Development Life Cycle

Agile Systems Engineering: What is it and What Have We Learned?

Using Ruby on Rails for Web Development. Introduction Guide to Ruby on Rails: An extensive roundup of 100 Ultimate Resources

Supply Chain Management 100 Success Secrets

Agile & Scrum: What are these methodologies and how will they impact QA/testing roles? Marina Gil Santamaria Summer 2007

LEAN AGILE POCKET GUIDE

AGILE - QUICK GUIDE AGILE - PRIMER

Agile Software Development

Quality Assurance in an Agile Environment

Lean Software Development and Kanban

Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology

Agile Methodologies and Its Processes

Table of contents. Performance testing in Agile environments. Deliver quality software in less time. Business white paper

A Viable Systems Engineering Approach. Presented by: Dick Carlson

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

Sprint with Scrum and get the work done. Kiran Honavalli, Manager Deloitte Consulting LLP March 2011

Outsourcing 100 Success Secrets

AGILE METHODOLOGY IN SOFTWARE DEVELOPMENT

CRM 100 Success Secrets

Whitepaper. Agile Methodology: An Airline Business Case YOUR SUCCESS IS OUR FOCUS. Published on: Jun-09 Author: Ramesh & Lakshmi Narasimhan

The Basics of Scrum An introduction to the framework

Agile Scrum Foundation Training

When User Experience Met Agile: A Case Study

The Agile Manifesto is based on 12 principles:

This handbook is meant to be a quick-starter guide to Agile Project Management. It is meant for the following people:

Agile Service Transition

TSG Quick Reference Guide to Agile Development & Testing Enabling Successful Business Outcomes

Agile Software Development

Sometimes: 16 % Often: 13 % Always: 7 %

Applying Lean on Agile Scrum Development Methodology

2015 Defense Health Information Technology Symposium Implementation of Agile SCRUM Software Development Methodology

Getting Started with iphone SDK, Android and others: Mobile Application Development Create your Mobile Applications Best Practices Guide

Agile Software Development in the Large

How To Plan An Agile Project

Call Center 101 Success Secrets. Copyright by Timothy Phelps

Agile Software Development with Scrum. Jeff Sutherland Gabrielle Benefield

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

Introduction to Agile and Scrum

Certified Cloud Technology. Professional

Agile Development Overview

SCRUM BODY OF KNOWLEDGE (SBOK Guide)

Agile Information Management Development

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

Agile Development Calls for an Agile Suite Solution

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

PMP/PMBOK 100 Success Secrets

Adapting Agile Software Development to Regulated Industry. Paul Buckley Section 706 Section Event June 16, 2015

Chapter 6. Iteration 0: Preparing for the First Iteration

Avaya Certified Support Specialist Contact Center Control Manager (ACSS)

GED How To Boot Camp: The Fast and Easy Way to Learn the Basics with 49 World Class Experts Proven Tactics, Techniques, Facts, Hints, Tips and Advice

Governments information technology

Bridging the IT Business Gap The Role of an Enterprise Architect

The Team... 1 The Backlog... 2 The Release... 4 The Sprint... 5 Quick Summary Stakeholders. Business Owner. Product Owner.

Agile & PMI Project Management Mapping MAVERIC S POINT OF VIEW Vol. 7

When to use Agile/Scrum

Certified Information Security Manager

Currency Trading and Forex 100 Success Secrets 100 Most Asked Questions on becoming a Successful Currency Trader

Agile Project Management By Mark C. Layton

Agile Beyond The Team 1

Manage projects effectively

Scaling Scrum. Colin Bird & Rachel Davies Scrum Gathering London conchango

Practical Agile Requirements Engineering

Who Doesn t Want to be Agile? By: Steve Dine President, Datasource Consulting, LLC 7/10/2008

5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up

Certified Professional. Penetration Tester (ecppt)

Agile and lean methods for managing application development process

Certified System Administrator (CSA)

Preparation Guide. EXIN Agile Scrum Foundation

CA Service Desk Manager Administrator

White Paper IT Methodology Overview & Context

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

W hitepapers. Delighting Vodafone Turkey s Customers via Agile Transformation

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

Are waterfall and agile project management techniques mutually exclusive? by Eve Mitchell, PwC. 22 MARCH

CMMI 100 Success Secrets

TEN TIPS FOR A SUCCESSFUL INFOR IMPLEMENTATION

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

AIS HP Converged Infrastructure. Secrets To Acing The Exam and Successful Finding And Landing Your Next AIS HP Converged Infrastructure Certified Job

Agile-Waterfall Hybrid Jessica LaGoy, MS, PMP

Alternative Development Methodologies

An Introduction to Agile Performance Management

FIVE CHALLENGES TO AGILE PLANNING:

Agile Scrum and PMBOK Compatible or Contrary?

Agile So)ware Development

Certificate in Information Security Management Principles

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

Scrum Is Not Just for Software

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

Transcription:

The Truth About Agile Software Development with Scrum, The Facts You Should Know

Copyright Notice of rights All rights reserved. No part of this book may be reproduced or transmitted in any form by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher. Notice of Liability The information in this book is distributed on an As Is basis without warranty. While every precaution has been taken in the preparation of the book, neither the author nor the publisher 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 instructions contained in this book or by the products described in it. Trademarks 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 designations appear as requested by the owner of the trademark. All other product names and services identified throughout this book are used in editorial fashion only and for the benefit of such companies with no intention of infringement of the trademark. No such use, or the use of any trade name, is intended to convey endorsement or other affiliation with this book.

The Truth About Agile Software Development with Scrum, The Facts You Should Know Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing crossfunctional teams. Agile methods generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices that allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Conceptual foundations of this framework are found in modern approaches to operations management and analysis, such as lean manufacturing, soft systems methodology, speech act theory (network of conversations approach), and Six Sigma. This book is filled with case studies and real life anecdotes. If you like learning by example, this book is for you. Scrum is quite likely the best starting point for most companies interested in pursuing an agile development process. The readability and excellent anecdotes in this book make it a fantastic starting point for any journey into agile development.

Filled with examples of how Scrum is applied Scrum in many varying situations. Although this book is ostensibly about software development, Scrum has its roots in general new product development and can (and has been) applied to a wide variety of development projects. Learning Scrum by reading a book filled with examples like this is the best way to get the feel for how to use it on your own projects. This book really hits the nail on the head and delivers what's needed the most: a practical guide to Scrum with anecdotes and "what happens if..." situations from real world Scrum implementations.

Table of Contents Agile - More Than Just a Methodology... 11 Agile Development Brings IT, Business Together... 13 Agile Planning from Enterprise Vision to Team Stand-Up Part 1 16 Agile Project Management... 20 Agile Scrum - Incorporating Usability Practices and UCD Processes in Agile Projects... 21 Agile Software Development Ecosystem... 23 Choosing a Scrum Pilot... 26 Estimating Agile Software Projects - How to Stay Within Budget29 How Agile Methods Resolve Chaos and Unpredictability in Software Projects... 34 How Agile Offshore Practices Can Avoid the "Real" Costs of Offshore Outsourcing... 42 Keep Business Operations and Logistics Simple, Streamlined and Agile... 46 Monitoring Source Control For Enhanced Agile Visibility... 51 Principles Of Agile Manufacturing... 54 Proven, Practical Tactics For Agile IT Release Management - A Case Study... 56 Proven, Practical Tactics For Agile IT Release Management - Definitions and Triage... 60

Proven, Practical Tactics For Agile IT Release Management - Final Quality Control... 68 Proven, Practical Tactics For Agile IT Release Management - Lessons Learned... 73 Proven, Practical Tactics For Agile IT Release Management - The Core Solution... 79 Scrum Acceptance Criteria... 86 Scrum Backlog... 88 Scrum Daily Standup... 90 Scrum Epics... 92 Scrum Impediments... 94 Scrum is a Flexible Process!... 96 Scrum Master Role... 99 Scrum Product Backlog Grooming... 101 Scrum Product Owner... 103 Scrum Retrospective... 105 Scrum Teams... 107 Scrum With a Physical Taskboard... 109 Six Sigma and Agile Software Development... 112 Source Code Analysis in an Agile World... 114 Successfully Communicating With Distributed Agile Teams... 117 The Agile Software Revolution - Information Technology in US Manufacturing Today... 121 The Role of the Product Owner in Scrum... 127

The Scrum Sprint Burndown Chart - Every Picture Tells a Story... 130 What Every Manager Ought To Know About Agile Development... 133 What is Agile Software Development?... 136 What is Agile Software Testing?... 138 Why Scrum Teams Should Be Small... 140

11 Agile - More Than Just a Methodology Agile is not just a software development methodology but a way of working that helps deliver business value faster, cheaper and with less risk. If you are an IT professional within an IT department or organization, or if you are a business professional in any sector, Agile values, principles and practices can help you optimize your team, your deliverables and the related processes. Agile started off as a software development and delivery methodology but over the last few years it has grown broader and scaled to the organization level. Organizations in all kinds of industry are finding that the Agile way of working is not just suitable for IT departments but for the organization as a whole and it is delivering tangible benefits in record time. Agile is not a radical new way but rather an evolution of best practices and work philosophy that now has a definite shape and can be implemented to deliver substantial improvements. Agile Values Values are ideals that teams should pursue as a goal. Agile Principles Principles are applications of the Agile Values or Ideals to a particular industry. Value:Focus on business benefits and risk mitigation. Collaboration:Focus on actively working together and leveraging collective knowledge. Speed:Focus on time-boxed delivery and sustainable development. Flexibility:Focus on adapting to business requirements and welcoming change. Simplicity:Focus on keeping things simple. Teamwork:Focus on creating empowered, self-adjusting teams. Agile in Practice There is more to Agile success than just using practices. However, practices can serve as valuable techniques to assist you working Agile.

12 Agile Leadership Focusing on leaders and stakeholders outside and around the Agile project team (not project or iteration managers), this course outlines and examines the leadership role in dealing with Agile project teams and teams working in an Agile manner in general. Learn about the roles, responsibilities and accountability of line management and team leaders, both de-facto and nominated. This course covers leadership behaviors and traits required to be effective and efficient in an Agile environment, as well as imparting tips and techniques to enable leaders to build high performing teams. https://www.agileacademy.com.au CamParry

13 Agile Development Brings IT, Business Together I write a lot about the general importance of improving communications between IT and the business and the havoc that poor communication between the two camps can wreak. Considering the strategic importance of software applications to many companies and the high costs of development and, in particular, of going back and doing major code fixes, development is one process where communication would appear to be especially important. There's also users' general dissatisfaction with enterprise applications to consider. Close communication between users and developers is a key characteristic of a process Computerworld calls application development 2.0. I'm no expert, but I think the article is referring to Agile software development, which departs from the traditional waterfall development process in a number of ways. As is the case with a number of other tech trends, Agile first gained popularity with consumer-oriented applications and is making its move to a somewhat skeptical enterprise. Looking at it from a high (and admittedly non-technical) level, I am not sure why companies seem so suspicious. Agile values flexibility, simplicity and getting tasks accomplished quickly - three characteristics that are hard to see as negative. I learned a little about Agile development in a recent discussion I had with Doug Mow, senior VP of marketing for outsourcing provider Exigen Services. Perhaps the single biggest difference, says Mow, is that "Agile methods assume that change is inevitable and seek to incorporate change, not resist change."

14 In outsourced application development, a competitive force, regulation or other factor that leads companies to ask for a change not included in original design specifications leads to a change in scope and a change order with added cost. While added costs may not be as obvious for an in-house project, delays do drive up costs and also often create ill feelings between the business and IT. As Mow puts it: "There's often this gap of IT saying, "The business can't make up their minds" and business saying, "IT can't keep up." Agile's emphasis on speed and its iterative nature result in greater user participation, fewer hard feelings and hopefully, happier business people. Says Mow: "One of the benefits of this is that you deliver working code much sooner. The business community can request changes in between each one of these iterations. The business community is watching this system become more malleable instead of more rigid. The changes they request are actually being incorporated. The issues they raise are addressed sooner in the process. Their participation actually has an effect on what happens - this isn't always the case with more traditional development methodologies. You really get a greater degree of alignment between IT and the business." A caveat: Whether a project is in-house or outsourced, Agile requires a high degree of collaboration between IT and the business, something that not every organization is prepared to offer. According to the Computerworld article, which echoes many of Mow's points, 70 percent of developers participating in a recent TopCoder online coding competition said that traditional corporate development teams could benefit from newer techniques, especially incremental feature releases, speedy user feedback and quality assurance programs involving users. The article offers five suggestions for tech executives who want to try Web 2.0 development:

15 Encourage close contact between developers and end users, and involve users in quality assurance processes; Stress simplicity; Use dynamic scripting languages like Ruby, Python and Perl rather than Java or.net; Emphasize frequent releases; Users, not developers, should determine new features. Another endorsement for Agile: General Electric engineers apparently use Agile methods for frequent tweaks to the company's much-vaunted SupportCentral network, which serves 400,000 users in 6,000 locations around the world. Read Ann's complete interview with Doug Mow, senior VP of marketing at Exigen Services, "Outsourcing, with an Agile Twist" - http://www.itbusinessedge.com/item/?ci=42547 AnnAll

16 Agile Planning from Enterprise Vision to Team Stand-Up Part 1 Experience gathered during large-scale implementation of Agile concepts in software development projects teaches us that the currently popular Agile software development methods (like Scrum ) do not scale to program, product and organization level without change. The fundamentals for changes to these methods are found in Lean principles, or: the future of Agile methods is found in its origins. This paper describes a planning framework that has been used successfully in large-scale Agile projects and investigates the impact of introducing this framework on three core Lean principles : Muri, Mura and Muda. Planning in Large Scale Agile Projects In Agile methods, loading a team with work is done through iteration planning. Due to the shortness of the iteration (typically one to six weeks) a plan reduces in importance and planning gains in importance. For small projects, it may be sufficient to plan only a single iteration at a time. The experienced disadvantage of iteration planning when applied to projects that run for more then a few iterations or with multiple teams is that the view of the longer term implications of iteration activities can be lost. In other words: the view of the whole is lost. A solution is to add planning levels to incorporate the current view of the whole. In plan-driven and waterfall methodologies, this problem is overcome through a large upfront design, aiming to predict accurately how much work is involved in each project task. This leads to a large investment early in the project, when it is by no means certain that the designed functionality is actually the functionality desired by the product owner. An approach with multiple levels of planning has to avoid the reintroduction of the big design up front.