Years ago when I worked in newspaper advertising, we would trot out that old saying that we knew half of our marketing efforts were working — just not which half. When I became a software product manager, I was plagued by a similar uncertainty: I knew that our customers would use only about half of our features, but I had no idea which half.
If you’re in charge of a software product, you probably stay up at night worried about which features to spend your time on and to throw resources at. From my position as a consultant working with various teams on numerous applications, I recognize that the development of unused features is the single biggest waste of time and resources in the software industry. It’s waste that has cascading effects that, if left unchecked, can bring a company to its knees.
Building the wrong product or functions not only wastes time and money, it demoralizes the creative, intelligent, and in-demand team members, thus making hiring and retention more difficult. Here’s how this can happen:
Feature bloat, as we call it, ends up hiding the most useful features from customers in a forest of things they don’t want. Customers become frustrated and call your support people, who cost you money, and overwhelm them with requests. Finally, this overload of features makes the development of new capabilities more challenging, which again frustrates developers. And on we go in a vicious cycle that ends with a competitor stealing your market share because their product is cheaper, leaner, more elegantly designed, and easier to use.
Apple, by contrast, has built the most valuable company on the planet by simplifying products, reducing features, and creating applications and devices that are lean and useful. The company has found a way to consistently build the right thing. And the same opportunity exists at your company. While your product may not be as sexy as an iPad, it can still be simple, elegant, and beautiful if you’re willing to take the steps needed to put the customer, and the customers’ needs, at the center of your organization.
This is the goal of the Agile mind-set: to remove waste by creating an organization that focuses on discovering customers’ needs and meeting those needs quickly and affordably. This is why we’re in business, after all: to provide value to our customers. And not just current customers, new customers in new markets, too.
Why, then, do our businesses so often lose their way?
The first step to creating a customer-centric organization is coming to an awareness that there is a problem. We need to realize that the way we’ve been doing things with large up-front design and requirements documents is part of the problem. But what next? How do we begin to reform our systems to be more customer-focused?
Many products have plans but few have visions. We have endless lists of features and capabilities but no unifying vision that everyone is working toward. A product vision is a high-level view of the value you want to provide and an understanding of who you want to provide it to. It’s really that simple — in fact, the simpler the better.
I challenge you to poll five of your employees or coworkers at random and ask them what the vision of your product is. If you’re like most businesses, you’ll get five different answers — perhaps wildly different. This is why many organizations are lost in internal struggles against each other when they should be collaborating to delight customers. Once you have a unified vision, however, it’s relatively easy to decide on specific features, prioritize them against each other and begin pulling in the same direction.
In essence, you are creating the high-level metrics and values of your product — and the organization that makes it. Without an explicitly stated vision, you’re shooting in the dark. You may think you have consensus, but like blind men touching an elephant, it’s likely each person on your team has a radically different view of the thing you are creating. Go slowly and get this part right.
Whether we release features iteratively or use a continuous flow and deployment, it’s important that we design our human processes and technical infrastructure so work can be done in steady, small increments of value.
Management guru Peter Drucker frequently pointed out that “doing the right thing is more important than doing things right.” To do this we need to develop empathy; we must be able to sit in our customers’ chair and see the world through their eyes.
Agile design practices encourage us to test our ideas quickly, using tools like rapid prototyping, and to see our products in their natural habitat. Something as easy as hosting a weekly catered lunch during which your team watches customers actually use the product, can build team empathy and generate new ideas. I’ve never seen a team that does this enough.
Also, instituting the Product Owner role can have a far-reaching impact. A Product Owner is someone who sits on your development team and speaks for the customer, deciding what order features will be built in and whether or not a feature should actually be implemented — and if it is, what it needs to do in order to delight the customer. In some cases, a Product Owner can actually be a customer, but often this is just someone whose job it is to develop empathy and a keen sense of what’s valuable. This single wringable neck between customer and developer provides the focus essential to building the right thing.
By creating a solid vision, shipping frequent releases, and engaging in an ongoing conversation with customers, you can begin to focus the collective attention of your organization on truly delighting your customer. While these few changes may seem relatively small, they will not only lead to better products but also to happier people and a healthier bottom line.