Using Gherkin for Acceptance Criteria

August 25, 2021

Given/When/Then has power beyond just writing tests.

The Backend and Frontend Story Divide

May 05, 2021

Beware the perils of what for a second looks like a good idea.

Avoiding Duplication in State Management

May 04, 2021

State management is creepy and creeps up on you.

Mocking and Spying with Jest and TypeScript

April 22, 2021

Awkward but clean.

Evaluating Metrics

March 31, 2021

How do we know if a metric is any good?

Shock Doctrine

March 26, 2021

Naomi Klein dives deep into Friedmanism and its effects.

Waiting for a Crisis

March 09, 2021

When the crisis comes you have to be ready.

OS Privacy Controls

March 05, 2021

The OS is in the best position to protect privacy.

On Estimation

February 26, 2021

Estimation has three goals. One of them is realistic.

On Planning in Kanban

February 26, 2021

Prefer flow over commitment.

Is Scrum suitable for complicated bug fixes?

January 04, 2021

A detailed response to the question of whether Scrum can help when the primary work is to fix complicated bugs.

Architectural Tension

November 18, 2020

Three principles to guide organizing assets.

Dissonance of Using Functional Concepts in Non-functional Stacks

November 02, 2020

It doesn't have to be a natural fit to be considered progression.

The Definition of News Has Been Legally Changed

September 30, 2020

The onus of verification is now entirely up to the audience.

TDSB Survey Results Can Be Misleading

August 23, 2020

Toronto District School Board's survey of parents regarding return to school has issues that can be easily improved.

A Short Analysis of an Analysis: YouTube Trending Videos

July 11, 2020

A short critique of an analysis trying to peek under YouTube's trending algorithms.

Mining for Side-Effects in Complex Adaptive Systems

July 06, 2020

Pay as much attention to side-effects as intended effects.

Serverless Architectures and Storing First

July 03, 2020

API, Compute and Store. Or API, Store and Compute.

Autonomy, Maturity and Chaos

July 02, 2020

Autonomy without maturity is chaos.

Compliance Metrics

July 01, 2020

Compliance to a framework's metrics can distract you from delivering value.

Dissorienting Dilemma

June 29, 2020

To learn requires a change in perspective.

The Continuous Delivery Podcast

March 19, 2020

A podcast focused on Continuous Delivery.


February 26, 2020

"How's it going?" "Busy busy busy."


February 22, 2020

If it's not in production it's not done.


February 17, 2020

Creation of a digital organization is an interim step in the journey towards great customer experience.


January 01, 2020

The model of creating dedicated teams to manage enterprise assets used by internal users needs to be revisited.

Feature Toggle Design Patterns for Front-End Development in Typescript

December 30, 2019

Design patterns for implementing front-end feature toggles/flags in Angular.

Contract Based Testing with JUnit5, Pact, WireMock and Spring

September 19, 2019

An example and walkthrough of contract-based testing using JUnit5, Pact, WireMock and Spring.

List of Coaching Questions

September 15, 2019

Coaching questions that came up on the fly.

Inferring interfaces in statically typed languages based on object shape

August 14, 2019

Statically typed languages are designed for safety. In doing so a desirable feature is lost - the ability to define interfaces based on object shape instead of up-front. This is a workaround.

Embedding quality in software through slack

July 25, 2019

It is our professional responsibility to delivery quality software. Effectively using slack can get us there.

Impactful Refactorings: Replace Conditional with Polymorphism

July 23, 2019

The 'Replace Conditional with Polymorphism' refactoring remains one of the most teachable moments in OOP.

Examples of the hidden wastes of software development

July 22, 2019

If lean manufacturing taught us anything it is that we should always strive to reduce wasteful activities.

The Tricky Business of Managing Technical Debt

February 12, 2019

It’s not thaaat tricky, but it can be.

Drawbacks of Pull Request Reviews

February 01, 2019

The Pull Request review process can be a lot better.

Prototyping can get in the way of software delivery

January 25, 2019

I’m trying to form a perspective on how we can improve getting feedback from end users.

A Theory of User Story Sizing

August 13, 2018

The scientific reasoning behind why user stories should be small.

The reason for prep meetings, adding more people “in the loop” etc.

April 01, 2018

Decisions are hard. Especially so if people remember them.

A Model for Measuring Productivity

December 16, 2017

Disclaimer: this model is wrong.

The Enterprise Ecosystem Already Exists — They’re called EUCs

December 12, 2017

When an intern builds your mission critical system.

Giving Enterprise Innovation a Fighting Chance

December 01, 2017

Organizations are facing external pressures which necessitate innovation for long-term relevance, if not present day survival.

Giving Enterprise Innovation a Fighting Chance

December 01, 2017

Organizations are facing external pressures which necessitate innovation for long-term relevance, if not present day survival.

Framing Back Office initiatives

November 22, 2017

Back office. You don't want to be there.

Reducing friction in structures

November 20, 2017

Organizational structures have existed since one caveman told the other to go hunting while he fished.

Improving architecture decision velocity

November 18, 2017

Building software is not like building a house.

We must recognize unplanned work

November 05, 2017

Is there anything more deplorable than waste?

I ain’t got no standards

September 09, 2015

Thomas Jefferson fired up A Twitter rant to James Madison.

The Phoenix Project, i.e., The Goal for IT

August 13, 2015

The Goal is the interface. TPP is the implementation.

Let's retire Agile

June 03, 2015

Agile's detour away from simplicity