There are many different things to take into consideration when selecting a team for software development. For the past two years I have been developing my own QuickBooks Desktop application which helped teach me a lot about the whole process. While creating my minimum viable product (MVP) I utilized sites like Upwork and Freelancer to really get the ball rolling. While this was a cost-effective solution that helped me get started, I found that you need to find the right person who is willing to help you through the process when you do not even know what the right questions to ask are.
Here are some tips from lessons I learned the hard way:
Statement of Work
People are not kidding when they say that coding is a whole different language, but they are not just talking about the actual code, every aspect of communication is much more precise. Just like in accounting, scope creep (people always asking for just one more thing) is very common and I strongly recommend writing up a statement of work (SOW) to protect yourself and to protect your relationship with the developer.
Most likely you already have an idea for a design inside your head, help the developer understand your vision by sketching it out for them. I use a program MockFlow to create basic wire frames which can be linked between different wire frames so you can actually click on them and have the screen change like you want your app too.
Start with a small project whenever possible to test out the team’s responsiveness and ability to deliver on time. Schedule weekly meetings to keep your project as a focal point to maintain good momentum. At the same time, keep in mind that unless you are paying someone for 40 hours per week, they will be working on multiple projects at once.
Project Base vs. Hourly
I always started out on a project basis for a set amount of money, so I could learn how to communicate with the person or team while also evaluating their efficiency. After I felt comfortable with a team, I would convert to an hourly spend. If you are speaking with a team, always remember that there is a sales person with every team that is responsible for generating the revenue but may not actually understand the development process.
Small Deposit to Start
Deposits are OK but be mindful of your total spend versus your deliver. Right away you need to accept that what your budget for your project is, just double it immediately (both time and money).
Software Developers Like to Start from Scratch
It has been my experience that every time I would take a project from one developer to another, they always told me how bad the quality of work was and that I would need to start all over. Just remember that you are trying to build your MVP first!
It has taken me just over two years to bring my product, Vendorsync, to Beta phase, but it has been well worth it! I now have a local software developer who works in my office with me and has an equity stake in our project.
Loved the article, James. We also wrote a similar piece but in our article, we mentioned a few questions that are absolutely necessary to ask before hiring software developers or a development team. Give it a read!