The Harrowing Story of Every Software Rewrite

What it’s like to be a product manager handling engineering chaos

Simon Pitt
Index
Published in
9 min readMar 4, 2021

--

Photo: ThisisEngineering RAEng/Unsplash

The head of engineering has called a meeting.

“Listen,” he says, “we’ve got too much tech debt. The codebase is full of unsupported dependencies. We have no test coverage.” He pauses — overly dramatically, you think. “We need to do a rewrite.”

You have a backlog of feature requests and bugs as long as an arm. Two lists, each is as long as an arm, in fact. Every day, more requests come in. Your hands are full of arm-long lists. The engineering team asked for user stories, so you wrote user stories — even ones like: “As a user, given I am on the profile screen, I want to be able to change my email without the application crashing.” They’ve asked for the list to be prioritized and you’ve done that, too, mercilessly pushing back features you really, really need. You’ve deprioritized minor bugs that you hope most people won’t see. Every morning you have an email from someone who tried to import an XML file and got “that crash.”

“What do you mean by rewrite?” you ask.

The head of engineering shrugs. “We’re on Doohickey version 1.6,” he says, “but Doohickey 4.3 was released last week, so we should be on at least 4.x.”

--

--

Simon Pitt
Index
Writer for

Media techie, software person, and web-stuff doer. Head of Corporate Digital at BBC, but views my own. More at pittster.co.uk