Independent Feature Release — Definition Of Done

Pavel Kilovatiy
1 min readNov 25, 2021

Brief

An Independent feature release is a strategic initiative at Beamery Engineering. It allows us to manage ever-growing technology complexity, evolve platform architecture, and tackle technical debt.

The main advantage of such an approach is the easier articulation of technology evolution through value release speed instead of architecture evolution/service decomposition. Architecture evolution should come as a natural artefact of

(a) Fast value release

(b) Spawning a new team when the cognitive load overwhelms the team and hinders team output (team-first approach to architecture evolution, pls see https://teamtopologies.com/ for more details)

Definitions

Product Feature Boundary — full set of services and components required for a feature to function

Team Boundaryset of services and components team owns

Service Boundaryset of external interfaces exposed by service to clients and upstream dependencies

IFR — Definition of Done

Following conditions should be met for a Product Feature to be independently releasable:

Feature (or service ) is independently released if and only if all of the following conditions met:

  1. Product Feature Boundary is clearly defined and documented.
  2. Product Feature Boundary is a subset of a Team Boundary OR (if Product Feature Boundary overlaps multiple Team Boundaries) team interactions abstracted through API contracts
  3. Product Feature can be built, configured, deployed, tested, and enabled independently of other product capabilities.
  4. Product Feature has a feature flag and can be enabled in a controlled fashion for selected tenants or across multiple tenants for selected user groups

--

--

Pavel Kilovatiy

Beamery Engineering (2019+), Talent Management SaaS; Before that Oracle Maxymiser (2011-2019), MVT SaaS