Improving the User Experience of Creating a User Experience
There are two types of users for everything we build; end users and those that build and run the system. Both sets of users can benefit from a better user experience. These benefits can be in the form of a productive, human-centric, quality of life improvements to the process of systems delivery. But it also can lead to uncovering that innovative spark that can be easily missed if we are not looking for it.
DevOps eliminates the all-day all-hands, end of release code push, thus freeing up the weekends of your staff, reducing stress, and positively adding to their work life balance. Adopting continuous development and delivery also reduces the ‘work in progress’ time as code ships when it ready, eliminating bottlenecks and gateways that cause buildup. Project plans are always based on best-case scenarios with some room for the unforeseen, but not much. Removing these bottlenecks improves the efficiency of developed code to be pushed. Communications and automation reduces human error. Projects can be run in ‘human time.’ Continuous monitoring used to track system efficiency, can also be used to track development progress and velocity.
Without employing a DevOps posture, small fixes are sometimes pushed off in favor of new features leading to UX debt. UX debt is the difference between the experience your current digital product versus how it can be improved if it would be given the necessary attention and resources. UX debt can stymie the maturity a product if it is never addressed, or pushed to that never to be realized defect sprint. What should concern the entire team is that widening delta between the original intent and the current outcome.
This can breed a culture in which smaller issues, which may seem unimportant, get over looked or never even attempted. This can also lead to less technical areas of practice, such as user research and concept validation are typically sacrificed for saving time and costs. The pace of feature building usually forces this sacrifice to the point that innovation and viable alternatives are never even attempted. What innovation are we missing by not coming up with and/or testing alternatives?
Instead of skipping steps to save time or money we need to ask, not only what does the user lose by not implementing the better solution? But what does the program or organization lose by not innovating?
Designing for continuous software delivery means being in step with the velocity of development while simultaneously listening to user feedback that gets translated into the next set of improvements. If we ignore UX for the sake of feature delivery, we can lose more than better project. We can lose credibility and future revenue.
At the end of the day for the end user or customer, deadlines, processes, checkpoints, and controls that govern the development of a digital product has no relevance. Satisfaction comes from the actual desired outcome, and that is independent of the internal workings of the organization.