The Danger of Tool-Centered Software Engineering

Saturday, November 1, 2014

Two decades ago folks in the software industry become fascinated by the concept of patterns. The thinking was that software engineers faced many challenges over and over again. If they could create a catalog of patterns (consisting of problems and recommended solutions) they could create better software solutions.

For a while, they were quite the rage. Not only did programmers come up with many patterns, they also analyzed anti-patterns. Anti-patterns are common (but poorly thought out) solutions to problems.

Despite all the research and writing on solutions (both good and bad), I still keep seeing people choosing the wrong approaches to solving common problems. Take for example a recent startup here in Palm Beach County, Florida.

The technical staff picked the tools they wanted to use. Then they developed their software application using libraries and frameworks that most interested them. Only when the product was complete, did they march off to demo their solution to their potential customers.

The result was a serious lack of interest on the part of the very folks whom the startup needed to impress most of all: the people in a position to buy. By focusing on technology first, rather than on their customers first, the engineers had developed a solution that was a poor fit for their customers. The interface was cumbersome, the functionality provided minimal benefit and the visualization options were full of flash but lacking in utility. The product was an instant flop and represented a whole lot of wasted time and effort.

The cause was clear. Despite the fact that its customers' needs were relatively straightforward to build, the team had never bothered to understand their customers' pain points. Doing so would have precluded their self-selected mission of building something cool. It's too bad that the only companies that became rich by making something cool were in the refrigeration industry.

When working with a software firm, always make sure that they are building a product for you and not for them. How do you do that? Well, start by contacting the right firm, like this software company near Boca Raton, Florida.