Why technical programs fail

Jason Yip
Jan 22, 2023

Built the wrong thing. Too late to fix.

You build the wrong thing and don’t find out until it’s too late to do anything about it. For a program, “you” can be any of the teams involved.

3 teams working on a program over 3 months. Right before launch, one of the teams has realised they built the wrong thing. “Ah… turns out we built the wrong thing. How much time do we have?” “This afternoon.” “Time for donuts?”
Built the wrong thing but it’s too late to do anything about it

Won’t finish in time. Too late to do anything.

You realise you can’t finish in time and don’t find out until it’s too late to do anything about it. For a program, “you” can be any of the teams involved.

Month 1: 30% done, Month 2: 60% done, Month 3: 90% done. “It’s time for launch! What’s our status?” “Everything is 90% done…” “When will it be 100% done?” “Probably another 2 months”
Realised you won’t finish in time but it’s too late to do anything about it

Integration hell

You build components separately in parallel and when you attempt to integrate, it all breaks and takes forever to fix (aka “Integration Hell”).

During program kickoff: “See you when we integrate in 3 months”. At the end, “time to integrate!”. “Huh? Nothing seems to work when we try to integrate. How long will this take to fix?” “No idea…”
Integration Hell

Overwhelming tech debt

Tech debt accumulates to the point that you can’t change anything without breaking something else and progress grinds to a halt.

Tech debt accumulates to the point that progress grinds to a halt

--

--

Jason Yip

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