About eXtreme Kanban

xk-speed

Delivering valuable functionality fast!

eXtreme Kanban (XK) enables Product Delivery Teams (Pods) to focus on delivering valuable functionality to customers by reducing interruptions.

XK Framework

Assumptions

Regression Automation

The current application Regression Test Suite is fully automated and can be run completely by each Pod.

Image

QA = SDET

All QA Engineers are Software Development Engineers in Test.

Image

CI/CD

The delivery pipeline is automated from Integration to Delivery.

Image

Overview


Single Backlog

The backlog is broken down into Epics which are comprised of One to Many Features. Each Epic and/or Feature should be releasable independently (by priority).


Top Down

Epics & Features are sorted in Top Down priority order.


Pods

Small teams: (2 Dev + 1 SDET + 1 PO) Pods stay together through all phases of Feature Development, Regression, Production Release, and Customer Feedback.


SWAT

Protects the Feature Pods from any outside pressures: Onboarding Assistance, Third-party integrations, High-priority cases. SWAT is basically another Pod.

XK Statuses


New

The Feature hasn’t started and has never entered the Development Status.


Development

Code is being written and/or functionally tested.


Product UAT

Verification is being done to the Feature to ensure all Acceptance Criteria has been met.


Ready for Regression

The Feature has been accepted by Product as functionally complete. It is ready to go into Regression as a release when the Environment is available.


Regression

The Release is in the Regression Environment and the Regression Test Suite is running.


Production

The Feature is in Production and gathering feedback.

On Hold The Feature was formerly in Development Status and stopped to address a higher priority.

Pod Process


Planning

Image

Pod Together

Review the Epic and all Features.
Create or update PBIs.
Review Acceptance Criteria.
Design.
Determine Feature Flags.

Image

Dev + SDET

Discuss Regression Criteria
Discuss PBI Order
Clarify Acceptance Criteria

Image

Dev + PO

Clarify Acceptance Criteria

Image

PO + Training + Marketing + Agile Lead

Discuss documentation Requirements

Development Phase

Image

Dev
  • Write Code
  • Functionally Test (meets AC)
  • Test dependencies (don’t break other areas)
  • Optional
    • Unit Tests
    • Integration Tests
    • Automation
Image

PO
  • Perform UAT - Ensure AC is met
  • Demo to Customer Service and Marketing
  • Communication to Executives
    • Nearing completion
    • What it is
    • Feature Flags and rollout strategy
Image

SDET
  • Write automated Regression Tests
  • Write automated Smoke Tests for new services
  • Add tests to Test Suite
Image

Training
  • Update help files
Image

Marketing
  • Create marketing campaigns around new features

Releaseable

Release Coordinator

Assign a Relase ID

Using the appropriate Product release numbering scheme, calculate and assign a release ID to the Epic/Feature/Release.

Target Release Date

Based on average Regression effort and complexity of the Epic / Feature being released, estimate a release date.

Regression Availability

Coordinate Features going in and out of the Regression environment. Line up a staggered release schedule that allows multiple queued features to enter and exit the Regression environment.
- Devs from the Pod merge the code to Master and deploy the Feature to Regression.

Release Communication

Update the Release Dashboard to show Features nearing delivery and the anticipated release schedule.

Release Cycle

Image
Regression
  • SDET or Automation
    • Run Smoke Test Suite
    • Run Regression Suite
  • Dev - fixes Regression defects
  • PO - spot checks the release
Staging
  • SDET or Automation
    • Run Smoke Test Suite
    • Run Regression Suite
  • Dev – fixes deployment issues
Production
  • SDET or Automation
    • Run Smoke Test Suite

Customer Feedback


Pod Features

Image
Monitoring
Error logs, ELK, APM, etc...
Image
Feature Flags
Items that have been designed with Feature Flags can be turned off if serious issues are discovered while a fix is created.
Image
Beta Testing
Features can be rolled out on an Org by Org basis to gather controlled feedback.
Image
Cases
Cases are reviewed by Product to decide which Feature development caused the issue.

Customer feedback directly related to a Feature that has been released by a Pod goes back to that Pod. The members of that Pod remain responsible for the Feature while it is in Production.

SWAT Features

The goal of the SWAT team is to shield the Pods from outside pressures allowing them to fully focus on delivering the roadmap. Under this goal, SWAT’s priorities are onboarding assistance, third-party integration assistance, and priority case assistance. These items are ranked in priority order on the SWAT backlog.

Image
SWAT Backlog
The SWAT Backlog is separate from the Feature Backlog.
Image
Priorities
Priorities are assigned by the SWAT Backlog order, but change at a faster rate than Features.
Image
Onboarding
Currently the SWAT teams first priority is to assist the Implementation team with Onboarding new customers.
Image
Cases
Cases unrelated to Pod Features become prioritized on the SWAT backlog along with any other customer or Third-Party requests.

In Practice


Image

Feature Backlog

Pods pickup Features from the backlog in top down priority order. They move between Features together and avoid spreading out between Features.

Image

Production Feedback

PBIs and Bugs after triage by Product are placed in their corresponding Production Feature, and the Feature is placed back in Development Status. By definition these items are higher priority, so the owning Pod places their current in-flight Feature work on hold and move back up to the open item. It is built/fixed and released to Production through the standard Release Process.

Image

SWAT

SWAT works in a similar manner to Feature Pods, but their backlog changes priority at a higher rate. Any item requiring SWAT’s attention should be placed on the SWAT backlog in priority order. SWAT will release code fixes in the same manner as Feature Pods, however they will need to decide themselves how many items to release at a time.

>