Using software other people wrote is one of the most effective ways to quickly build a solid system. It should not be discouraged, but the risks associated with it must be examined. One of the biggest risks is the period of bugginess and near inoperability that is often associated with software before it matures, through usage, into a usable product. Before you consider integrating with a software system, whether created in house or by a third party, it is very important to consider if it is really mature enough to be used. Here are ten questions you should ask yourself about it:
- Is it vapour? (Promises are very immature).
- Is there an accessible body of lore about the software?
- Are you the first user?
- Is there a strong incentive for continuation?
- Has it had a maintenance effort?
- Will it survive defection of the current maintainers?
- Is there a seasoned alternative at least half as good?
- Is it known to your tribe or company?
- Is it desirable to your tribe or company?
- Can you hire people to work on it even if it is bad?
A little consideration of these criteria demonstrates the great value of well-established free software and open-source software in reducing risk to the entrepreneur.