Contents
Register Your Product at informit.com/register
Access additional benefits and save 35% on your next purchas
Automatically receive a coupon for 35% off your next purchase, valid for 30 days. Look for your code in your InformIT cart or the Manage Codes section of your account page.
Download available product updates.
Access bonus material if available.*
Check the box to hear from us and receive exclusive offers on new editions and related products.
*Registration benefits vary by product. Benefits will be listed on your account page under Registered Products.
InformIT.comThe Trusted Technology Learning Source
InformIT is the online home of information technology brands at Pearson, the worlds foremost education company. At InformIT.com you can
Shop our books, eBooks, software, and video training.
Take advantage of our special offers and promotions (informit.com/promotions).
Sign up for special offers and content newsletters (informit.com/newsletters).
Access thousands of free chapters and video lessons.
Connect with InformITVisit informit.com/community
INTRODUCTION TO SCALING AGILE
Agile software development has, to use the term popularized by Geoffrey Moore, crossed the chasm. No one today has a serious conversation about whether Agile software development is relevant; todays conversations are focused on when and where to use it. At large organizations, those conversations often turn to questions of scale: No one questions whether agile approaches work well for a single small, co-located team, but they do question whether the approach can be used to develop and deliver large products built by many teams.
This book is about scaling Scrum using an approach called Nexus, developed by one of the co-creators of Scrum. In the course of the book, we will discuss why scaling is hard and how to overcome its challenges. This brief chapter sets the scene, explaining why Agile is important, why Scrum is important, and why Nexus is the simplest and, we think, the best way to scale Scrum.
WHY AGILE?
Agile software delivery practices are hardly new. Scrum is now more than 20 years old,
Agile software delivery practices enable teams to deliver more business value more quickly by improving collaboration and using an empirical process to inspect, adapt, and improve business results. In todays competitive business environment, long-term planning and multiyear projects have given way to frequent releases. Agiles inspect-and-adapt approach fits the bill.
WHY SCRUM?
According to Forrester Research, 90% of Agile teams use Scrum.
Scrums strength is that it is simple. It focuses on a single team producing a single product. It has only three roles: a Product Owner, focused on business goals; a Development Team, who develops the product; and a Scrum Master who helps the Product Owner and the Development Team achieve those objectives by teaching, coaching, and facilitating, among other things. Although Scrum is easy to understand, mastery still requires commitment and dedication to break old habits and establish new ones.
WHAT IS A PRODUCT?
Many organizations are still accustomed to thinking in terms of projects. A project is an initiative with a finite length, a well-defined beginning, a specific scope to deliver, and usually a defined end date.
In contrast, a product is long-lived, often with no defined end. Using projects to deliver and support products results in many problems, not the least of which is a tendency for stakeholders to pile on requirements due to uncertainty about whether there will ever be a next release. In most organizations, projects are seen as sources of cost, whereas products are seen as sources of business value. Transitioning from project development to product development will often change the perception of what development teams do from merely supporting the business to being an active driver of the business.
If the product is worth developing, it needs to be funded and managed differently. Products require regular releases to meeting the ever-changing needs of product users. Products require a dedicated team to build and support the product across a series of releases, and they require that there is no difference between maintenance, new development, and enhancements from a product team perspective.
WHAT IS SCRUM?
Scrum is a framework that helps teams overcome complex adaptive problems to deliver a product with the highest possible value. Many organizations have successfully used Scrum, starting in the early 1990s.
Although it is possible to use some Scrum techniques for projects, Scrum is fundamentally focused on product development.
The basic elements of the Scrum Framework are depicted in
Figure 1-1The Scrum Framework
There are realistic limits to what a single Scrum Team can achieve, however. Organizations may be tempted to simply add more people to the team or more teams to the product to achieve higher velocity, but decades of practical experience have shown this to be counterproductive.
WHY NEXUS?
Some productsand some would argue, most productsare too complex to be delivered by a single Scrum Team. Examples of these include automobiles or other physical products with combinations of hardware and software, or very complex software products that require the coordinated efforts of many Scrums Teams to deliver. Other products have time-to-market pressures that require more capabilities to be delivered in a short period of time than one team can deliver.
Faced with these challenges, organizations need more than one Scrum Team to work on a single product. Multiple Scrum Teams working together to build a single product often struggle to create done integrated work every Sprint because of the added complexity of dependencies at scale. Signs that complexity is overwhelming effective product delivery include individual teams presenting their individual increments instead of an integrated product at the Sprint Review, or when they require a series of hardening Sprints to deal with accumulated technical debt, or when an integration team is required to bring together the work of other teams.
The Nexus Framework helps to solve this by enabling organizations to plan, launch, scale, and manage larger product development initiatives (especially those that involve substantial software development) using Scrum. Nexus enables multiple Scrum Teams working on a single product to come together as a single larger unit, called a Nexus.
A Nexus can be thought of as a kind of exoskeleton that protects and strengthens Scrum Teams by simplifying and managing the connections and dependencies between them, and by providing transparent bottom-up insight into how the teams are working together. The foundation of a Nexus is to encourage transparency and communication to keep scaling as uniform as possible. With Nexus, scaling Scrum to larger, more complex products is still Scrum.
SIMPLICITY IS THE KEY TO SCALING
The key to scaling agile to work across many teams is reduce or eliminate dependencies between those teams. Nexus provides a simple set of extensions to Scrum to help teams do just that. In the coming chapters, well describe those extensions, as well as complementary practices, that help organizations deliver better products, more effectively. After a brief description of Nexus in the next chapter, the remainder of the book will focus on exploring different aspects of Nexus through a case study. And without further introduction, lets jump into Nexus.