Tag Archives: continuous delivery

Sabine’s Principle of Cumulative Quality Advantage

Many organizations won’t survive the next decade. Of those that survive, even they are likely to be extinct before century’s end — especially the largest of contemporary organizations.

I was thinking today of a few essential adaptations that enterprises must make immediately in order to stave off their own almost-inevitable death.

With Regard to Business Strategy

  • Measure value delivered and make decisions empirically based on those data.
  • Strive toward a single profit-and-loss statement. Understand which value streams contribute to profit, yes, but minimize fine-grained inspection of cost.
  • Direct-to-consumer, small-batch delivery is winning. It will continue to win.

With Regard to People

  • Heed Conway’s Law. Understand that patterns of communication between workers directly effect the design and structure of their results. Organize staff flexibly and in a way which resembles future states or ‘desired next-states’ so those people produce the future or desired next-architectures. This implies that functional business units and structures based on shared services must be disassembled; instead, organize people around products and then finance the work as long-term initiatives instead of finite projects.
  • Distribute all decision-making to people closest to the market and assess their effectiveness by their results; ensure they interact directly with end users and measure (primarily) trailing indicators of value delivered. Influence decision-making with guiding principles, not policies.
  • The words ‘manager’ and ‘management’ are derogatory terms and not to be used anymore.
  • Teams are the performance unit, not individuals. Get over it.

With Regard to Technology

  • Technical excellence must be known by all to be the enabler of agility.
  • Technical excellence cannot be purchased — it is an aspect of organizational culture.

For example, in the realm of software delivery, extremely high levels of quality are found in organizations with the shortest median times-to-market and the most code deployments per minute. The topic of Continuous Delivery is so important currently because reports show a direct correlation between (a) the frequency of deployment and (b) quality.

That is, as teams learn to deploy more frequently, their time-to-market (lead time), recovery rates, and success rates all change for the better — dramatically!

I have a theory which is exemplified in the following graph.

Sabine’s Principle of Cumulative Quality Advantage Explained

As the intervals between deployments decrease (blue/descending line)

…quality increases (gold/ascending line)

…and the amount & cost of technical debt decreases (red area)

…and competitive advantage accumulates (green area).

Note: The cusp between red and green area represents the turning point an organization makes from responding to defects to preventing them.


This is a repost from David’s original article at tumblr.davesabine.com.

This post is inspired in part by these awesome texts:


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail

Measurements Towards Continuous Delivery

I was asked yesterday what measurements a team could start to take to track their progress towards continuous delivery. Here are some initial thoughts.

Lead time per work item to production

Lead time starts the moment we have enough information that we could start the work (ie it’s “ready”). Most teams that measure lead time will stop the clock when that item reaches the teams definition of “done” which may or may not mean that the work is in production. In this case, we want to explicitly keep tracking the time until it really is in production.
Note that when we’re talking about continuous delivery, we make the distinction between deploy and release. Deploy is when we’ve pushed it to the production environment and release is when we turn it on. This measurement stops at the end of deploy.

Cycle time to “done”

If the lead time above is excessively long then we might want to track just cycle time. Cycle time starts when we begin working on the item and stops when we reach “done”.
When teams are first starting their journey to continuous delivery, lead times to production are often measured in months and it can be hard to get sufficient feedback with cycles that long. Measuring cycle time to “done” can be a good intermediate measurement while we work on reducing lead time to production.

Escaped defects

If a bug is discovered after the team said the work was done then we want to track that. Prior to hitting “done”, it’s not really a bug – it’s just unfinished work.
Shipping buggy code is bad and this should be obvious. Continuously delivering buggy code is worse. Let’s get the code in good shape before we start pushing deploys out regularly.

Defect fix times

How old is the oldest reported bug? I’ve seen teams that had bug lists that went on for pages and where the oldest were measured in years. Really successful teams fix bugs as fast as they appear.

Total regression test time

Track the total time it takes to do a full regression test. This includes both manual and automated tests. Teams that have primarily manual tests will measure this in weeks or months. Teams that have primarily automated tests will measure this in minutes or hours.
This is important because we would like to do a full regression test prior to any production deploy. Not doing that regression test introduces risk to the deployment. We can’t turn on continuous delivery if the risk is too high.

Time the build can be broken

How long can your continuous integration build be broken before it’s fixed? We all make mistakes. Sometimes something gets checked in that breaks the build. The question is how important is it to the team to get that build fixed? Does the team drop everything else to get it fixed or do they let it stay broken for days at a time?

Continuous delivery isn’t possible with a broken build.

Number of branches in version control

By the time you’ll be ready to turn on continuous delivery, you’ll only have one branch. Measuring how many you have now and tracking that over time will give you some indication of where you stand.

If your code isn’t in version control at all then stop taking measurements and just fix that one right now. I’m aware of teams in 2015 that still aren’t using version control and you’ll never get to continuous delivery that way.

Production outages during deployment

If your production deployments require taking the system offline then measure how much time it’s offline. If you achieve zero-downtime deploys then stop measuring this one.  Some applications such as batch processes may never require zero-downtime deploys. Interactive applications like webapps absolutely do.

I don’t suggest starting with everything at once. Pick one or two measurements and start there.


Affiliated Promotions:

Try our automated online Scrum coach: Scrum Insight - free scores and basic advice, upgrade to get in-depth insight for your team. It takes between 8 and 11 minutes for each team member to fill in the survey, and your results are available immediately. Try it in your next retrospective.

Please share!
Facebooktwittergoogle_plusredditpinterestlinkedinmailFacebooktwittergoogle_plusredditpinterestlinkedinmail
Berteig
Upcoming Courses
View Full Course Schedule
Advanced Certified ScrumMaster® (A-CSM) [Guided Mentorship]
Online
C$1599.00
Jul 10
2020
Details
Real Agility Series Workshop: How Agility Helps Overcome Bias in the Workplace
Online
C$45.00
Jul 14
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online from Toronto
C$1595.00
Jul 21
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1795.00
Jul 21
2020
Details
ICAgile® Certified Professional (ICP) [Virtual Learning]
Online
C$1350.00
Jul 23
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online from Toronto
C$1795.00
Jul 23
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$2199.00
Jul 24
2020
Details
Team Kanban Practitioner® (TKP)
Online
C$1195.00
Jul 25
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1525.00
Jul 28
2020
Details
Kanban Systems Improvement® (KMP II) [Virtual Learning]
Online
C$1795.00
Jul 28
2020
Details
Real Agility Series Workshop: Cognitive Biases That Can Undermine Your Agile Transformation
Online
C$45.00
Jul 28
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1595.00
Jul 29
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Aug 10
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 11
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Aug 18
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Aug 18
2020
Details
**NEW** Kanban Maturity Model (KMM) {Virtual Learning]
Online
C$2120.75
Aug 24
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Aug 25
2020
Details
Certified ScrumMaster® (CSM) [Virtual Learning]
Online
C$1355.75
Aug 25
2020
Details
Advanced Certified ScrumMaster® (A-CSM) [1-Day Accelerated]
Online
C$1355.75
Aug 27
2020
Details
**NEW** Kanban Coaching Practices (KCP) [Virtual Learning]
Online
C$1695.75
Aug 27
2020
Details
**NEW** Advanced Certified Scrum Product Owner® (A-CSPO)
Online
C$1359.15
Aug 28
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Sep 2
2020
Details
Team Kanban Practitioner® (TKP) [Virtual Learning]
Online
C$1015.75
Sep 24
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Sep 26
2020
Details
Professional Scrum Master® (PSM I) [Virtual Learning]
Online
C$1296.25
Sep 29
2020
Details
Certified Scrum Product Owner® (CSPO) [Virtual Learning]
Online
C$1525.75
Sep 29
2020
Details
Kanban System Design® (KMP I) [Virtual Learning]
Online
C$1525.75
Sep 30
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Oct 3
2020
Details
Licensed Scrum Master Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Oct 13
2020
Details
Coach Skills for the Agile Workplace® (ICP-ACC)
Toronto
C$2020.00
Nov 2
2020
Details
Certified Scrum Professional - ScrumMaster® (CSP-SM)
Online
C$1869.15
Nov 14
2020
Details
Kanban System Design® (KMPI) [Virtual Learning]
Online
C$1525.75
Nov 19
2020
Details
Kanban Systems Improvement® (KMPII) [Virtual Learning]
Online
C$1525.75
Nov 26
2020
Details
Licensed Scrum Master and Product Owner® (LSMPO) [Virtual Learning]
Online
C$1695.75
Dec 1
2020
Details