R&D All Hands
Configuration Team Product Upgrade Methodology
How we are relaunching an existing client-facing tool without pissing off that many people.
A Day In Legacy UI
120 unique external client logins
2,000 configuration options saved
11 minute average session time per user
Our goals:
Replace 80% of the UI
&
Smooth product transition
Our constraints:
100% backward compatibility
Both UIs needed to live side-by-side
Our QA team loved this
DimSum API
Legacy UI
New UI
Bazaarvoice Ecosystem
Don't
Rewrite
Everything
D
R
E
This view is 100% new UI
This content is an iFrame pointing to the Legacy UI with a few extra URL parameters
Legacy UI Email Editor
With "?chromeless=true" URL parameter
No Side Navigation
No toolbar
Transparent background, darker fonts
postMessage communication with parent container
By reusing some
of the old UI, we saved about
12 months*
*Or something, I forgot my KanBan training
Rollout
Slow
Phase 1
Pilot Clients
Began July of 2014, new application was ~80% complete
We used Togglz to organize pilot clients
Togglz let's us customize behavior based on arbitrary data, like Client Name.
if (_dimSumClient.getCurrentUser().getTogglzFlags().isConfigUiForEdit()) {
redirectToConfigUi(_dimSumClient); //new UI
}
else {
loadImplementationEdit(); //legacy UI
}
Example code in DimSum to determine which UI the user should see:
We ended up with 6 pilots
Phase 2
All New Clients
Began January 31, 2015
Every client provisioned after January 31st was given the "new UI" Togglz Flag
This added ~50 active clients
This phase let us smoke out more bugs and issues that we didn't discover with our pilot clients.
Phase 3
Opt-In Period
Began February 2, 2015
Upon logging into Config, clients are given the option to Opt-In to the new UI
This served 2 big purposes:
- Alert clients a change is coming
- Give early access to clients who
like what they see.
Around 120 clients opted-in since Feb 2nd
This gave us a steady
ramp up of usage
Phase 4: Final Phase
The Big Switch
Happening April 1, 2015
Togglz flag will be switched from
"By Client" to "All"
100% of traffic will be diverted to new UI
Contributors to this effort:
- Oren Fisk
- Michael Goodnow
- Sheila Hippert
- Rob Kumar
- Roman Hrynchuk
- Dusty Herrman
- Jameson Brettle
- Tiff Ting
- Tim Nunamaker
- Jason Wilmot
deck
By markmarkoh
deck
- 870