My journey from “Agile” to “product teams”

Jason Yip
The Startup
Published in
3 min readApr 19, 2020

--

John Cutler: Journey to Product Teams infographic

John Cutler published an infographic he called “Journey to Product Teams” in order “to describe different team structures and approaches to collaboration”.

Journey to Product Teams infographic

My immediate thought was this was an interesting way to highlight differences between teams but also that what was described as “Agile” teams didn’t match what my journey was like.

The promise of Extreme Programming

In 1999, when I first learned about Extreme Programming (XP), the pattern (as in observed, not hypothetical) was an Onsite Customer working closely with programmers. The whole point of Onsite Customer was to address hand-off with requirements activities. Instead the interaction was ongoing and on-demand. Alistair Cockburn described the User Story as a “promise for a conversation”, a conversation that would occur on-demand, not up-front.

I think it would be reasonable to say that 1999-era XP did not include Opportunity Selection nor Run.

1999–era Extreme Programming

Ideal and typical ThoughtWorks Agile custom application development engagement

I started at ThoughtWorks in 2001 and stayed there until 2015. I’d describe “ThoughtWorks Agile” as an XP-influenced but distinct style.

The first engagement I was on was around production support (aka “Run”). Subsequent engagements evolved from “build master”, to configuration management, to Java development, to process consulting/coaching/training, to organisational consulting/coaching/training.

An engagement that only included one activity (e.g., requirements, design, build, test, or production support) would be considered “body shopping” and was really only for economic down times when you needed any kind of revenue OR as a foothold activity to gain influence.

The target ideal engagement was always the entire cycle from Opportunity Selection to Release (with varying degrees of interest to expand to Run).

--

--

Jason Yip
The Startup

Senior Manager Product Engineering at Grainger. Extreme Programming, Agile, Lean guy. Ex-Spotify, ex-ThoughtWorks, ex-CruiseControl