7: Give Products to Customers early
Yes. Do that.
We can't understand what a user is expecting. Most of the time a user doesn't know what they want. They can tell us what they think they want; but is that going to produce the system that will best serve them? No. the answer to that is "No".
Only by putting the product into the hands of the user will they, and subsequently you, understand what the system should do, and how, for them. A beautiful UI that doesn't organize information in a way that's intuitive to the CUSTOMER is a flawed UI; regardless of how much better aligned with UX practices.
This reminds me of some medical software - The UI was largely irrelevant to how the customers used it. Dr's and Nurses used it to enter information. They used hot-keys to navigate. If the UI changed, there'd be some complaints from those who are primarily UI interactive - but if the hot keys changed; there was an uproar from the majority of the userbase. With medical software... lots can go very wrong if information is incorrect.
Kinda like Microsoft Office products. The hotkeys set down in the 1980's are still around because we can't change user expecations. If they have them, we need to follow them.
UI ...apparently is different. If we couldn't change the UI; those same Microsoft Products wouldn't have moved from a meny to a Ribbon interface. Same hotkeys, but new mouse navigation.
I hated it... still not a HUGE fan... but... I've gotta agree that discoverability is MUCH better.
Providing things to the user sooner also helps not do things. If the user doesn't even touch a new feature, especially after being show it... stop spending effort on it.
Regardless of how good your Product Owner is - They are not as good as the customer. Always get the software into the hands of the customer, and they'll help you find where to put in effort for the maximum value to them. That's what we want, minimal internal effort for maximum customer impact.
The only way to know we're building the right thing is to put the product in the hands of the customer and have them tell us what is good and what is bad... or missing. I've been on a product where we didn't spend the time to understand how the users used the product. We had UX and put prototypes in the hands of the users... prototypes of the features we decided to build. Following flows of those features.
The more "freedom" you can give your users in the product, the better the feedback will be about what's important to them.
In this particular product... it had a bad re-launch. We ended up removing a MAJOR feature customers used... Just... ... didn't even have anything close to it.
Oh well... live and learn... hopefully by customer feedback.