Being Agile

Pete Hodgson's blurgh

Articles & Talks


Feature Toggles, on martinfowler.com

Feature toggles (aka Feature Flags) are a powerful technique, allowing teams to modify system behavior without changing code. They fall into various usage categories, and it’s important to take that categorization into account when implementing and managing toggles. Toggles introduce complexity. We can keep that complexity in check by using smart toggle implementation practices and appropriate tools to manage our toggle configuration, but we should also aim to constrain the number of toggles in our system.

Feature Branching vs. Feature Flags: What’s the Right Tool for the Job?, on devops.com

A dev team’s branch management strategy can have a significant impact on the rate at which it can release high-quality software. In this article we’ll explore the pros and cons of several different approaches for enabling multiple concurrent streams of dev work in the same codebase. We’ll see that two major factors—the cost of merge conflicts and the ability to release streams of work independently—are often in tension, but that Feature Flags provide a way to resolve that tension.

Javascript without the this, on radar.oreilly.com

Using closures in a different way…

Keeping jQuery in Check, on radar.oreilly.com

Segregated DOM makes for a maintainable JavaScript codebase…

In Praise of the ./go Script, on thoughtworks.com in two parts

Any self-respecting dev team should pay attention to automate their processes and conventions with an array of tooling, be it off-the-shelf, customized and fully bespoke. This is where a lot of teams stop, which is a shame. It’s great to have the tooling you need, but if you don’t organize your workshop so that everything is at hand you’re not going to be as effective as you could be. Teams can get a lot more out of their automation by unifying all of their tools and processes under a common interface - the ./go script.

Conference Talks

Slides from my public presentations are published on speakerdeck

A Journey Into Feature Toggles - OSCON Austin 2017


Functional reactive JavaScript on the client and the server - Fluent 2016

overview, video part 1 & part 2

Test-driven client-side apps - ForwardJS 2015

video slides

different.js - ForwardJS 2014

video slides

Rails as an SOA Client - RailsConf 2014

video slides

Building Your Own Lightsaber - CodeMash 2014


Automated Mobile Acceptance Testing - MDevCon 2013


Shared Cross-Platform [mobile] Tests with Frank - Mobile Testing Summit 2012

video slides