Staff Augmentation is when some external staff is seamlessly added to your existing team. It's ideal for the times when you need some extra help.
One of the biggest advantages of staff augmentation is that you remain in control of your software development process. New developers just follow the process you already have. They get invited to all your ceremonies and existing meetings like standups, sprint plannings, retrospectives, etc. It allows you to continue taking advantage of the processes you already have by rinse repeating what works for your team.
Additional resources can be added as you need it. The goal of staff augmentation is to provide extra resources quickly instead of having positions open for a while. Staff augmentation arrangements usually come in the form of a contract as opposed to an employment relationship that has multiple advantages. In case if the candidate doesn't work out, granted the candidate was hired using a solid contracting firm, the firm can arrange a replacement. Worth noting that doing so with full time employees is more complicated because of the local employment laws.
Software developers who work in staff augmentation are usually very skilled. They are professionally trained to be productive and make an impact from day one. They've been on multiple projects and they can bring their expertise to your project. Needless to say, to be successful at staff augmentation you need to be a top-level player. It takes some skills to be productive in any environment quickly.
Adding new team members on the team can bring some additional skills that you may not yet have. For instance, if you add someone skilled at Front End development when your internal expertise is on the Back End allows you to establish some best practices with the new technology in house. It's also a great opportunity to have your existing team learn from the experience of some new team members who delivered several production grade projects with new technology.
Nothing is perfect, staff augmentation also has some disadvantages. That said, most of the disadvantages can be addressed by following some engineering best practices.
Making sure that your institutional knowledge stays withing the core in-house team is key. The work performed by contractors needs to follow the regular process. Several industry-proven strategies help to retain your knowledge:
Making sure that your team members review each other's code has several advantages. It increases the collaboration between the team members and sparks conversations about some new ideas. Best of all, it helps the team to maintain and improve the code quality.
In addition to being able to run your automated tests to make sure the system works, tests are also your documentation. When written properly, it can tell you exactly how your system works. And better yet, green tests are the proof of it working as expected.
Last but not least, it's the documentation itself. Each modification to the existing architecture needs to be documented in the form of design documents and architectural diagrams.
When choosing your software development partner, it's important to make sure that your core values align with the partner's core values. If there is a misalignment, it can create some extra tension on the team. And when the values are aligned, it amplifies the advantages of both sides.
If you haven't hired any contractors in the past, it can be something new for you. Bringing new people on the project can seem like a challenging task at first. In practice, it's usually very straightforward. Firms specializing in staff augmentation have the process streamlined with an easy-to-understand contract and some highly skilled staff ready to make progress right away. At the end of the day, working together is a win-win situation for both parties. A great company will help you get through the process each step of the way.
Staff augmentation is a great way to add some extra horsepower to your team. New team members are professionally trained to hit the ground running quickly by working on your terms and following the existing processes. By following the best industry practices like automated testing, code reviews, and comprehensive documentation you're able to retain the knowledge within your in-house team. The arrangement is flexible where you can add people quickly and replace them in case someone doesn't work out.