Skip to Content

Enterprise-Scale Agile Software Development

By James Schiel

Series Editor: Phillip A. Laplante

CRC Press – 2009 – 382 pages

Series: Applied Software Engineering Series

Purchasing Options:

  • Add to CartHardback: $104.95
    978-1-43-980321-9
    November 17th 2009

Description

Enterprise-Scale Agile Software Development is the collective sum of knowledge accumulated during the full-scale transition of a 1400-person organization to agile development—considered the largest implementation of agile development and Scrum ever attempted anywhere in the world.

Now James Schiel, a certified Scrum trainer and member of the Scrum Alliance, draws from his experience at the helm of that global four-year project to guide you and your organization through the transition. He lends his insight on how you can use Scrum as an organizational framework and implement XP practices to define how software is written and tested. He provides key information and tools to assess potential outcomes and then make the best corresponding choices in any given situation.

Schiel sequences chapters to match typical developmental progression, and in addition to practical guidance, he provides a tool kit from which you can take ideas and select what works for you. Covering quality development practices based on ISO 9001, which help you create consistently high-quality software in a cost-efficient manner, this invaluable resource shows you how to—

  • Improve project management practices and product quality assurance
  • Adopt new management methods and requirements
  • Involve your current customers in development, while inviting new ones

Much more than a mere "body of knowledge," this volume goes beyond standardizing agile and Scrum practices. It breaks up the process into manageable tasks, illustrating how to set the stage for the change, plan it, and then initiate it. Using the methods and information presented, any organization should be able to achieve a nearly seamless transition to agile.

Contents

Introduction

Web Site

About This Book

A Balancing Act

Audience

Success Factors

Suggested Readings

Why Agile?

Myths about Agile Development

Reasons to Stay Away from Agile

How Your Organization Will Benefit from Agile

Improved Software Quality

Improved Organizational Commitment

Reduced Waste

Improved Customer Relationships

Section I: Setting the Stage for a Transition

Transitional Concepts

What Is Agile Development?

Workflow

Product Backlog

Prioritization

Grooming

Sprinting

Beta Test

Defects

Workflow Summary

The Product Backlog

Written in a Manner That Can Be Groomed

Under Constant Reprioritization and Continually Emergent

Transition Barriers

People Barriers

Organizational Barriers

Management in an Agile Environment

Getting Management Ready for the Transition

An Effective Organizational Arrangement for Scrum Teams

Hiring New Scrum Team Members

The Care and Feeding of Scrum Teams

Tampering

Ignoring

Improve Organization Performance

Improve Scrum Team Performance

Improve Employee Performance

Support Scrum Teams

Care and Feeding: Summary

Section II: Planning the Transition

Create the Transition Team

The Transition Team Lead

The Executive Sponsor

Define the Organizational Agreements

Document the Agreements

Determine Transition Goals

Measuring and Monitoring the Transition

Improved Productivity through Reduced Defects

Improved Performance through Increased Feature Value

Setting Control Limits to Manage Corrective Actions

Avoiding Organizational Dysfunction Caused by Measurements

Create the Transition Backlog

Bringing the Transition Team Together

Section III: Starting the Transition

Exciting and Really Challenging

Basic Approach

Beginning Transition Sprint 1

The Sprint Schedule

The Transition Backlog

The Structure of the Transition Backlog

Grooming: Reducing Backlog Items to Sprint Size

Sprint Planning

What’s the Big Difference between Hours and Points?

Building the Sprint Backlog

When Teams Attack! (The Backlog, That Is)

When Undercommitment Is the Order of the Day

Committing to Work in the First Transition Sprint

Sprint Reviews for Transition Sprints

Sprint Retrospectives for Transition Sprints

Continuing beyond Transition Sprint 1

Create the Transition Budget

Training and Coaching

Software and Hardware

Facilities

Travel

People

Develop the Transition Communication Plan

Project Information Storage

Create the Training Plan

Basic Concepts

Agile Project Structure

Roles in an Agile Project

Matching Skills to Roles

Skills Become Training Modules

The Training Modules

Defining the Tracks

Executing the Tracks

The Role of Coaches in the Agile Transition

Team Coaching Requirements

Overload the Scrum Teams

Scrum Masters and Scrum Product Owners

Prove Your Skill First

Facilities Planning

Team Rooms

Size

Location

Noise

Setting Up a Team Room

Employee Directories

Employee Telephones

Private Spaces

Server Rooms

The Facilities Plan

Selecting the Pilot Projects for the Agile Transition

Define Your Goals

Set Organizational Expectations

Selecting Your Pilot Project

Obstacles to a Successful Pilot Project

Dysfunctions Come with the Territory

Team Co-location

Lack of Expertise or Necessary Skills

Improper Development Metrics

Setting Your Project Up for Success

People First

Everyone Needs to Know Their Job

Introduce XP Practices Carefully

Get a Good Product Owner

Keep It Visible

Never Skip the Retrospective

Tools in the Agile Enterprise

Continuous Integration/Build

Requirements

Sample Products

Automated Testing

Requirements

Sample Products

Sprint and Backlog Management

Requirements

Sample Products

Team Communication

Managing Customer Involvement

Selecting the Right Customer

Is the Candidate Qualified?

Is the Candidate a Potential Threat?

Will the Candidate Cooperate?

Managing the Involved Customer

The Helpful Customer Strategy: Involve

The Not Useful Customer Strategy: Watch

The Not Helpful Candidate Strategy: Protect

The Helpful Trouble Customer Strategy: Collaborate

Managing Customer Involvement in a Large Organization

Section IV: Creating the Agile Organization

Agile Project Management— Getting Started

Scheduling in an Agile Project

Scheduling Challenges

Determining the Project’s Estimated Costs

Planning and Staffing

Specialization and the Unbalanced Backlog

A Balancing Act

Architecture Definition

Unprepared Backlog Items

Getting Your Project Started

Creating the Release Goals

Create/Update Defined Processes and Policies

Create/Update the DONEness Definition

Determine Team Staffing

Prepare the Product Backlog for Grooming

Create the Sprint Schedule

Sprint Schedules and Large Project Considerations

The Unwanted Stabilization Sprint

When the Automated Testing Isn’t Sufficient

Begin Backlog Grooming Work Sessions

Agile Project Management: Monitoring, Reporting, and Controlling

Monitoring Project Progress

Burning Down the Product Backlog

The Release Plan

Feature Completion

Controlling the Project

Front-Load Your Risk

Shorten Your Sprints to Improve Visibility

Manage Interactions with Nonagile Development Teams and Providers

Monitor Scope-outs

Agile Analysis

User Stories and Related Terminology

The Life of a User Story

The Next Great Idea

Grooming the Product Backlog

Avoiding the Waterfall User Story

Making Sure the Backlog Is Ready for Grooming

Scheduling the Workshops

Setting Up the Workshop

Discussing a Backlog Item

Backlog Items That Need Special Handling

Remembering What We’ve Learned

Launching Scrum Teams

Starting a New Scrum Team

Establish a Team Identity

Establish Team Ground Rules

Establish Team DONEness Definition

Preparing the Product Backlog: The Team’s First Sprint

Getting Ready for Sprint Planning

Running a Successful Daily Scrum

Getting Ready for Sprint Review

Going to the First Sprint Retrospective

Removing Obstacles

Continuous Learning

Managing Scrum Teams

The Edge of Chaos

Management in a Chaotic System

Continuous Learning

Encourage Change and Chaos

Fluidity of Structure

Management in an Agile Environment

The Front-Line Manager

General Management Responsibilities

Helping to Improve Team Performance

Agile Product Management

Large-Scale Product Ownership

The Extended Product Backlog

The Product Backlog

The Information Library

The Defect Management System

Adding Items to the Product Backlog

Adding Defects to the Product Backlog

Setting Up Your Product Backlog Items for Success

Estimation of Problem Complexity

Acceptance Criteria

Risk

Value

Performance Constraints

Specialized Skills

Prioritizing Items in the Product Backlog

Managing System Constraints

Incorporating ISO 9001 into the Agile Transition

Setup

Creating Your Policy and Process Documentation

Development Processes

Focusing on Customers

Resource Management

Infrastructure and Work Environment

Measurement, Analysis, and Improvement

Review and Revise

Leveraging Scrum to Improve Process

Using the DONEness Definition

Using Sprint Planning

Using Sprint Reviews

Using Sprint Retrospectives

Formal Reviews

Index

Author Bio

James Schiel, CEO and owner of Artisan Software Consulting, is a Certified Scrum Trainer with a strong background in enterprise-level Scrum installations. Prior to founding Artisan, Schiel worked at a large, multi-national software development company for 23 years, where he worked initially as a developer, then as a manager for 16 years. He eventually played an instrumental role in creating one of the largest Scrum installations in the world. As a business process engineer, he helped identify, document, and implement best practices for enterprise Agile Development.

Name: Enterprise-Scale Agile Software Development (Hardback)CRC Press 
Description: By James SchielSeries Editor: Phillip A. Laplante. Enterprise-Scale Agile Software Development is the collective sum of knowledge accumulated during the full-scale transition of a 1400-person organization to agile development—considered the largest implementation of agile development and Scrum...
Categories: Databases, Management of IT, Engineering Project Management, Software Engineering & Systems Development