On Tech

Category: Continuous Delivery (Page 3 of 7)

No Release Testing

This series of articles explains why Release Testing – end-to-end regression testing on the critical path – is a wasteful practice that impedes Continuous Delivery and is unlikely to uncover business critical defects. Organisation Antipattern: Release Testing – introduces the Release Testing antipattern and why it cannot discover defects Organisation Antipattern: Consumer Release Testing – introduces the consumer-side […]

Application antipattern: Hardcoded Stub

A Hardcoded Stub constrains test determinism and execution times When testing interactions between interdependent applications we always want to minimise the scope of the System Under Test to ensure deterministic and rapid feedback. This is often accomplished by creating a Stub of the provider application – a lightweight implementation of the provider that supplies canned […]

Organisation antipattern: Passive Disaster Recovery

Passive Disaster Recovery is Risk Management Theatre When an IT organisation is vulnerable to a negative Black Swan – an extremely low probability, extremely high cost event causing ruinous financial loss – a traditional countermeasure to minimise downtime and opportunity costs is Passive Disaster Recovery. This is where a secondary production environment is established in a separate […]

Pipeline antipattern: Artifact Promotion

Promoting artifacts between repositories is a poor man’s metadata Note: this antipattern used to be known as Mutable Binary Location A Continuous Delivery pipeline is an automated representation of the value stream of an organisation, and rules are often codified in a pipeline to reflect the real-world journey of a product increment. This means artifact status as well as artifact content must be tracked as […]

Organisation antipattern: Dual Value Streams

Dual Value Streams conceal transaction and opportunity costs The goal of Continuous Delivery is to optimise cycle time in order to increase product revenues, and cycle time is measured as the average lead time of the value stream from code checkin to production release. This was memorably summarised by Mary and Tom Poppendieck as the Poppendieck Question: “How long would it take your organization to […]

Pipeline pattern: Analysis Stage

Separate out analysis to preserve commit stage processing time The entry point of a Continuous Delivery pipeline is its Commit Stage, and as such manages the compilation, unit testing, analysis, and packaging of source code whenever a change is committed to version control. As the commit stage is responsible for identifying defective code it represents a vital feedback loop for developers, and for […]

« Older posts Newer posts »

© 2021 Steve Smith

Theme by Anders NorénUp ↑