It’s end of the week, which means it’s time for Freelancer Friday. When it comes to working on client projects I’ve worked on applications ranging from apps that I could build in a few days to applications that have taken over a year of development time and involved over a dozen different developers. So what the best way to work with outsource web developers? Whenever I have a large project that requires a development team that I need to bring onboard it presents a series of challenges, such as: do the programmers specialize in the features that need to be built out, will bringing on other developers allow the project to stay on budget, how can I make sure that the code quality meets the client expectations?
I could pretend that the outsource web developers I’ve worked with were managed properly for every project, but that would be a horrible lie. In fact I got the idea for this post based on the many times that I’ve had poor experiences managing development teams.
Based on my mixed experiences in managing outsource web developers, I’ve built the following system for ensuring that I have picked the right set of developers and that they are producing code that will help make clients happy.
System for Managing Outsource Web Developers
- Automated testing – whether you working by yourself or with outsourced developers it’s vital that you use automated testing. This can include behavior driven development or unit testing. However this process will help to ensure that all of the features of an application are working and also that new features do not break pre-existing functionality.
- Daily Reports – depending on the situation that you have with your clients, it’s important that you receive daily reports on the development work performed for that day. If you’re not getting daily updates there is a good chance that no work was performed.
- Access to applications – If you happen to only be managing the application and not actually developing, make sure that you have proper access. This includes: command line database access, your public keys on the server that the application is being deployed on, and any error logging system such as HoneyBadger or AppSignal.
If you’re bringing on an outsourced development team it typically means that your time is limited, however if you follow these three steps it should help your project to be successful.
Some of the tools that I use to manage development teams are:
- Basecamp or Trello for project management
- Codeship for testing and project deployment
- Freshbooks for hourly bookkeeping