Several times a year, people I know ask me if I ever thought about buying real estate. I always tell them that to do that is a full time job, requiring full time focus, and there are companies out there who do that for a living 100% of their day.
In any business, venturing out of your core competency is risky.
Far too often I see real estate companies make this mistake when it comes to making software decisions, namely, buy versus build decisions. When there is already an existing product available, it makes virtually no sense to build. This is a position I feel extremely strongly about and something that experience has repeatedly taught me.
Speaking from experience:
- Everybody, including most software engineers, underestimates what it takes to develop software correctly...it is extremely difficult;
- The longer it takes to develop and deploy, the more your business suffers; Don’t stray from your core expertise, you will have a high risk of failure;
- For the most part, software people want to develop software even when it can be purchased;
- The first time around for anything is never close to being as best as it can be…your first times are used for learning;
- Developing software in general has a high risk of failure;
- Documentation is oftentimes not written, but is critical to the ongoing success of any project;
- When developing software, even software companies buy as many off-the-shelf components as possible rather than build them. It quickens time to market, reduces the number of employees and areas of expertise needed, and provides continuous improvement in those components;
- Competition drives greatness and improvement; a software product company needs to keep on improving to succeed. When you build internally, there is no competition, thus your custom-builds will stagnate and quickly become outdated;
- A product that is used by your peers gets influenced by the experience of your peers; a software solution built internally is all alone and doesn’t benefit from anyone else’s intelligence;
- Software engineers are in high demand and change jobs often. Do you want more employees or less?
- What happens when you’re software engineers leave, does the knowledge go with them? Who retrains the new hires on the program? Even with detailed and clear documentation, challenges remain and the business is affected;
- Buying and implementing an existing application is a lot faster and cheaper than building one…Starting from scratch means business requirements take a long time, developing the database schema and structures demands lots of internal high level business resources, and thinking of reports from a blank slate is always harder than configuring existing ones;
- Software, like any business, is complex, changing and requires full time focus.
The next time you think about hiring programmers or software consultants, ask yourself a couple of questions “Does this piece of software already exist”; if it does, “Is the software dedicated to real estate”, and then finally, “Does that vendor have satisfied clients”. If the answers are yes, don’t build.