Often IT professionals don’t see much of a difference between staff augmentation and software outsourcing when they are putting together development teams. Before I worked at Unosquare, I wasn’t really aware of the distinction and thought of them basically as synonyms. But now that I’m a Tech Lead, I’ve learned that there is a clear and important distinction between staff augmentation vs outsourcing and have come to understand why it’s vital that companies choose the right solution when getting started with remote team services.
In a series of earlier posts, our CEO, Giancarlo Di Vece, broke down the process for “Right-Sourcing” - finding the best external partner for your software development project. It’s a practical approach and an important first step in the process that I recommend reading if you’re considering using remote services. Whether you’re experienced in working with an outside development partner or it’s your first endeavor, the next step is to determine whether augmenting or outsourcing is the best way to attack your development.
Some decisions are easy. Use Agile? Of course, that should be a given. Ensure direct access to your developers? Vital. But the trickier question is: does your project call for augmenting your staff or outsourcing your development?
In this post, I’ll provide my definition of both approaches from a high level and then in my next post, I’ll deconstruct the pros and cons with some contemporary examples.
IT STAFF AUGMENTATION
IT Staff Augmentation is one of our strengths at Unosquare. We incorporate our skilled and experienced software engineers into existing teams to fill the need to have more resources working on active projects. Whether the goal is to reduce delivery time, reduce costs or to pull a team together quickly, our engineers complement and enhance the skills of existing teams with experience and proven results.
Maybe your team needs extra capacity to improve or maintain an already working software project or you are kicking off a new software product with a tight deadline. Or space constraints are limiting team size at your location. In any case, you should consider whether your team has the skill set and desire to work in an augmentation model. It is critically important that everyone is on board so that everyone feels like they are part of the team.
When you outsource a project, an experienced, external software engineering team will be directly handling and developing your technology needs without having members of your own staff dedicated to the team. Working this way your company sets the expectations of the project's delivery in terms of time, budget and quality, while liberating your own resources from project management, scrum meetings and performance reports.
There is a lot of trust placed in the outsourced team making it vitally important that you’ve chosen an experienced outsourcing partner who you can rely upon to bring your project across the finish line.
There are risks in both models, but also benefits to each approach. In my next post I’ll sort through the factors that help determine which service is the best fit for you.