Home > Blogs > Are We a Software Company?

Are We a Software Company?

Particularly for small, startup organizations, it is important to come to grips with who you really are. From my perspective, too many startups see themselves as software companies, or end up accidentally becoming software companies, and this can get them into serious trouble.

It is the nature of startups to take an interesting idea, one that can turn a market on its head, and push to change the landscape in their sector. This is where innovation often comes from, and in regions such as the Vancouver area with few established head-offices, these small businesses dominate the landscape. Indeed, success is more likely seen as growing a new idea to the point where it can be sold for a quick profit, rather than growing and nurturing a business to become a strong, long-lasting entity.

This attitude tends to bias organizations toward a solution that is good enough to get them to that exit, rather than something that is sustainable for the long-term. It's all about eyeballs or seats, and the emphasis of cool features over sustainable implementation is apparent in the product's development. Being pushed in that direction by external funding often doesn't help the situation.

Unfortunately, this attitude hinders more companies than it helps. It is important to recognize that having a great, innovative idea is the critical essence of a successful company, and the fact that idea is implemented as a software solution should be considered as secondary. More companies should see themselves as providing a great service rather than providing a software solution, a distinction that needs to be made.

I would suggest that in general, whether right or wrong, the industry has evolved to the point where implementing something in software is seen as relatively trivial, particularly when the founders do not have the deep background to pull it off themselves. Hire a few developers with a little experience, listen to their promises that they can knock this off in a couple of months (has anyone ever stretched the truth or overestimated their capabilities to get hired?), and away we go.

Soon, the bulk of the founders' time has been diverted from that original differentiating idea to trying to wrangle the software out the door. As the emphasis has turned to the software side of the equation, the company has unconsciously become a software company: the vast majority of effort within the organization is then focused on an area that is outside the founder's area of expertise.

Building enterprise-class software is not something that "we just need to do". "Just", as Jerry Weinberg has said, is a lullaby word that can lull us into a false sense of security. The assumption that we can quickly assemble a few people together and build out our software product fails far more often than it works.

Consider the equivalent path for a great idea being implemented as a hardware solution. It would seem ludicrous for an entrepreneur to assemble a couple of hardware people for anything beyond the original proof of concept for the product. Even that, in most cases, would be outsourced to a shop that specializes in fabrication to build this prototype. To go to market, most people wouldn't even think of setting up a shop, they would head to someone that specializes in manufacturing to build up to the lot sizes they require. They would leave it to the professionals.

Yes, there are huge holes in the analogy between hardware manufacturing and software product development. The critical things that remain the same between these two, though, is the need to respect the importance of the delivered quality of the final product, and the track record and experience to be able to reliably deliver that quality.

If you have a background in this area of expertise, it may make sense for you to grow an internal team to develop the software. If there is expected to be significant evolution in the product over time that would necessitate internal ownership of the implementation, recognize that building out this capacity to develop and maintain a product may be outside your core competency, and hire accordingly. Recognize, though, that the true intellectual property that you need to manage is the idea and the analysis that generates the solution, not the code and data that manifests that solution. More can be outsourced than is often thought.

You may actually have a software product if you are selling to technologists, or if you are growing an organization where the core expertise is based on development of software products. If, however, your area of core expertise is outside of software and does not coincide with your primary source of focus (or pain), which is software, there is a disconnect that needs to be addressed. You need to bring focus back to where your strengths lie. Ask yourself if you are really providing a software solution, or more appropriately a solution that happens to be implemented in software.