Choices, choices choices! In a world where personalization of goods and services is so prevalent, is it any wonder that you have options in your decision to pursue outsourced software development?
In this article, our outsourcing experts help you examine the benefits of Staff Augmentation versus Project Outsourcing.
Two Good Choices
To be clear, we aren’t telling you that Staff Augmentation is inherently superior to Project Outsourcing - or vice versa. Both methods have their unique merits. Both share many of the same benefits you get from software development outsourcing.
While details of your contracts may vary, Staff Augmentation relationships are designed to be a supplement to your existing staff. This means:
- You own the master work plan. You (or your designated project manager) is responsible for assigning tasks, establishing deadlines, and generally overseeing work of your contract programmer...just like your staff development team. The Staff Augmentation resources work the tasks you assign to them.
- You manage the budget. Usually a Staff Augmentation bills hourly and are “best effort”. There is no firm price-to-deliverable commitment. You make the assignment - and the contract programmer digs in and starts writing code. Be very conscious of cost-overruns to monitor whether actual time on a task exceeds your estimates. Rarely, if ever does a Staff Augmentation agreement place responsibility on the contractor to control time and cost overruns. Almost without exception - Staff Augmentation is “time and materials” - based pricing.
Why Would You Choose Staff Augmentation Over Software Outsourcing?
Here are some of the most common reasons our clients want Staff Augmentation:
- Niche expertise. Staff Augmentation is a great way to apply important, but highly unique expertise to your team. For example, Staff Augmentation is frequently used to bring in experts on emerging technologies or special skills.
- Knowledge transfer. If you have junior-level staff that you want to learn in an on-the-job situation, Staff Augmentation is a good strategy to expose your junior staff to contracted senior-level techs.
- Process Control. Does your company have rigorous or highly regulated processes around software development, data access, or production change control (e.g. HIPPA or ISO)? You can control all elements of your internal process better using Staff Augmentation versus Project Outsourcing.
- Control over team culture. Similar to process control, if there is a need to closely manage team members (staff or contractors) to maintain your work culture for the entire team, Staff Augmentation is a preferable approach for you.
- Rapidly changing staffing needs. Staff Augmentation is a good fit for situations where there is a large swing (up or down) in your need for outsourced software developers.
- Ease of use. Staff Augmentation is a very simple approach to adapt. Name your skillset, agree on a rate - and you’re off!
Managing Staff Augmentation
Staff Augmentation requires a different management approach vs software outsourcing. Here are a few distinctions you should pay attention to:
- Direct Oversight: Remember, unlike Project Outsourcing, YOU own all aspects of the the project plan and the budget. There is no “shared risk, shared reward” in the Staff Augmentation equation. You must directly oversee activity to ensure staff and contractors work together to deliver your company the right solution - on-time and on-budget.
- Task, Not Solution Focused. The contract programers are working on discrete assignments inside your work plan. Their mindset will be to engage to precisely and quickly fulfills the request given them. Sometimes, you may need to encourage the contractor to take a more consultative approach - probing deeper on your request, perhaps even challenging some of your assumptions!
- Costs are Linear. In Staff Augmentation, the price is a simple hours-times-rate formula. Your additive costs are linear. Therefore, if more time and effort is required due to missed estimates or scope change, it will be your responsibility to manage the budget implications.
Work with the best staff aug teams in the world. Accelerance Certified Partners are vetted on more than 500 outsourcing criteria.
With software development outsourcing, you hand off the development of an entire solution or major solution component to an outsourced team. Staff Augmentation USUALLY is priced at an hourly rate per-person. In contrast, we usually see Project Outsourcing priced in one of two ways:
- Blended Hourly Rate. In blended rates, technicians with differing profiles are work on the project on a common (“blended”) hourly rate. Rates can be blended by experience levels (Junior, Mid-Level, Senior), roles (Analyst, Architect, Web-Developer, Database Developer), or a combination of experience level and role.
- Fixed Price, Milestone based pricing. In this type of fee structure, invoicing is triggered when certain key milestones are met, such as the signoff of a deliverable. In short duration, strategy-type engagements, your outsourced team may charge a fixed price based on a time sequence: 50% upfront and 50% upon completion and signoff, for example. Change control is very important in large fixed price projects to govern alterations in scope or schedule, which usually translates into a change in fees.
Why Would You Choose Software Outsourcing Over Staff Augmentation?
Project Outsourcing makes sense for many companies in certain situations. In our experience, these are the most common circumstances to choose Project Outsourcing:
- Internal Staff Limitations. Companies don’t use Project Outsourcing just because their internal staff “can’t” do a project - maybe they “shouldn’t”. Your internal team may already committed to other important priorities. Project Outsourcing allow your staff to “stay on plan” while other strategic systems can be development by an outsourcing partner.
- Minimizes Management Overhead. If you choose Project Outsourcing, you are choosing a partner team. It is the vendor’s responsibility to oversee a workplan and manage a budget. They must do their own staffing plans.
- Adopt Best Practices: Project Outsourcing is a great way to leverage industry best practices by relying on a solution team that is already versed on those practices.For example, many companies have become acquainted with Agile or Devops by using Project Outsourcing to use these modern development methods for the first time.
- Economies of Scale. In contrast to the linear cost economics of Staff Augmentation, Project Outsourcing allows you to leverage economies of scale. Vendor team members leverage one another to quickly and effectively deliver your system.
- Staff Versus Contractor Delineation. With Project Outsourcing, there is a clearer distinction between staff-lead versus contractor-led projects. For many companies this is very important - and can even be used as a leverage to overcome internal bureaucracy that bogs down staff-led projects.
- Shared Risk: With Project Outsourcing the vendor usually bears a higher risk for successful outcomes. The engagement contracts usually contain assumptions and recourse that helps protect you and your company.
Managing Project Outsourcing
Software outsourcing does not mean you have NO management considerations. They will simply be different than Staff Augmentation.
- Have the Right Partner. Successful management of Project Outsourcing means you START with the right partner. Many companies are overwhelmed at the prospect of properly vetting candidate vendors for Project Outsourcing. A vendor who provides you capable Staff Augmentation may not have what it takes to deliver Project Outsourcing successfully.
- More Formal Handoffs. The outsourcing partner you select will operate with great autonomy. Therefore, It will be important that the controls you DO have in place are well-designed for collaboration and transparency for all parties.
- Inter-team Coordination. Be sure that the work of your outsourcing partner synchronizes with work going on by your internal staff or other third parties. Communication and coordination is crucial.
Work with the best dedicated software teams in the world. Accelerance Certified Partners are vetted on more than 500 outsourcing criteria.
Hybrid Outsourcing Brings Staff Augmentation and Software Outsourcing Together
As you can see, there are distinct advantages (and drawbacks) to either a Staff Augmentation or Project Outsourcing approach. A third option, “Hybrid Outsourcing” allows you to leverage benefits of the Staff Augmentation AND Project Outsourcing models. Hybrid Outsourcing is a “both - and” approach. Consider these use cases:
You have an outsourced project team in Mexico that is developing a new financial application for you. In addition, you have a specialist in Ukraine that is developing an add-on business intelligence component that will allows you have an important executive dashboard as part of the total solution.
Your company’s IT department is building a new quality control system for your manufacturing operations. You have a Staff Augmentation programmer in Bangladesh who has specific expertise in pulling PLC-code data from manufacturing machines into your main application. You also have a project team in the Philippines who is developing a complementary mobile app for shop floor supervisors.
There’s No Single Answer
Staff augmentation, project outsourcing, and hybrid outsourcing are all valid options. The best answer for you will depend on your company circumstances and even the project you want to use for software development outsourcing.