"Nobody wants ¼-inch drill bits," a marketing professor once told me. "People want ¼-inch holes." I’ll never forget those words. I use them as a reminder that I shouldn’t be selling my customers what I have, but providing them with what they need and want. A few years back, I lost a bid to a competitor because the client wanted one-stop shopping. It wasn’t enough to develop a great website for them. They wanted it built, hosted, monitored, maintained, updated, and scaled. We didn’t have a data center and didn’t want to get into the data center business, so instead, I pitched a proposal where we developed the software and they’d contract with a cloud provider for the hosting. It was a less expensive option for the customer and gave them full control, but it wasn’t what they wanted. They didn’t just need a website, they needed a broad solution and our competition did a better job of delivering it. Looking back, it was short-sighted on my part and the loss of that contract began shaping the approach to software development that I have today.

Today, we don’t sell software; we sell long-term relationships to handle our clients’ system needs. Unlike software applications, these system needs don’t have a completion date. Once initial delivery of the software is made, there’s a new feature, a next project, a new requirement that needs to be addressed. Businesses have to constantly adjust and evolve, and so do their systems. The systems need to be up and running and handle whatever’s thrown at them, and that requires proactive monitoring and scaling. Delivering software to the cloud, usually Microsoft Azure in our case, gave us the capabilities we previously lacked. Hosting, monitoring, scaling, updates, and new features are all now part of the products we offer. It’s good for our customers because they’re purchasing a solution where they don’t have to worry about all the care and feeding of the solution, which frees them up to concentrate on whatever they do best. It’s good for us because we have a steadier revenue stream, recurring revenue, and new sources of revenue.

These new capabilities have fundamentally changed our understanding of what we do. Certainly, many new customers come to us looking for us to write software, but that’s becoming an outdated notion. Upon further discussion with our customers, the appeal of purchasing a solution including much more than software becomes apparent. The idea of getting out of the IT business is appealing to more companies and, in addition to the shedding of some headaches, the savings it can offer is a powerful motivator.

I wish that I’d been pro-active in seeing and capitalizing on this trend, but as is often the case, I had to learn from a mistake. In my experience, anyone who tells you that they know the future is selling you a guess. What looks like predicting the future of business is often just an early exposure to new needs and sometimes just plain luck. The key to staying successful and adapting to the future is to keep re-evaluating the needs of your clients and your own notions of how to deliver those needs. We don’t have to be geniuses to thrive in the software business, but we do have to be smart enough to see what’s going on around us and eventually adapt. If the past several years are any indicator, there’s a steady trend away from delivering software to a customer for them to run, and toward delivering on-going services to help them meet their needs. Today’s product is a more comprehensive set of services that continually evolve and grow at a fast pace.

The way to thrive today is to take the long view of system development. No matter how good the software is that you deliver, it’s not enough. You have to develop it faster and less expensively, you have to involve the customer throughout the process and allow them to steer the process based on their ever-changing priorities. You have to deliver wins early and often. Your customers can’t wait a year for a rollout with nothing to show in the meantime. And you have to consider your product to be whatever aspects of the solution your clients need it to be. Finally, you have to treat the solution as an on-going process, not a project with start and end dates. The software will need a face-lift eventually and that needs to be planned for so that it’s easy to do. New features will be added. New platforms will be supported. Behavior will change. New technologies will be incorporated. The companies that understand this and can convey it to their clients are thriving and their clients are thriving. The companies delivering the same product they sold 15 years ago are fading away.

Take the long view of the software development business. Reconsider what it is you have to offer. Learn new things and offer more and your business will thrive. Deliver ¼-inch holes, not drill bits.