Software is everywhere. It’s in our coffee makers, cars, refrigerators, TVs, and toys. As a result, the average person interacts with hundreds of thousands of lines of code every day and the software development market is growing at a record pace.
Every company is building software these days, but are they building the right thing? Is it what the market needs? Is it what customers want?
Today we have the ability to execute and build software very quickly - but that isn’t the hard part. The hard part is building the right thing.
Software used to be delivered in an 18-month death march. Software developers worked in silos, executives worried about getting to market before their competitors, and project managers were stuck a special kind of hell. They had to coerce developers to code faster and cut out features, while at the same time begging management for more time and more money. When the product finally reached the market, it was often a dramatic failure because it neglected to meet customer needs, was full of extraneous features, and was not easy to use.
Now, agile practices - combined with cloud deployment - have significantly reduced the lead-time of shipping software: it can be 18 days rather than 18 months. However, just because you can go faster doesn't mean you're delivering anything that's useful, needed, or of value. Most organisations celebrate the 'fast' rather than celebrating the 'right.'
Are you losing sleep?
If you are responsible for a software product, you probably stay up at night worried about which features to leave in and which to cut out. Which features will customers use? Which do we have time, budget and resources to create? The development of unused features is the single biggest source of waste in the software industry.
The worst crime software developers commit is hiding the most useful features from customers in a forest of things they don’t want. Customers complain to support desks about functionality that doesn’t work, doesn’t exist, or that they cannot find.
The overload of features makes developing new capabilities even harder, which again frustrates developers... and on we go in a vicious cycle that ends with a competitor stealing your market share because its solution is cheaper, leaner, more elegantly designed and easier to use. But it doesn’t have to be this way.
How to build the right thing
Agile and lean development practices have disrupted this old model, empowering a new generation of developers, project managers and software companies to build the right things. Large enterprises are able to go to market faster with innovative products that the market truly needs and customers actually want.
But how? What is the one thing that feeds innovation? How do you keep the product lean?
The key to building the right thing is continual and constant customer feedback. It is the most important (and most often overlooked) step in the software delivery process. If you do nothing else, do this one thing.
Agile practices encourage us to test ideas quickly using tools like rapid prototyping, and to see products in their natural habitat - in our customer’s hands. This is how we know what to leave in and what to leave out.
Providing frequent demos to customers to validate decisions and to bring in the customer perspective are the secrets to building the right thing. Your customer might surprise you and say that you have enough value to release earlier than you had planned. Or they might tell you that the feature you deemed most important is not needed at all.
This is the goal of the “Agile” mindset: to remove waste by creating an organisation that focuses on understanding customers’ needs and meeting those needs quickly and creatively. This is why we’re in business after - to provide value to our customers.
Regular customer feedback will help you build it fast and build it right.
Anthony Farr is the regional vice president Australia and New Zealand of Rally Software