Emily Patterson Profile picture
Aug 26 โ€ข 13 tweets โ€ข 3 min read
This Friday's #prodmgmt story is about the extremely fraught process of "doing a rebuild" ๐Ÿ’€ and then moving customers over to your new app.

If you work in tech long enough, you'll find a CTO or VP of Eng who really would like to rebuild the app. New backend, new UI, whatever...
This is usually because the existing app is full of issues and hardcoded logic and built on an outdated stack. For this story, we had all of those things. The app wasn't resilient and it needed a facelift asap.

The engineering team carved out 18 months to rewrite the app.
Carving out 18 months to rewrite it was by itself a problem - customer success teams and other stakeholders were told to "just wait" many times with no real idea of when "later" would be ๐Ÿ˜“

(as an aside, this itself caused the CTO to get fired about 12 months into the project)
So we did our best and redesigned a lot of functionality while we were rewriting it.

I did a lot of work to make sure workflows were covered, and I learned a lot in the process.

Some features I had to copy/paste from old to new, which wasn't my idea, but ๐Ÿคท๐Ÿฝโ€โ™€๏ธ
At a certain point, everyone ran out of patience. Customers were getting increasingly frustrated that bugs weren't getting fixed, leadership had already fired the CTO and wanted us to "just ship it".

Me and the rest of the product dev team started to just throw it together ASAP
Ironically, I actually missed this release because I was in the hospital (which everyone hated!), but I know it went very badly.

Change management was forgotten in our rush, so we just sent out a "New app, check it out!" email and hoped CS would cover.
As you can imagine, it was a shitshow. CS was overwhelmed with complaints and upset customers. There were a TON of bugs.

We actually rolled it back and then rolled it out again twice if memory serves. (this is why I require my PMs to create rollback plans now ๐Ÿ™ƒ)
Customers eventually forgave us because we still had a great niche product that was really sticky.

But those 3 months after the initial launch were very messy. Lots of hotfixes and lots of hard conversations.
After the launch, we realized a lot of the "copy/paste" features we did weren't actually done well - they didn't quite work the same and customers hated them.

It took persistence, but the product team got some affordance to break these features down more and rebuild them.
This was something I had wanted to do from the start, but given the new understanding about our customer's needs, it was really great fun.

Customers were hard to reach at first, but our internal teams helped fill in the gaps.
And we eventually turned it around, because people have short memories, and the new rebuild was faster, less flaky, and the new workflows were better optimized โœจ
So key takeaways:
1. Rebuilds are awful time sinks, but sometimes can't be avoided. If you have to do them be absolutely sure to keep "maintenance" capacity so people don't hate you.
2. NEVER RUSH A RELEASE - especially a big one! Slow & steady. Make release and comms plans
3. Customers hate change but will get through it with enough time. Make sure you tell them early and often about big changes.

And NEVER get frustrated with repetitive questions! Take a deep breath &answer them again. Don't tell people to RTFM. ๐Ÿ˜Š

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Emily Patterson

Emily Patterson Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @epatt6

Jun 21
A few times in my career, I have found myself working with a dev team that is totally off-track.

They don't really know what they're building, have 200 top priorities, and are getting inundated with asks.

I usually find them stressed as hell. Here's what I do as a PM - ๐Ÿงต
1. First, announce your intentions - "I'm here to help get you organized so you can get your work done easier."

Most people will appreciate this. If they are defensive, they are probably too stressed to process stuff - keep repeating intentions and provide a safe space to vent.
2. Document ALL THE THINGS.

These teams usually have at least 5 big efforts going all at once, which means nothing is being finished. I usually start by grouping tickets/requests into larger "buckets" of work (like "tech debt" or "strategic initiative x"). Write it all down.
Read 12 tweets
Jun 6
I graduated college 15 years ago (๐Ÿ˜ฑ) and I've worked at 10 companies. Recently, a few people asked me about this "job hopping" and first off, obv, non-white dudes generally have a ROUGH time in tech, so it happens. But let's talk about why job hopping is actually helpful ๐Ÿงต
1. Quickly pattern match

Job hopping exposes you to a lot of different environments and you can start to rapidly pattern match when dysfunctions arise. A bully in tech? An indecisive CEO? A frustrated sales manager? Yep, seen it, handled it, learned from it.
2. Fast to onboard

Job hopping also means that you become very good at onboarding and jumping into the work. I don't need a lot of guidance - I can look at the Jira board, have a few 1x1s, talk to a few customers, read the research and get started. I need ~2 weeks max.
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(