Back to all work

Case study

Managing a Legacy CRM Through End-of-Life

Owned the PublicStuff CRM end-of-life program through a multi-year transition, preserving 121 customers and $2.17M ARR while balancing retention features, defect priorities, and migration support.

Role
Associate Product Manager → Product Manager, Accela
Timeline
2022 – 2026
Format
Case Study
  • Lifecycle Management
  • Prioritization
  • Customer Communication
  • Program Management
  • Stakeholder Management

Verified outcomes

Outcomes

  • 121 customers and $2.17M ARR retained
  • ~15 features delivered across 12 epics
  • 100+ defects resolved and ~50 incidents managed

Chapter

Problem

PublicStuff, a legacy 311/CRM product, was approaching end-of-life. The engineering budget was fixed and had to cover three competing demands at once: retention-critical features for agencies deciding whether to stay, defect burn-down on an aging codebase, and support for customers migrating to the successor product.

Every agency's request was "critical" to that agency. Without a public prioritization logic, the program would run on whoever escalated loudest — the fastest route to churn.

Chapter

Approach

I prioritized by churn risk times workflow criticality: for each agency, what actually blocked daily operations versus what was merely requested. Defects were sequenced by severity times customer exposure, not arrival order. And I published an explicit bar for what would not be fixed — which converted recurring arguments into policy and let support give honest answers.

I also kept incident management in my own hands rather than delegating it away. In an EOL program, incidents are the rawest signal you have about which reasons-to-leave are growing.

Chapter

The metric that mattered

Sustaining products are easy to under-invest in and easy to over-invest in; the discipline is knowing what each unit of work buys. The framing that kept this program honest: measure reasons-to-leave removed per sprint, not features shipped.

That lens changed what got built. A small defect fix that removed a daily operational blocker for several agencies outranked a bigger feature that nobody would churn over. It also made the program legible to leadership: every sprint had an answer to what risk did we just retire.

Chapter

Impact and what I learned

The program delivered an orderly multi-year transition instead of a churn event, with customers moving to the successor product on planned timelines.

What I learned: end-of-life is a product discipline of its own. It runs on ruthless prioritization, visible policy, and personal presence in the incident stream — and it's where I learned that a clearly communicated "no" retains more customers than an unreliable "yes."

Contact

Get in Touch

Open to product management roles across complex platforms, workflows, and customer-facing products.