The heart of tech is coming to the heart of the Mediterranean. Join TNW in València this March 🇪🇸

This article was published on August 26, 2019

Software development is broken — here’s how to fix it

Software development is broken — here’s how to fix it
John Bates
Story by

John Bates

Director of Product Management, Adobe

John is responsible for Data Science, Machine Learning, Artificial Intelligence, Attribution and Customer Intelligence capabilities in Adobe John is responsible for Data Science, Machine Learning, Artificial Intelligence, Attribution and Customer Intelligence capabilities in Adobe Analytics Cloud. In addition, he is responsible for applications of Blockchain Technology for the Adobe Experience Cloud.

In the software industry, the product development cycle is broken. It’s costly. It’s laborious. And too often, product teams fail to meet their customers’ needs.

And this is especially true in the business-to-business market.

More than one in three “enterprise projects” — those solutions created for entire organizations, rather than individuals — come in over budget. Almost 40 percent take longer than estimated. And 35 percent miss customers’ expectations. 

Fortunately, there’s a simple solution to this widespread problem. Enterprise software brands can delight their clients, and reduce costly failures, by bringing customers into the development process much sooner. 

Too many of today’s enterprise brands spend millions — and take years — developing and testing products ad nauseum in a futile effort to achieve perfection prior to a product’s release. Other brands roll out final products too soon, without receiving enough customer input, and end up with something that doesn’t meet their customers’ needs.

Both these problems result from flaws in the product development cycle, which often takes place in linear steps. When utilizing this “waterfall approach,” developers complete one phase before moving onto the next.

First, they conduct market research and define a project’s scope and requirements to the engineering team. Then, they design the product and conduct extensive internal, or “alpha,” testing. Only at the very end of the process do they release the software to customers for “beta” testing. The end user — the customer — provides very little validation throughout most of the process.

This approach is predictable and orderly, since there are clear-cut deliverables at each stage. But it also wastes time and money. On average, it takes two years to deliver a new enterprise product to customers — and more than five years in some instances.

These delays create risk for enterprise brands. When a brand’s product development cycles last years, it gives rival companies an opportunity to release new innovations that steal market share.

This conventional waterfall approach doesn’t even guarantee the customer will be happy with the final product. In fact, 98 percent of projects don’t receive adequate amounts of customer feedback. And once a product is released, rolling out even minor tweaks and updates can be extremely costly.

Some design flaws are serious enough to destroy projects entirely. Consider Ford Motor Co.’s failed 2004 overhaul of its purchasing and procurement software. After five years of development, Ford’s “Everest” system turned out glitchy and poorly designed. Vendors didn’t find it useful.

The automaker might have avoided such problems if it asked for vendor feedback earlier in the process. Instead, the company was forced to abandon the project altogether, at a cost of $400 million.

Firms in other industries routinely solicit customer input early in their product development process. For instance, restaurants have soft openings for family and friends to improve their menus and iron out service challenges and logistical kinks. Car companies get experts to test drive their cars before releasing the final models.

Enterprise brands can do the same by inviting customers to sample unfinished products. This way, software developers can work side-by-side with their customers to refine products before the big release. Letting customers provide feedback early on can cut the length of the development process in half, according to internal data I have access to here at Adobe.

Consider Strava Labs. The company launched “Project KUDOS,” which lets customers test out unfinished side projects. If customers respond positively to those budding ideas, Strava devotes more resources to the products to refine and scale them. Initiatives like this have helped the Strava grow exponentially in recent years.

Inviting customers into the innovation process can also improve customer relationships. It makes customers feel heard as they provide continuous feedback — ensuring technical excellence and product value realization. It can also work as a marketing tool by generating excitement and publicity around new products.

This so-called agile development approach offers clear advantages over the traditional waterfall approach. It often takes just weeks or months to deliver prototype software to clients, who can then beta-test it and provide valuable feedback that leads to an excellent final product in a much shorter timeframe. The agile approach is also more flexible — developers understand and expect that the scope of projects will change based on customers’ needs. 

The agile development approach is particularly well suited to products that utilize artificial intelligence and machine learning. Enterprise software developers can roll out AI-powered prototypes to customers, test them within hours or days, and quickly refine and improve the products based on the customer’s user experience.

The traditional development cycle is broken. More than 40 percent of multi-year development projects fail. It’d be wise for enterprise brands to stop pouring time and money into this approach, and instead seek customers’ input and feedback much sooner.

Get the TNW newsletter

Get the most important tech news in your inbox each week.

Also tagged with