Friday, June 27, 2008

Freelancers vs a Team?

We have worked with a few clients who came to us after having bad experiences with their freelance developers. The common thread of all these bad experiences is one thing- lack of proffesionalism on the part of the freelancers. Don't get me wrong, some of these freelancers are technically good. In all cases, the motivation to hire freelance developers are usally is to save money. However, the savings become illusive when the projects start to go south. By the time we come into the picture, it becomes tricky for us to help. Sometimes we find the work done so far by the freelancer is missing things that the client thought already done. Sometimes quality of work such that it may make sense to start from scratch. It is financially as well as physcolgically difficult for the client to receive this meesage.

Why freelancer does not work for software development. No offense to all freelancers out there, software development projects are not suitable for freelancing. Software development is a team work, and must be done by two or more people. We developers are bad when it comes to following best practices on our won. We tend to fall prey to our own vices. But when we work in a team environment, that forces us to follow a structure and best practices, whether we like it or not. Besides, when there is an extra pair of eyes, design and quality of implementation tend to be better just by having different perspectives. It also provides the needed check and balance.

Checklist to help determine freelancer vs company. I have made a checklist for those who are thinking of outsourcing software development projects to help determine the right approach.
  • My project is critical to my business success.

  • I have a budget > $5000.

  • I know what I want at a high level, but not sure about the detailed features of the software.

  • I do not have experience managing software project.

  • I do not have a high level understanding of technology involved.

  • I do not have experience with the business domain.

If one or more of these are applicable to you, you should consider hiring a company. The reasons should be self-explanatory. Next time I'll share another checklist to help with selecting a software development company.