The Jobsity Guide to Building Distributed Teams Through Staff Augmentation
Everything you need to know about staff augmentation with distributed teams - the no-brainer choice over traditional software development outsourcing:
Why the traditional software outsourcing model causes so many headaches
How staff augmentation with agile teams gives you better control and better outcomes
The advantages of nearshoring vs offshoring for software development
Criteria for evaluating staff augmentation vendors
Avoiding the most common mistakes
Setting up your contracts for success
1. Professional services software outsourcing: why the traditional model causes so many headaches
Professional services outsourcing - where it all began
(And where many are still stuck today)
When companies first began developing digital products a couple of decades back, the primary affordable alternative to hiring in-house developers was to outsource the whole development project to an offshore team.
Companies on a limited budget took advantage of the dramatically lower costs for professional services outsourcing companies based in India, China or Eastern Europe. The entire outsourcing strategy was one of cost-saving, which in so many cases is actually the least strategic way of thinking about your primary goals and objectives.
The basic business model goes like this: A team selected by your chosen contractor -- often a US liaison -- would be overseen by their offshore project leader as they built out the software to your requirements and specs. You communicate periodically with the liaison on meeting your requirements but you have no contact with the team members.
Professional services contractors provide defined deliverables at the end of the contract, such as:
Major IT implementation, such as an ERP system
Merger / Acquisition
Migrating the entire company to a new version of Windows
Performing a review of systems architecture, pointing out where the company is at risk
Professional services are usually all-inclusive. They provide you with the whole finished product and help oversee its implementation.
The many downsides of Professional Services outsourcing
Lack of project control means a leap of blind faith. Professional Services outsourcing as a business model requires that both administrative support and team management be entrusted to a remote team with a remote manager directing the entire process. This means sometimes that miscommunication can take you far off course.
One of the biggest risks with this model is quality. A huge issue when outsourcing overseas is quality control. You might not have any control on who works on your projects, how it is coded and how well it is done until after the fact since it is a drop and wait process.
The waterfall development approach is still used by many professional services outsource firms.
Even as the Agile and Scrum frameworks for software development have become standard among most developers worldwide, it is still considerably less agile when applied in offshore professional services contract situations. Many continue to use the older “waterfall” framework that has earned such a bad reputation by now.
Not enough transparency to assure successful product or timely delivery of components. The process can be opaque: the provider may or may not be using a project management framework consistent with your organization. There is often little transparency about internal workflows, and you can’t control whether they’re using Waterfall, Scrum, Agile, or some other development framework. Your contract for professional services only gets you a finished product which, by the time it arrives, may or may not have been built to be responsive to your evolving company and users.
Where to outsource? Another set of seemingly bad choices
Location matters - a lot. Issues with oversight, client priorities and time differences can all contribute to disjointed development resulting in poor quality, rewrites, and delays.
India or East Asia have been the most popular offshoring locations. Because of the time difference (half a day or more depending on where you outsource), you are limited in most cases to sending a task or project with your requirements and then must wait for the results which, if not done right, could lead to rewrites and fixes. Collaboration in real time is extremely limited: distance considerably reduces their ability to respond quickly to customer requests and changes to priorities.
The majority of outsourcing firms, regardless of their location, provide development teams in the form of professional services contracts, with shifting staff that may be assigned to more than one client’s product at a time.
As a full service package, even the more affordable offshore contract carries the cost charges for the external manager’s time as well as ongoing risks of delays in implementation.
For a detailed analysis of the relative risks and rewards of using an in-house development team vs outsourcing or freelancers, go here.
2. More Control, better outcomes with a staff augmentation model.
Staff augmentation is generally defined as IT employees who support projects, build products, or service regular IT needs. These workers may be offsite in distributed teams, but they are overseen by (and accountable to) existing department management within your company.
High demand and turnover rates for US programmers makes this more cost effective than hiring in-house. Staff augmentation is a great alternative because you retain better control over your own production schedule by being able to manage your own team.
Augmentation staff are already pre-trained in the languages and technologies you need for your type of software product.
Staff augmentation contractors are essentially staffing agencies that do all the work for you of recruiting, training and validating the coding experience and skills required for your particular software product and the markets it’s designed for. Since “app development” encompasses such a wide-range of product types, this is especially important and useful, saving you the trouble and expense of shopping for pre-qualified candidates, or training them up.
Qualified coders who are yours, and yours alone.
The staff augmentation model provides you with a ready-made developer staff with the right mix of skills, working in agile teams under your direction. These distributed teams are dedicated 100% to a single client, for however many months or years you need them. Billing, HR management and staffing oversight are handled by the staffing firm under a single, long term contract that entitles you to an appropriately skilled, fully staffed team that can scale up quickly as your needs evolve.
You stay in the driver’s seat.
You direct the development process, manage your virtual scrum board, and communicate directly with the software coders for requirement specifications on a weekly or even daily basis -- no filtering requests through management, no waiting for responses to trickle back, and way fewer frustrations.
See a detailed comparison of staff augmentation vs. professional services.
3. The advantages of nearshoring vs offshoring for software development
Time differences are negligible.
It makes sense, when at all possible, to work with a development team whose business day more or less corresponds with your own. Responsiveness rates are better, and there’s more opportunity for real time collaboration. If your office is in Northern Europe, for instance, you might consider nearshoring a team in Eastern Europe. If your office is in North America, your best bet may be to look at South America, for reasons explained below.
Cultural & communications barriers disappear.
Another benefit to nearshoring vs. offshoring is the lower degree of “foreignness” between you and your contractors. With traditional offshore arrangements, a local liaison based nearby may have English as their second language, and you can’t reliably talk with anyone on your team. Besides the ESL issue, heavy foreign accents can also be a barrier to English communication.
Cultural differences can present their own obstacles. Social norms that require seeming assent so as not to offend can result in nasty surprises when requirements aren’t met on time. Idioms and phrases can be mistranslated or have different meanings, and the relative daily pace of work can also differ.
Though offshoring may seem cheaper at first glance, nearshoring offers you better communications, cultural affinity, proximity to your partner and more control overall. These are critical aspects that can make the difference between success and failure, and save you money in the long run.
South America hits the sweet spot for North American companies.
Many North American executives and managers are surprised to learn that there are thriving hubs of talented engineers and developers in major cities in the northern areas of South America, reachable within a 4-hour flight from southern parts of the US like Houston, Atlanta and Miami. Colombia and Ecuador are especially notable as tech industry centers.
These “Silicon Vallecitos” are full of savvy software professionals who speak perfect English, and who share the same work ethics, habits and cultural norms and affinities as their engineering peers to the north. Costs may not be as low as with distant offshore companies, but they’re still priced lower than what North American firms typically charge.
Better yet, many of those firms (such as Jobsity), also use the Staff Augmentation business model, so that you can closely collaborate and direct your development work with friendly engineers who speak and think in the same spoken and programming languages as you.
In short, nearshoring solves all those offshoring problems we described above.
4. Criteria for evaluating staffing vendors
Now that you understand the advantages of nearshoring vs. offshoring, and staff augmentation vs. professional services, there’s still the matter of selecting the right partner.
How do you find a great staff augmentation partner?
Initial Research and Screening
Find a provider with a proven track record of delivering projects in the same technology as your project requires. Make a list of three most important technologies for your project and ask about their experience in them.
Beware of vendors saying that they have experience in almost every available technology and programming language - this indicates a likely lesser level of real expertise, and probably some high turnover rates.
Narrowing Your Selections
Once you’ve identified some likely candidates to interview, it’s time to contact them for more information.
1. In general, you should conduct the evaluation from four key perspectives:
experience working on a similar project
ability to scale quickly
quality of their internal processes
2. Make sure that the vendor has experience within your field. Your partner should have knowledge of your field or at least have worked for companies from your industry.
3. Longevity and Loyalty speak volumes.
Ask about the average time-span of a client relationship and if their clients return to them. It is important to know if the vendor is able to build long-term relationships. Being a trusted vendor means being able to serve clients for a long time.
4. Make sure you are getting a DEDICATED TEAM.
Ask if they hire freelancers or part-time remote personnel. If yes, then what's the ratio of full-time employees to remote part-time staff? Remember – what you want as a buyer is to have full-time developers working exclusively on your project. Preferably, your project team/teams should consist of full-time personnel and be co-located in one room allowing you effective communication with your team. Make sure that members of such a team are focused on your project only and won’t be involved in any other parallel operations.
5. Ask them about team consistency & turnover rates.
Ask the vendor about their turnover rates. What kind of assurance can they give you that those who started the project won’t be replaced at some point? Will you be able to approve the replacement? A high turnover rate can cause multiple problems, including the cost of ramping up new staff, and risks of misunderstandings or errors when tasks are reassigned.
6. Find out whether they do any internal staff training to broaden or improve skills.
A program for internal staff development to refine coding proficiency, learn new languages and broaden coding management skills indicates a staff augmentation firm that is clearly dedicated to turning out an excellent work product as well as the ability to quickly scale up when needed. At Jobsity, we operate a year-round internal training program in our in-house classroom.
7. Ask about their internal process.
The right process can maximize team efficiency and an overall business value of a project. Choose a company with a well established set of processes. Beware of vendors that want to
keep you out of their internal process for assigning tasks, quality control, etc. Try to get as much information as possible about their process.
8. Ask how many employees are occupying Agile-related positions.
Unlike in the Waterfall approach, where software is delivered all at once, a vendor who uses Agile principles will deliver visible software increments at the end of every sprint, which significantly minimizes project risk. Your software will grow progressively from an MVP to a fully featured product and you will only pay for work that is actually necessary and done.
9. Require assurance of scalability.
Make sure that your vendor has invested in proven methodologies and strategies for quick reaction times if you need to quickly scale your team up or down. Ask about team scaling and how fast they are able to set up an additional team.
Go here to see more questions to add to your interview checklist.
Once your interview has enabled you to narrow choices to two or three top picks, it’s time to check references.
Ask for two to three references from recent or ongoing clients with requirements similar to yours. Besides asking the usual questions about work quality, timeliness and general performance questions, prod them to learn what else they can tell you about the firm’s reputation. You want to find out what is in their “secret sauce” that gives them an edge -- does the firm have a special reputation for something, or offer unique perks to attract the top developers in their region?
5. Before You Sign: Avoiding The Most Common Mistakes
Ensure there’s transparency.
It is important that the selected vendor demonstrates a win-win mentality and works side by side with your in-house team, sharing their goals and vision. As you negotiate your contract, make sure to require full transparency of the project, including the work schedule and the details of which developer is assigned to create which features.
As a client you should be provided with live access to the scrum board and the time tracking application, and you should be able to maintain full control over the whole team and the project.
Beware of hidden fee escalations.
Some less scrupulous vendors present a low price just to start the cooperation, but later, as the project goes on, additional fees start to appear. In many cases these situations lead to the client being pushed to make a tough choice, whether to pay more in order to finish a delayed project or to change the vendor and start all over again.
Most engagements are for one year or longer, often stretching into longer term arrangements over the course of your app development work. Understanding all your different options and potential charges before selecting a vendor will save you entering into an unhappy long-term partnership.
Get a test drive.
The success of the project starts by selecting the right people. If there’s a mismatch at the very beginning in terms of team members’ skill level, team size and vendor scalability, the project is unlikely to achieve the expected results no matter what the communication process. Also communication problems may not be evident at first.
It’s therefore sometimes a smart idea to use a small trial project to test how closely the deliverables match your requirements.
6. Setting up your contracts for success
Ensure your legal rights.
There are certain essential rights that you as a client must retain for yourself when contracting with any development staffing firm. The most important, non-negotiable things for your contract agreement include the following:
Intellectual property rights ownership – make sure that your company will be the sole owner of all intellectual property rights associated with your project.
Copyrights – this should be a separate part of the agreement that specifically assigns the copyrights of the software source code to your company.
Non-Disclosure Obligations – define all proprietary & confidential information and specify the length of the NDA.
Establish a common toolset.
Let everybody know which tools will be used for each aspect of the project’s work. With so many different tools available nowadays, establishing a common toolset will help you to avoid informational chaos, which can save you a lot of trouble.
The essential list of tools should include at least:
Main project management tools
Communication tools (IMs, chats, etc.)
Bug tracking and issue tracking software
Document collaboration software
Code review system & QA protocol
Version control system & release management
Set up a good documentation system.
Keeping the essential documentation up to date and available for all team members can help you avoid many unnecessary and costly misunderstandings. Make sure that user stories, case diagrams, task-boards, charts and backlogs are available for all team members and shared across every location.
Visit their offices.
There’s nothing more insightful than an in-person visit to the vendor’s establishment. An honest provider will have nothing against that; in fact, they should encourage you to visit. A visit will not only help you to build a relationship with your potential team members but also give you great insight into the vendor’s operations.
During the visit you should pay close attention and ask them:
What their daily scrum ceremonies look like
How the daily calls are performed
What is the typical team set-up
Whether every team is located in its own room or is sitting in a call-center open space
Don’t make the visit just about meeting with high level executives; get a tour to see how it is done in the trenches, and meet the people who are actually doing the client work.
This is why Jobsity invites clients entering into 12-month+ agreements to visit our offices in Colombia or Ecuador, at our expense.
You can see several more ways to extract maximum value from your contracts here.
STAFF AUGMENTATION WITH JOBSITY
We are a nearshore staff augmentation firm that trains and vets top developers in Latin America, supplying US companies with the talent they need. Clients value our proprietary four-step hiring process for vetting all applicants. This process measures both technical and “soft” skills, including communication and emotional acuity. Every employee must be proficient in writing and speaking English. Most importantly, each candidate must be able to demonstrate they have what it takes to deliver exceptional solutions for our clients while fitting into our company culture.
Upon engagement, you get the opportunity to select your fully dedicated team members from our staff of > 70 developers, and immediately tap into their expertise with whatever programming languages, frameworks or technologies your application requires. If you're interested in talking about a distributed team structure customized to your requirements, give us a call at +1-646-470-9816, email us at firstname.lastname@example.org, or use our contact form to tell us what you're looking for and we'll contact you.