The Sprint Increment Is Dead

Facebook
Twitter
LinkedIn
Pinterest
WhatsApp

The Sprint Increment Got Us Here

If you’re a veteran of the software industry, you probably remember those days when we released to production/GA every couple of months. Heck, many of the companies I meet these days still work that way.

If you’re also an experienced Scrum practitioner, you probably associate the time you started to use Scrum with the time you started to release more frequently. The Sprint Increment that had to be potentially releasable caused you a lot of pain as you were trying to improve your processes and capabilities, implement Continuous Integration, and finally gain the ability to actually have a releasable Increment each Sprint. You were pretty proud.

Transcending Scrum and the Sprint Increment?

But these days, as people talk more and more about DevOps and Continuous Deployment, you might be thinking that since Scrum is focused on Sprints, You need to transcend Scrum in order to keep up with the industry and the need to release more often. You start to look at approaches such as Flow and Kanban that are continuous in nature.

Before you recycle your copies of the Scrum Guide – can I ask you a couple of questions though?

The Need For Continuous Deployment

The first question is why do you need Continuous Deployment? Does your Product Owner really see a business need to deploy more often than every Sprint (which is always up to 30 days and more frequently these days more along the lines of 14 days)? If you are like most of the Scrum practitioners I’m working with, the answer to that is “Not Really”. Even cloud/SaaS/internet-based companies typically don’t see a need for releasing new features to market more frequently than every 15 days.

So, why the need for Continuous Deployment?

Scrum Theory helps us out here. The reason is empiricism. In contexts of growing business and technical uncertainty, those with the fastest feedback loop win. And the feedback loop should provide REAL transparency to the usefulness of the products we build so that our inspection and adaptation is based on what users really think of the product we’re building. When we say “Working Software” in the Agile Manifesto, we don’t mean just “It is working and we tested it meets our acceptance criteria and our definition of Done”. We also don’t mean just “It is working and we demonstrated it to internal and even external stakeholders and got their feedback”. These are nice levels of transparency that are much better than just reviewing documentation of course, but they leave a lot to be desired×¥

What we REALLY mean when we say Working Software

They aren’t as good us “It is working, we actually turned it on for some users and they’ve been using it as part of their real flow of work, and we can inspect how useful it really is for them.” The last one is what real transparency is about. And classic teams only get to that level of “working” pretty infrequently. Their REAL feedback loop takes weeks if not months to close. Their level of empiricism leaves much to be desired.

The real reason for moving toward Continuous Deployment is actually to address this issue. To enable much more frequent transparency of how our product is REALLY doing, and enabling inspection and adaptation on a daily and maybe even hourly basis by those developing the software/product.

Continuous Deployment with Scrum and Kanban

In Scrum terms, Continuous Deployment happens during the Sprint, where we can have as many mini-increments as we want deployed throughout the Sprint, with the purpose of helping the Scrum Team optimize the value it delivers with its Sprint Increment. Yes, they could also release some of those mini-increments for the purpose of actually delivering customer value, but most of the time the purpose would be to inspect and adapt, in service of empiricism.

Moving to multiple mini-increments inside the Sprint doesn’t change Scrum in any way. This is actually just a more professional instance of Scrum that more and more Scrum practitioners should strive for. The Sprint-level events are still as valuable as ever for inspecting and adapting the Product and the Process. The roles are still as valuable as ever. If anything, it might be even more important to have a Product Owner that focuses the Development Team on the mission/goal, being open about the fact that there are some hypothesis-level assumptions that need to be validated by building some product and running some experiments, and respecting the developers and trusting them to figure out how to achieve that mission/goal by running fast feedback loops that include actual experimentation, inspection, and adaptation. In order to scale, the Product Owner needs to have the courage to let the Development Team run some of those experiments on their own. They can all review these experiments and the resulting Sprint Increment as part of the Sprint Review. The review will not be just a demonstration of working software but also inspection of analytics from real usage.

Where Kanban/flow comes handy is not in replacing Scrum but in managing the flow of these intra-Sprint feedback loops more explicitly and helping the Scrum Team identify bottlenecks, constraints, and impediments on their way towards this type of flow.

So, yes, the Sprint Increment is dead. Long live the REAL Sprint Increment as well as all the mini Increments during the Sprint.

To learn more about how professional Scrum teams think about flow and Continuous Deployment, join an upcoming Scrum with Kanban workshop.

Categories:

Tags:

Self-organization
ALM Tools
Agile in the Enterprise
Agile Assembly Architecture
GanttBan
Achieve Business Agility
Lean-Agile Software Development
Continuous Delivery
ScrumMaster Tales
Development Value Streams
Kaizen
Spotify
Nexus
Nexus and Kanban
PI Objectives
Implementation of Lean and Agile
Agile and DevOps Journey
Games and Exercises
System Team
Sprint Iteration
Agile Release Management
Scrum
Limiting Work in Progress
Agile Marketing
Slides
Managing Projects
Scrum Master
Perfection Game
Atlaassian
IT Operations
Hybrid Work
Effective Agile Retrospectives
SPC
Elastic Leadership
Iterative Incremental Development
Legacy Enterprise
Agile Project
Portfolio for Jira
LPM
ATDD vs. BDD
Introduction to ATDD
Kanban
Continuous Planning
BDD
Change Management
Agile Product Ownership
Engineering Practices
Risk Management in Kanban
Rapid RTC
Kanban Game
The Agile Coach
Managing Risk on Agile Projects
Agile Outsourcing
Agile Product Development
Software Development Estimation
Scrum With Kanban
Professional Scrum Product Owner
Product Ownership
Lean Startup
Coaching Agile Teams
Entrepreneurial Operating System®
Professional Scrum Master
ART Success
Nexus vs SAFe
Process Improvement
The Kanban Method
Agile Games
Professional Scrum with Kanban
Certification
SAFe Release Planning
Frameworks
Scrum and XP
Lean Agile Management
Manage Budget Creation
Agile Techniques
QA
Agile for Embedded Systems
Kanban 101
Applying Agile Methodology
Scaled Agile Framework
Scrum Primer
Risk Management on Agile Projects
SAFe
Reading List
Agile Exercises
RTE
POPM
Lean Software Development
RSA
Test Driven Development
Agile Program
Software Development
ROI
Agile India
Presentation
NIT
AgileSparks
A Kanban System for Software Engineering
Releases Using Lean
PI Planning
Business Agility
Agile Delivery
Agile Games and Exercises
DevOps
Enterprise DevOps
System Integration Environments
Sprint Retrospectives
SAFe DevOps
Certified SAFe
Systems Thinking
Webinar
Continuous Improvement
Nexus and SAFe
Tips
Lean Budgeting
An Appreciative Retrospective
Agile Testing Practices
Principles of Lean-Agile Leadership
ARTs
Agile Community
Agile Release Planning
Agile Project Management
RTE Role
Agility
Lean and Agile Principles and Practices
Risk-aware Product Development
Jira Plans
Acceptance Test-Driven Development
ATDD
Implementing SAFe
Scrum Values
Agile Risk Management
Lean Risk Management
Lean Agile Basics
Continuous Deployment
Accelerate Value Delivery At Scale
Jira
Large Scale Scrum
Operational Value Stream
Lean and Agile Techniques
Sprint Planning
Advanced Roadmaps
LeSS
AI Artificial Intelligence
Kanban Basics
Nexus Integration Team
Covid19
LAB
speed @ scale
Lean Agile Leadership
SA
speed at scale
Continuous Integration
WIP
Agile Mindset
Scrum.org
System Archetypes
Scrum Guide
Story Slicing
Lean Agile Organization
Program Increment
Code
EOS®
What Is Kanban
lean agile change management
Scrum Master Role
Agile Israel Events
Lean-Agile Budgeting
Agile
Video
Planning
Built-In Quality
Pomodoro Technique
Daily Scrum
Artificial Intelligence
Kaizen Workshop
Agile Basics
Product Management
Agile Development
Introduction to Test Driven Development
Release Train Engineer
Agile Contracts Best Practices
Lean Agile
Jira Cloud
Quality Assurance
Amdocs
Value Streams
Legacy Code
Kanban Kickstart Example
AgileSparks
Logo

Contact Us

Request for additional information and prices

AgileSparks Newsletter

Subscribe to our newsletter, and stay updated on the latest Agile news and events

This website uses Cookies to provide a better experience
Shopping cart