David Bashford
UI/Node Engineer
Demo and Rollout
On a micro-level, we do a great job reusing tiny components in the Ember app
textboxes, modals, labels, buttons, checkboxes
On a super-macro-level, we have also have success
Recon, Context Panel, List Manager, Data Filters
In the middle, though, we tend to re-invent the wheel.
We often have similar mid-sized UX problems, that have solutions already available, but that we fail to use
Why do we fail?
Everyone is to blame.
The goal of this synchronization effort is to find these opportunities for reuse, build the reusable componentry, and retroactively apply the reusable UX
Why do it now?
What is gained from retroactively applying solutions?
1. Identical UX
While we have reinvented the wheel, they are almost always slightly different wheels
Eliminating similar solutions in favor of a reused solution gives users an identical experience when encountering this problem
Identical UX reduces cognitive load on user
2. Same UI Code
No more maintaining separate solutions. No more fixing problems in multiple places.
New features added to the common code get introduced to all places that code is used
And less code is good.
3. Future Reuse
Making reusable solutions now, and leveraging them everywhere, ensures the next UI engineer doesn't copy the same set of one-off components to create another one-off
4. Speed Everywhere
Creating the common components ensures down the road we'll be faster.
Faster to develop, but also faster to refine.
No more "well, which of these inconsistent solutions should we select for our problem?"
So how are we going to get this done?
Updating all the portions of the application to reuse the new componentry isn't the job of one engineer
We (Todd, Brian, David, Eliot) will pick something worth replacing, Todd/Brian will work on designs, and Todd will build the reusable componentry
I will build a feature around replacing the existing instances with the new reusable components
UX will work with UI to identify those places that should have their code replaced with the new componentry
We'll get the feature prioritized, hopefully really high!
That feature will contain x-scrum user stories for each instance that needs replacement
SCRUM teams will work with UX/Todd to ensure the implementation is correct
Profit
Properties Panel trial run
https://bedfordjira.na.rsa.net/browse/ASOC-92541
Cycle 16: Identify Replacement Locations, provide to teams for refinement
Cycle 17: Execute Replacements
By David Bashford