ProductCamp Boston is the world's largest and most exciting crowd-sourced one-day event for product people. It's organized by and for product managers, product marketers and entrepreneurs, so attendees get the most out of the day.
Attendees learn about and discuss topics in product management and product marketing, product discovery, product development & design, go-to-market, product strategy and lifecycle management, and product management 101, startups, and career development.
www.ProductCampBoston.org
2. Session Details
2
About Me:
● Software Engineer Grad, Dev for several years.
● Product Manager for ~4 years now.
● Enjoy travel, rock climbing, the outdoors, and resisting the urge
to sign up for WoW Classic.
Today's Agenda:
● Migration experience setup + recap
● Top lessons learned during the process
● Q&A
Sign in for this session if you haven’t already!
4. Our Goals
● Improve customer experience
● Improve engineering experience and velocity
● Limit customer impact/involvement from changes
● Get it done → All traffic migrated to new APIs
Our Migration: Background
Legacy API
● Startup Mode... 2004
● Monolithic
● Our own data centers
4
Service 1
Service 2
Service 3
etc...
Service 1
Service 2
Service 3~ Code Changes ~
New APIs
● Function specific
● Modernized + Standardized
● Cloudified
5. The Dream:
● Milestones by % migrated
● Set dates all met
● We can go home by christmas
Timeline
Our Migration: Quick Recap
5
0%
The Reality:
● “You never contacted me”
● “Can I have another extension”
● “We don’t know where the traffic is
coming from”
● “This feature is slightly different, can I go
back until it’s the same?”
● Code changes!?
100%
* Dramatization: No explosions occurred during this migration
8. Lesson #2: Missing Data Hurts
Customer 1: “We don’t know where the traffic is coming from, can you help find
it?”
8
Customer 2: “I thought we had finished moving everything but turns out there
was something we didn’t take into account”
My traffic coming from?
9. Lesson #3: Understand Feature Use
Take this as an opportunity to understand your product and customers
9
Feature
1
Feature
2
Feature
3
Feature
4
Existing Solution Apply Usage Data Apply Feedback Data New Solution
Feature
1
Feature
2
Feature
3
10. Set high level goals that you want the plan to
adhere to but then within those…
● Be open to change, learn from people in
different roles
● Be receptive to customer feedback,
empathize, adjust accordingly.
Lesson #4: Evolve your Plan… to a Point
10
11. Aside: What Goes into a Plan?
Milestones (with dates + ownership)
Solutions for Common Problems
Roadmap for missing features
Transparency
11
Create engineering and CS tools for
managing account access.
Document common
use cases/how to use
tools.
Create and share source of truth on
buckets of customers to be shut down on
what days.
Communicate widely
internally.
Follow up specifically with the AMs and
CS about the first planned bucket to EOL.
Provide FAQ + comm templates. Contact
customers!
Shutdown access to
legacy services for
bucket #1
Deliver required feature for allowing future
bucket to migrate.
12. Lesson #5: Over Communicate Internally
12
Over communicate, address concerns
● Build a cross-department team
● Build internal facing docs and tools
● Build communication into the plan
● Recognize achievements and
contributions
13. Lesson #6: Over Communicate Externally
13
● Lean on your cross-department team
● Only contact affected customers
● Use the appropriate tone, be exact
● Follow up, get confirmation
● Offer guidance and support
● Translate as required
There’s also opportunity here to engage with
customers
14. Get Started, build momentum
● Overcome the fear of such a big project, get going!
● Be ambitious!
Learn early, react fast
● How do your new services actually handle production traffic?
● Are the features working as expected?
● Are customers getting the information they need? How about other
departments internally?
Drive energy, excitement by showing progress
● Publicize progress and make it a big deal!
● Publicly recognize the people helping you, it’s a team effort!
Lesson #7: Start Migrating ASAP
14
15. Lesson #8: Have a “Sunset Policy”
Plan for API versioning
Manage Expectations
Clearly document and communicate
15
16. Lesson #9: Farm Carrots
16
Drive momentum and energy
● Does the newer service do the job better?
● Are there new features on launch?
● Does the new service allow you to build new features?
● How will this help customers or internal stakeholders?
● Use the stick if you have to in order to
meet goals/milestones