Two blog series I wrote on software delivery, reliability, and engineering practice. These predate my FinOps work and reflect the DevOps and QA foundations I built on.
Posts on uptime, reliability maturity, application lifecycle, and the DevOps revolution.
The math behind distributed system uptime and why understanding component dependencies matters.
Read postA framework for assessing and improving a team's reliability practices based on the Google SRE books.
Read postApplications are like people — they go through maturity phases from conception to retirement.
Read postDrawing parallels between the American Revolution and the patience required for a DevOps transformation.
Read postEarlier writing on quality assurance, testing culture, and the human side of software quality.
On empathy between testers and developers, and why interaction matters more than inspection.
Read postHow unquestioned policies accumulate and quietly slow teams down.
Read postBuilding software the way Tonka builds trucks — durable, tested, and built to be thrown around.
Read postExploring motivation in QA teams and what drives quality-focused engineers.
Read postMaking the business case for QA and communicating its value to the organization.
Read postApplying continuous improvement principles to QA through a creative lens.
Read postThe foundational post — defining what quality assurance actually means in practice.
Read post