How many times has a great idea met its end with poor execution?
In software development, a bad user experience is always looming out there, like the troll under the bridge, waiting to "gobble up" a new app, an updated piece of code, or even back-end database changes. (With so much focus on data and its output, be aware of how your foundation is structured. Everything that's done on the front end affects the back end, and vice versa.)
If we acknowledge the user experience up front, with proper planning that includes a fully defined scope, basic user experience issues can be avoided and an optimal experience can be created.
The three key takeaways to avoid creating a sub-optimal user experience (don't let that troll get you!):
1: Stay in scope
Articulate full scope during the project initiation phase, with an active scope creep mitigation strategy.
Outline the intended workflow and use visualization tools if necessary.
Consider the downstream impact of changes as they come up during implementation.
2: When in doubt, keep it simple
Leverage resources like human-centered design principles.
Conduct user surveys or ask for user perspectives, if available.
Edit yourself - are you using technology and workflow in the most efficient way?
3: Avoid bias
Don't make assumptions, or impose workflows on users.
Understand technology capabilities in light of use cases and user needs.