Putting Customer Interaction First in Software Development
Eat Your Own Dog Food
Eating your own dog food is a common phrase that is cynical from the start – unless you like eating dog food! A more positive, but often overused cliche, is “Be the Customer.” Regardless of how you want to phrase it, the goal is to create solutions that win your customers (which by the way hopefully include your engineers!) over.
We recently had an opportunity to walk in the customer’s shoes of one of our clients and it was painfully obvious within our first minute that user input to the ultimate design of the product was not considered. The methodology for feedback involved Post-it notes and paper forms as opposed to a simple feedback button on the application appliance. The end users were frustrated and reoccurring problems require creative manipulation by the person closest to the customer while software developers are insulated from valuable input.
The rise and fall of companies from top dog to B player (or worse) occurs at an ever quickening pace. Some companies get a second chance, but it takes a lot of effort to get even close to catching up. The best scenario of course is to never lose the number one spot, and the key to staying ahead lies in understanding your customers and innovating and providing appealing solutions for them to be successful.
Tenure, stock options, and other “Golden Handcuffs” are meant for retention, but can often backfire into lulling employees into a comfortable complacency.
So, how do you combat complacency or customer disservice? Many companies take creative routes to hold hackathons and other contests to improve user experience. The best companies allow their customers to vote on which products should be prioritized in the pipeline. But the most effective path to success is to ensure an open dialogue between engineers and those on the front lines using your products.
When I was at eBay there was an issue that had been dogging (no pun intended) customers for a long time and was frustrating customer service agents to no end. John Donahoe, then CEO, was visiting the customer service location in Utah and at a lunch Q&A the frustration came out. John had someone contact the California-based engineers responsible during the luncheon and arranged to have them all fly to the CS center the next morning if not that evening. It was communicated to John that the flights home for the engineers at the end of the week were sold out so he rearranged his travel and took them back on the corporate jet.
I was a driver to get them to the executive terminal at the airport. John raced out of the car and stood at the foot of the red carpet to salute and shake the engineer’s hands after a few grueling days of eating their dog food by sitting on customer calls and meeting with very frustrated agents.
The message was clear to all involved, “no more finger pointing” – engineers were tied at the hip with customer service reps on the front lines with the customers.
Avoid complacency by ensuring your developers and product managers walk in the customer’s shoes and hear from customers regularly. The better informed they are, the better the solutions they will develop.
Redefine the Definition of “Done”
An important aspect of incorporating customers into the development process is an OKRs (Objectives [at AKF we prefer “Outcomes”] and Key Results) focus. What is the desired customer behavior for new features, fixing existing features, etc.? It’s the big “so what” question that needs to be asked often.
If you are trying to increase customer engagement by 10% for a new product or service, then the project is not “done” because of a code release for a new product or features – it is “done” when customer engagement is increased by 10%! So that is when you have the party, not when code is released.
Word usage may seem trivial, but it is our experience that clarity must be uniform and consistent with actions. Team members pay attention to the little things and make the correlations between the words a CEO speaks at an All Hands and what behaviors are observed day in and day out. Having goals around work performed instead of changed customer behavior will likely result in a lot of code being released with very little “so what” for your customers which provides space for an upstart or competitor to edge their way in. If AOL, WebCrawler, Yahoo, AskJeeves, or Excite had provided great consistent search for their customers, Google wouldn’t have been able to take over and dominate. And if Google doesn’t continue to provide great search, the next “Google” will find a space to wiggle in and dominate in the future.
Customers have a balance of wanting their current needs filled with a look to the future. Be clear on what “done” means for your customers on each project and hold off celebrating success – not just effort exerted – until your customers can see that you are done.
Stay Focused on the Bigger Picture
The now infamous quote from Henry Ford is “If I had asked people what they wanted, they would have said faster horses.”
Often we see teams getting microfocused on a fringe case and creating solutions for the minority of end users. While your product will demonstrate value for a few, you may miss the boat for the majority of your customers and they may move on.
I recall touring a facility in the US for a security software integrator. I walked by a set of cubicles with hundreds of security cameras set up and asked what they were doing. I was told the team of 30+ engineers were testing each camera to ensure it works with their software.
Meanwhile their software was not capable of two-factor authentication, which was fast becoming a major blindside for their organization. If making sure every brand of camera was really a profit center, they should have outsourced it offshore for the same result for a fraction of the cost and put their top engineers on something with customer value and profitability. I doubt supporting hundreds of cameras was a major differentiator - certainly not enough to tie up top-paid engineers. As the consumer if I knew they supported 30-60 cameras perfectly, I’d be fine with picking one from the list. Lack of two-factor authentication was causing major roadblocks for my team in getting infosec approval to continue using their software.
It is important to step back often and look at where teams are exerting the most effort and to ask the simple question “why are we doing this?” If your answer is “because we’ve always done it that way” you are likely not maximizing customer value. If your reasoning aligns with how to maximize customer value for longer term value, then you are on track.
Stay Two Steps Ahead
One of my first jobs was as an apprentice for a building contractor. Chris had a very small crew and specialized in high-end home remodeling and additions. My first day on the job he said “see that pile of trash?” Yes, I replied. “See those dumpsters out that window?” Yes, I said again. “Stop standing around and get to work!” Over the summer I learned that when we showed up on a new job site the saws and compressor and hoses and nail guns needed to be set up as soon as his truck slowed to a stop. My job was to anticipate what we would be doing next and make sure the right equipment was set up and ready to go before we needed it.
Steve Job’s famous modernization of Henry Ford’s faster horses quote: “It’s really hard to design products by focus groups. A lot of times, people don’t know what they want until you show it to them.”
Much to the complaint of many customers, Jobs drug everyone into USB with the original iMac (while eliminating the floppy disk) and Apple has continued to drag customers into faster adoption of Bluetooth, SSDs, and now USB-C. For the most part, the gambles have paid off and customers adopt and enjoy single cable interfaces, faster transfer speeds, etc. (and Apple generates a lot of revenue on dongles for themselves and others …).
Agile is all about quickly adapting and changing. Similarly, as you look at where your customers are today, don’t lose site of where you need to take them tomorrow. Provide the vision two steps ahead of where you are today.
Look, it is easy – and entertaining – to get lost in pet projects that provide a challenge and are good career development, but if they aren’t providing customer value, save these projects for for when there is overflow time. In any large corporation it can be easy to lose sight of customer and end user needs and get lost in endless meetings, pet projects, and other seemingly urgent, but not important, activities.
The main thing is to keep the main thing the main thing … and your customers/end users are THE Main Thing! Agile development provides the ongoing opportunity to comb the backlog and prioritize projects that have the most customer (shareholder, and hopefully employee) value. So make sure the efforts of your team and your organization are laser focused on what will immediately provide the maximum customer value. This will provide the needed profits to hire more staff and provide room to add in non-functional requirements and R&D projects as part of the larger, ongoing development process.
Let us help you improve your main thing!
For a good laugh, visit demotivators.com.