Apps and Cloud Services: 10 Keys to Success When Working with Contractors
Done properly, releasing an app or cloud service can enable your business to scale quickly, increase revenue, and decrease costs. Developing an app or cloud service can also be a tremendous drain on resources with little or no benefit to your business. Below are 10 keys to success when working with contractors to develop an app or cloud service:
- Hire professionals with a track record of success. Make sure that the developers you hire have a history of successfully delivering projects similar to yours. Past success is not a guarantee of future performance, but a lack of demonstrable past success is a pretty good indicator of future troubles.
- Document your relationship with a software development agreement. A well-drafted software development agreement will establish a solid foundation for your project and protect your investment. The agreement should be specific to software development, should document all of both parties’ expectations for the project, and should be written in language that is clear and understandable.
- Make sure you will own what you are paying for. In the world of software and intellectual property, just because you pay for something does not mean that you have unlimited rights to do with it as you please. Additionally, “open source” does not mean use it as you like with no limitations. If you are not familiar with the ins-and-outs of software and intellectual property licensing, consult with an attorney who is. A quick review by an attorney is inexpensive compared to finding out after the fact that your entire investment is wasted because you do not have the right to use the software as you intend.
- Structure your software development agreement for joint success. Paying by the hour is not the only way to go. Consider structuring your software development agreement with progress payments, milestone success payments, revenue sharing, cost recovery sharing, or other alternative fee arrangements as opposed to traditional hourly fees. Structured properly, alternative fee arrangements can align the developer’s objectives with yours and lead to improved outcomes.
- Protect your competitive advantage. A software developer will reuse portions of past work the same way a writer reuses phrases and analogies. Make sure that you are aware of any restrictions on your developer’s re-use of previous work. Also, ensure that you can prevent your developer from reusing any portions of your project that provide you with a competitive advantage. If you are not sure how to protect your competitive advantage, consult an attorney who can help you do so.
- Stay involved in the development process. Treating a software development project as a hands-off black box is a recipe for disaster. Be sure to build milestone reviews into your software development agreement during which you review prototypes and features and chart progress towards your business case.
- Keep your code in a safe place. Even the most robust of hardware environments and the best business relationships can fail, leaving you without the code you paid your hard-earned money for. Take advantage of a software repository such as GitHub, BitBucket, CloudForge, and SourceForge. Software repositories are generally inexpensive, reliable, and easy to use. Ensure that your software development agreement requires your developer to keep the latest versions of source code (the format in which developers write code) and executable code (compiled code that is actually used to run programs) and backup copies of data in a repository where you own the account. Grant the developer administrative rights to the repository that you can revoke if needed.
- Keep the keys to the kingdom. Domain names, hosting accounts, software licenses, code, and databases are the keys to your digital kingdom. Make sure that all domain names, accounts, and software licenses are in your name and billed to you and not in the name of the developer or some other third party. If there is a dispute or change in the business relationship or the developer files for bankruptcy, you do not want access to your accounts or ownership of the URLs or software to become something you have to negotiate.
- Focus early on privacy and information security. Depending upon the data you collect about people, how you use the data, and where your servers and users are located, a whole myriad of privacy and data security laws and regulations may apply to your business. Before you finalize your project design, conduct a thorough review of your privacy obligations, starting with an analysis of what data you will collect, from whom, and where. Once you have that information gathered, you can consult with an attorney to see what laws and regulations apply and therefore what measures you must take to avoid unnecessary liability.business. Map out where and how you are going to conduct business and consult a lawyer or accountant who is familiar with sales tax to determine where you need to collect sales tax.
- Don’t be taken down by the tax collector. If you are collecting funds or selling anything, review the sales and use tax requirements in each jurisdiction (country, state, and province) to which you contemplate selling. Remote seller laws in the United States and Europe are becoming less and less favorable to sellers. As a result, many businesses must collect sales tax in places where they would previously have been exempt. The penalties for failure to collect sales tax in jurisdictions where the law requires you to do so can cost you your business. Map out where and how you are going to conduct business and consult a lawyer or accountant who is familiar with sales tax to determine where you need to collect sales tax.
* The information contained in this post has been prepared by Warshawsky Seltzer for informational purposes only and is not legal advice. It is provided only as general information which may or may not reflect the most current legal developments. This information is not provided in the course of, and receipt of it does not constitute, an attorney-client relationship, and it does not substitute for obtaining legal advice from an attorney licensed in your state. Legal advice should take into account the specific facts of your situation, and you should not draw any particular conclusions from the information presented here. You should seek professional legal counsel before acting upon any of the information presented here.
© 2017 Kirk Howell