Consumer software that’s now running millions of iPhones and iPads has combined with friendly, frustration-free software powering thousands of consumer-friendly websites to create a new standard by which enterprise software is perceived. Thanks to Apple and others, users expect to fall in love with new applications, which don’t just meet expectations; they blow them out of the water in every possible way.
So how does enterprise software development stack up? About as well as a porcupine resting on a plate of Jello. To meet users’ constant demands for new applications and services, many companies today rely on offshore, legacy outsourcing partners for software development. The goal of these outsourced relationships is to rapidly deliver high-quality, reasonably priced software that turns users into raving fans. It’s an ambitious model that rarely works.
Outsourcing has increasingly resulted in delivering less for more—especially when usability, code quality, and software flexibility are critical to your business success. The dominant hourly billing models employed by most outsourcers has also resulted in absolving outsourcers from risk, placing the burden of failure squarely on your shoulders. Worse, outsourcing weakens internal development teams, diminishing their ability to execute with maximum skill, agility, and speed.
Clearly, software development outsourcing needs a radical makeover. But where do we start? Fortunately, some key elements have converged to create a compelling alternative to traditional outsourcing, including:
1. The rise of Lean-Agile software methods
2. Devops and continuous delivery automation
3. On-demand cloud development platforms
4. Global Agile engineering talent networks
My next series of posts will discuss the alternatives to outsourcing. The result of this convergence encourages talented software designers and engineers to work within a collaborative model—one that delivers profitable software while making in-house development teams stronger, faster and more nimble.