clement13.net
Original photo: A delivery truck
Description
A delivery truck
Source
George Chernilevsky · original page
Licence
PD Public domain
Original photo, unretouched. The background is a version of it stylised by the site.

BI product — Evolution and delivery

What lets the product evolve without breaking it.

≈ 3 min readReading

Industrialization and deployment#

How does a change reach the user in a repeatable way?

LevelSignatureCriteria to meet
0 · HandcraftedThe file is edited in place, then copied over.Starting point: no criteria.
1 · Locally tooledNew versions of the file are copied manually.
  • Versions are kept and named.
2 · SharedNumbered versions, documented manual deployment.
  • The sources are in a version control system.
  • The deployment procedure is written down.
3 · IndustrializedBuild pipeline, separate environments, repeatable deployment.
  • An automated build produces the deliverable from the sources.
  • Development, test and production environments are separate.
  • A deployment gives the same result every time.
4 · Integrated and governedControlled version lifecycle: several versions, migrations, documented deliveries.
  • Several versions are maintained in parallel under a clear policy.
  • Migrations from one version to another are tooled and tested.
  • Each version is delivered with its documentation and release notes.
5 · AutonomousContinuous, automatic deployment, with rollback.
  • Deployment is fully automatic, including to customers' environments.
  • Rollback is possible and tested.
  • Recurring updates and loads of the environments are scheduled and automatic.
Effect on the user

The user receives changes without any intervention or interruption.

Testing and fixes#

How do we know it works, and that a fix breaks nothing?

LevelSignatureCriteria to meet
0 · HandcraftedProblems are noticed in use.Starting point: no criteria.
1 · Locally tooledOccasional manual checks.
  • The author checks by hand before distributing.
2 · SharedTest data sets and checklists.
  • Test data sets exist.
  • A delivery checklist is applied.
3 · IndustrializedAutomated regression tests.
  • Automated tests cover the critical components.
  • The tests run at every build.
  • A failing test blocks delivery.
4 · Integrated and governedData, load and security tests; automated acceptance testing of the interface.
  • The tests cover data (equivalence, invariants), load and security.
  • Interface user journeys are tested automatically.
  • Coverage and escaped defects are measured.
5 · AutonomousTests triggered on every change, automatic fixes for known anomalies.
  • Every change triggers the full test suite.
  • Known anomalies are fixed automatically, with a trace.
  • Defects found in production automatically become tests.
Effect on the user

The user no longer serves as a test bench.

Project steering and roadmap#

Who decides what evolves, and on what basis?

LevelSignatureCriteria to meet
0 · HandcraftedChanges follow whatever is asked for at the moment.Starting point: no criteria.
1 · Locally tooledRequests received by email or verbally.
  • Change requests are kept.
2 · SharedA single backlog.
  • A single backlog gathers the requests.
  • Each request has a requester and a priority.
3 · IndustrializedStructured planning and tracking (iterations, milestones).
  • Work is planned by iterations or by milestones.
  • Progress is tracked and shared.
  • Needs are gathered in a structured way (workshops, specifications).
4 · Integrated and governedRoadmap based on requests, product maturity and constraints; priorities arbitrated.
  • A roadmap links changes to needs and to the product's maturity.
  • A committee or a ritual arbitrates priorities.
  • Development, testing and quality standards are defined and applied.
5 · AutonomousValue-driven steering: measured usage and value feed the roadmap.
  • Usage and value indicators are tracked for each delivered change.
  • The roadmap is reviewed regularly based on these measurements.
  • Little-used changes are removed or reconsidered.
Effect on the user

The user sees their need taken into account, and the product evolving in the direction of their usage.