38. Validating Strategy Through Testing
User testing. Two of the most important words in a developer’s vocabulary. And one of the very best ways to validate and better understand your team’s strategy for a build before investing in a full commitment to execution.
Everyone in the business of web development eventually learns their lesson about the high price of insufficient user testing, as we did. It must have taken the Solspace team months to eventually patch and repair the problems we inadvertently created on a web application built for a client some years ago. Inadvertent, because we believed we had managed all of the risks. We trusted our assumptions and our client trusted us. But we did not ensure we understood how this web application would function in the real world. We failed to engage in a conversation that would have exposed obvious customer positioning and interaction problems. We failed to validate our strategy through user testing. And so we learned, and it was painful. Following this experience, we no longer wasted time building before we’d validated our strategies. We simply sketched our ideas and our proposed interfaces using pencil and paper. We put these in front of a group of representative customers and objectively observed their feedback. Then we made adjustments to our plans based on what we’d learned. We were often surprised at the type and number of things that we hadn’t even thought of, which were obvious once we heard from users. To this day, we lean on user testing to show us our blind spots, and remind us that we are not the customer. And we are always surprised at how many assumptions we make in our strategic work, unaware.
Testing your strategy properly has to involve anchoring that strategy in a conversation with the customer. It doesn’t have to be any particular conversation, either. Any conversation with the customer is a good conversation. Though you may end up surprising your customer with an unexpected strategic shift, you still greatly benefit from observing their response.
It’s often said about Steve Jobs that his view on customers was that they did not know what they wanted until they were told (by him.) Henry Ford was known to pronounce that a customer could have any color Model T they liked, as long as it was black. These are entertaining stories no doubt, but they are more arrogant by far than they are truthful. They assume that they know better than the customer what will work for them, when the truth is they only know their own point of view, not anyone else’s. The reality of business, at least for mere mortals, is that your success depends on your ability to serve the customer, not the other way around. And so it’s essential that you validate your strategy by getting your customer as engaged with it as possible, and then objectively observe their reaction and accept it as reality.
Our Web Reliability Framework is targeted primarily to the web application owner, whose mission is to keep their customer happy. Neither that web application owner nor the web application developer is justified in assuming what they do or do not know about their customer. There’s really no good excuse for it. Experience has taught our team that anything short of total humility when working to solve problems for a client can only result in hubris-related disaster. We don’t know what we don’t know. So we must find ways to discover what we don’t know, and keep an open mind. Testing our assumptions about what our client's customers need is one sure way to remain humble and empathetic toward them.
When a development team creates the habit of testing their assumptions regularly throughout the life of a project, strategic work becomes more conversational than didactic, more cooperative than authoritative. And ultimately it becomes more pleasurable, effective and efficient. When we begin our engagement with the client with this attitude of exploration, we can create a dialog that will serve our client and their customer for the long term, and demonstrate a respect for their desire to have their needs met completely and without friction. This results in optimal customer flow.