Put The Customer First In Software Product Development

Taking on any innovative software product requires more than just technical skills. The most important (and often most difficult) aspect of the software development process is understanding your customer’s true needs – or in our case, our customer’s customer. What exactly does that mean? Adopting a customer-centric approach, of course!

Let’s walkthrough what a customer-centric approach to software design and development looks like:

Solve for your customer’s needs, not your own.

This may sound obvious, but it is easy to get caught up in the details – visual design, technology, nuance features, etc. (See our post Smart TV, Dumb Features.)  Don’t forget what the greater purpose of the product really is – to address some customer need. Really great products fill a void for the customer, be that a solution to some problem, or simply being a more efficient means to an existing end. If you are merely building “yet another mousetrap” or simply doing it on mobile (because you can), why bother?  Here’s a simple test: tell three people what your product does, and then ask them why they would NOT use it. If they struggle, you are on to something. If not, listen and learn.

Engage your customer in the development process.

Our customers are required to be involved in the development of their product (duh, right?). What’s less obvious is that we often require our customer’s customer to be involved as well. Whether you are building your own product or having it built by someone else – hopefully us 😉 – get your customer involved in the process. I know you are brilliant and have all the answers, but do you have all the questions? Unless you are the only person that will ever use your product, you don’t. One of the biggest mistakes product developers make is assuming that everyone they intend to sell a product to has exactly the same needs and addresses those needs exactly the same way that they do.  They might, but wouldn’t it better to know for sure before you sink everything into your own ideas? Put down your pride, get customers in the loop, and build the product that THEY want to use.

Use metrics to measure success.

So, you took my advice and worked with real customers to solve a real problem… and it’s working. Congrats, what’s next? Well, like most “brilliant” product managers, you start blindly piling on the features. Hopefully, you built analytics into the product. The development and growth of all software, especially new products, should be grounded in the reality of hard metrics. Rather than just guessing at how well things are performing, measure and analyze the results. If there is a problem with a feature, the metrics should show it. If users make wrong choices and start over, learn from their experiences. If customers care for a feature, they will be using it, and the metrics should show that as well. We’ve written about the importance of metric driven software development before – read it, live it.

Be accessible.

It amazes me how many product managers and developers shy away from meaningful engagement with their customers. “Oh, that is sales’ job”, or “ we have customer support people for that.” I know what typical customer service people are like, and I know the motivation of your sales team – and neither have “how do I improve the product?” as part of their frontal lobe. Make exemplary customer service a priority, and don’t make your customer jump through hoops to contact you. That means giving out a real phone number (eh-hem Google, Twitter, et al – I spend a mint on this thing called a telephone, and sometimes I like to use it). Or better yet, build customer care directly into your product – think Kindle Fire. I thought “Mayday Button” was a dorky idea until I forced myself to try it – it was the best support call I have ever had. Not only did I not have to spend hours searching for the correct phone number and waiting on hold, but I spoke to a real technical person that gave me real and actionable advice – very refreshing.

To sum up, don’t be stupid, and don’t waste time! Software product development is an expensive and time-consuming process, so make the extra effort to make a good product great. After all, if you’re not satisfying your customer (or customer’s customer), then why are you building a product in the first place?