Outsourcing a software development project can be a miracle that helps you avoid delivery delays, reduce costs, leverage new technology and scale up significantly faster than if you were using resources local. This can also be a complete disaster that leads to the failure of the project and an exaggerated budget. Two radically different results following the same process – how is this possible?
I have managed outsourced projects for a good part of my career. I've seen many of them turn into fantastic successes, and I've seen that some of them are going nowhere. I've observed the process from both sides: using outsourced development to accelerate my own projects, as well as providing product and project design and development services to clients. Over the years, I have learned that the following principles are critical to the successful outsourcing of software projects:
Have a local technical team in place. Or at least a CTO, CIO, or technical co-founder. This is the most important factor for the success of the project. If you do not have a technical team in place, however, it's good – read on.
Recognize your limits. If you are not technical enough and you do not have technical co-founder occupying a CTO or CIO position, do yourself a favor: instead of outsourcing, opt for a directed team. For your project to succeed, you need a project manager and a team of expert engineers who can work independently on your project, allowing you to continue to focus on others. urgent tasks that you have on hand.
For non-technical customers, directed teams are a blessing; they are able to take charge of the project, plan, design and execute with a minimum of customer supervision. The main mistake I've seen is that people believe they can manage an outsourced project themselves – even if they do it for the first time and that they also have a full-time job. Of course, statistically speaking, it is possible. But I prefer to put my money on a roulette table in Vegas and have a better chance of winning.
Let the developers do their work. I can not count how many times I have seen fantastic clients who wanted to do their best for the project by providing overly prescriptive recommendations to professional software engineers. The recommendations would include detailed descriptions of how a particular feature should be implemented, how to name the variables and in what specific format to store the data.
See where I'm going with this? There is no better way to drive developers crazy than by micromanaging them. Instead, do the sprint planning, assign tasks to the team, and check the results. This will save you a lot of time, as well as the mental health of developers.
Configure a calendar and a communication format. Daily statements are just great. Adding weekly TGIF meetings (thanks to God it's Friday) in the mix, as well as a meeting every month, will work wonders for your communication flow with the outsourced team. Use video conferencing software such as Zoom, Highfive, or GoToMeeting to organize video calls with remote developers and Slack for fast real-time chat. Emails are not ready yet, but I recommend using them primarily for time-sensitive communications.
Measure the speed of development. Do you feel that your outsourced project is moving too slowly? Well, a feeling is not something that is measurable. My recommendation is to use dots per sprints to measure velocity. In this way, you can easily assess speed differences between individual developers and understand if the project is evolving quickly enough, giving you a better chance of getting your deliveries on schedule.
Be careful. Last but not least, outsourced projects are always projects. They require your attention. I have seen clients who find themselves at the opposite of micromanagement, devoting almost no time to a project or abandoning it altogether. If the outsourced team asks you to approve UX or design a new feature in a few days, please do it. Otherwise, the development will be delayed and the speed of the sprint will be affected.
Having been on both sides of the table, I can absolutely assure you that following the above principles will greatly improve your chances of successfully outsourcing your project. The bottom line is that successful project outsourcing requires trust, ongoing communication, foresight and clear action. If you follow these simple guidelines, there is no reason that all your outsourcing projects can not look like happy miracles.
Disclosure: I currently run a software development company that, among other services, offers its clients the opportunity to integrate our software developers and engineers into their Agile (co-procurement) teams. If you would like to know more about how my company, distillery, can help you meet your outsourcing needs, please let us know .
Author: : Andrey Kudievskiy : CEO and founder, Andrey Kudievskiy began his career in technology at 39 age 19 while working on her degree in computer science. In five years, Andrey created his first company and played a key role in creating a cloud sync startup that was sold to a Fortune 500 company. Serial entrepreneur and talented developer he got is currently dedicating to allowing other entrepreneurs to start businesses and to continue the expansion of Distillery in the United States and abroad.