Bad software is everywhere, buzzing our phones, losing our orders, insinuating itself into every corner of our lives. Sometimes it’s just an inconvenience: slow, confusing, dated. But often the consequences are more serious, as when insecure software exposes our private data and even our bank accounts.
Bad software played a central role in last winter’s nuclear panic in Hawaii. It only took a wayward text message from the Hawaiian Emergency Management Agency to touch off a statewide frenzy: “Ballistic missile threat inbound to Hawaii. Seek immediate shelter. This is not a drill,” the message read.
It was a drill. News reports explained that a state employee triggered the crisis by clicking the wrong link on his screen, issuing a full-blown alert instead of an internal exercise. A screenshot shows a link for the drill that looks almost identical to one for the real alert. And while the employee later said he thought the attack was real, it took 40 minutes for the government to correct the error—in part, because the app provided no way to issue a “false alarm” correction. Meanwhile, thousands of residents and tourists faced very real alarm.
Even where the stakes aren’t life and death, the economic effects of bad software are staggering. By one estimate, ecommerce sites lose $260 billion a year to badly designed checkout systems—costs inevitably passed on to consumers. Even companies that spend millions on usability design, like Amazon, can succumb. Amazon agreed to refund $70 million because children playing on games on their devices thought they were just spending virtual currency. Some families racked up bills of up to $10,000 in actual currency before parents realized what was going on.
No one can fully explain why bad software happens to good people. Thankfully, we have a way to make software better. A product-minded approach to software development embraces change, so good stuff gets better and bad stuff gets fixed. It relies on adaptive techniques like Agile development, with its iterative cycles and feedback loops, and DevOps for smooth, continuous deployment in fast-changing environments.
Four product minded principles will help you avoid the scourge of terrible software:
Live it — Make sure the people building your software live and breathe the customer experience. Ideally, that means your team physically visits the customer, watching them use your software in their natural habitat. If they can’t visit, they can find other ways to gain empathy, like listening in on customer service calls. One bill payment software company asks every employee to pay their own personal bills using the service. After trying it for the first time, every employee comes in the next morning with a list of questions and improvements.
Love it — Understanding your customer will help the team focus on improvements that reduce friction, encourage return visits and inspire loyalty and advocacy. In other words, they will build software customers love to use. Map out the customer’s journey and flow through the system to make sure it is a smooth, delightful process they will want to repeat and recommend to others.
Leverage it — You can extend the life and value of your product by building a platform that’s useful for today’s customers but can also meet the demands of tomorrow. Amazon built an e-commerce platform that first sold books, then sold just about anything, then allowed others to sell their products. Then Amazon’s underlying cloud platform (now called Amazon Web Services) became a product in its own right, accounting for a fast-growing percentage of Amazon’s revenue. Good platforms don’t just allow you to add new features and functionality over time: they can also provide a convenient way for your customers and partners to contribute value as well.
Launch it — This one can be hard, but you need to launch your product quickly…before it’s perfect and before you think it’s ready. Getting your software into the hands of real users lets you start a feedback loop and evolve the product more responsively. Start with the minimum product that will be useful and add value. Then use the feedback to get the insights to create something great. Customers will tell you how to make it better and you can scale up as you go.
This product-minded approach isn’t just for software. It works for all kinds of experiences you may be developing for customers and other stakeholders, whether it’s an annual conference or a new location. After all, graceful adaption to change is critical for every business: of the original members of the Fortune 500 in 1955, only 12 percent remain.
But software is a good place to start. By eliminating bad software wherever you find it, you’ll not only help rid the world of a dangerous phenomenon, you’ll give your own business the best chance of avoiding extinction.