Starting a new software project can be a puzzling process fraught with decisions outside one’s area of expertise. While some organisations are blessed with capable IT departments that effectively take care of all their company’s software requirements, the costs resulting from this frankly optimistic scenario render it an impossibility for the vast majority of businesses. Instead, companies are driven towards one of two principal alternatives: outsourcing or hiring temporary staff, a process we like to call “outstaffing.” So with this in mind, today, SPG would like to have a look at the outsourcing vs outstaffing debate.
Outstaffing is sometimes also known as “staff-” or “team augmentation,” as the supplier’s resources are blended in with in-house teams and specialists. While both strategies are essentially means to the same end, there are specific caveats and benefits inherent to each arrangement.
For starters, both outsourcing and outstaffing require a different level of management and involvement from within your organisation. While outstaffing suggests that you will be given additional staff and it is you who will have to handle all their day-to-day work and priorities, in the outsourcing model, your contractors are significantly more independent.
These models may also be needed for a variety of different reasons.
Outsourcing vs Outstaffing in Focus:
The Main Reasons for Outsourcing
For companies with no IT teams in place, the outsourcing vs outstaffing debate is easy, as outsourcing is the logical solution. Unfortunately, the term has been soiled in popular vernacular to denote the practice of abandoning local talent in favour of cheap foreign labour — but this is often not the case at all.
In reality, though it is certainly true that outsourcing enables businesses to greatly expand upon their talent pool, there are several different types of outsourcing (which for the most part correspond to varying degrees of your required involvement):
- Outsourcing a job or a role. If, for instance, your business requires a mobile developer to work on a project, it may be sensible to hire a contractor in the form of a company or an individual. Bear in mind, however, that this type of outsourcing will most commonly suggest that streamlining their efforts will be entirely your responsibility.
- Outsourcing a project. Unlike the previous model, in which relationships should closely mirror that between an employer and a temporary worker, outsourcing a project is mainly focused on the deliverables, and is often a customer <> supplier (read: service provider) type of interaction.
- Alternatively, you may prefer to hand over the entire development life cycle to a specialised company or organisation. This is where in addition to professional indemnity insurance (to protect larger budgets), it is also worth paying attention to the contractor’s portfolio, references, contracts and any vital service-level agreements (SLAs).
- Outsourcing a business function or service. Though this may seem like a whole new level of business relationships (images of very large corporations with extensive supplier networks spring to mind), this model could turn out to be surprisingly effective for far more modest SMEs. For example, if you own a catering company, you may be better off outsourcing your non-core functions, such as delivery or software development. This is the “do what you do best and delegate the rest” principle at work. After all, why buy lorries and hire drivers when you can build a long-lasting relationship with a professional provider while still focusing on your core activities?
This is also a fantastic method when exploring new business opportunities, as you can outsource to test the waters before bringing it back in-house. In fact, many IT startups successfully follow this approach when delegating MVP development or any other initial product version to external companies for that matter.
In summary, non-technical businesses are able to focus on their main activities while relying on a dedicated software company to deliver on their behalf. This is Software Planet Group’s preferred method to work with, as it enables us to ensure the quality of our projects at every stage of product development.
For companies employing IT teams that are currently lacking an expertise (e.g. they only have desktop developers with no previous experience in modern web frameworks, or their infra team are experts at managing on-premise services, but lack production-grade experience with AWS), outsourcing to attain an aptitude may also be a valuable option.
The Main Reasons for Outstaffing
On the other hand, if the required expertise is present, but there is simply not enough development capacity (i.e. development throughput), outstaffing could potentially be useful to help eliminate this limitation. In such a case, you would either be looking for a team extension or some extra development capacity. This may prove useful when striving to keep control of your software components’ architectural consistency, or when you have a strong CTO in place who can handle the implementation of your development strategy.
Thus, by settling the outsourcing vs outstaffing issue and embracing the outstaffing model, businesses may hire developers from external providers and temporarily extend their in-house teams for the duration of a software project. Bear in mind, however, that while companies may be attracted to the savings in relation to benefits, insurance, and other costs that outstaffing lacks, this in no way should be interpreted as a clear-cut indication that the approach is more affordable than outsourcing.
When problems start to arise in development, for instance, these must always be dealt with by the hiring company without the assistance of a team of experts — an often disquieting situation that can quickly rack up costs of time and money. Furthermore, communication becomes even more critical here, as project managers must be willing and able to give remote workers precise instructions, or risk derailing software projects entirely.
As a company committed to maintaining a complete arsenal of software services, SPG can also offer this approach to development.
What Is the Difference Between Offshore, Onshore and Nearshore Outsourcing?
Both outsourcing and outstaffing may be performed at a national or international level. If your contractor provides their outsourcing services in the same geographical region where your business is currently located, this is known as “onshore” outsourcing. Its benefits are immediately apparent:
- Closer interaction as a result of geographical proximity
- Efficient communication, as you are likely to speak the same language
- Aligned business schedule – identical time zones and holiday seasons
- Level legal footing (in legislation, protection levels, etc.)
The disadvantage is more often than not the price. If your intention is to optimise development costs, this may not give you the intended results.
Offshore outsourcing, on the other hand, is done at the international level and thus services are provided remotely. The benefits tend to be:
- Efficient cost
- Good value for money (e.g. access to a larger team at the same cost as onshore development)
The disadvantages are what have raised outsourcing to infamy. Apart from your supplier’s maturity level (and their adherence to standard business practices) your success is strictly dependent on the chosen geography, including their ease of doing business, local legislation and the country’s banking system stability.
When offshore meets onshore development, we call this “nearshore” outsourcing. In this model, businesses should expect a combination of the above advantages and drawbacks. In practice, therefore, nearshore software development companies present the following characteristics:
- Onsite point of contact. This is usually your personal account manager, and the guarantor of service quality
- The same legal footing
- Improved communication
- Improved business schedule
- Efficient cost and good value for money, especially when compared to onshore development companies
Frequently Asked Questions in the Outsourcing vs Outstaffing Dilemma
At SPG, we began as a pure offshore outsourcing company and gradually migrated towards the nearshore model. Over the ensuing two decades, we have come across a variety of important questions from our prospects and incoming customers. These queries were motivated by some common concerns and attempts to minimise perceived business risks, which are often closely associated with the outsourcing and outstaffing models.
Below you will find some of the most common questions we have to answer, and learn how Software Planet Group are addressing all our customers’ concerns.
Q: In outsourcing, there are obviously some risks associated with any project, such as a lack of detail and perhaps some unforeseen challenges. How much uplift should we prepare for? An additional 10%, or even 20% on top of the original quotation?
We understand that every project aims to solve a very practical problem for the business. This is why we want to make sure that we completely understand the problem itself and that — to the very best of our knowledge — we are offering you the most optimal solution. We then present you with our detailed estimation work and delivery plan to ensure we remain on the same page and have the same “definition of done.” In fact, we won’t start any work at all until our expectations become fully in alignment.
Our plans are also accompanied by a detailed list of identified risks, as risk management is a continuous process of the Software Planet Group development cycle. To cover any unforeseen challenges, we will usually add a contingency buffer to our delivery plan, which will also be explained in detail to dispel your company’s lingering doubts. When confronted with any challenges, we will make the fact known to you, devise the proposed solution or workaround and indicate its impact on our contingency buffer. In this way, we can jointly agree on the best possible course of action. We love to deliver the full scope of our projects on time, just as much as our customers do!
Q: Do your services come with any warranty?
Our services come with a warranty period that will usually last between 30 and 120 days. This depends on the project nature and size.
Q: The project has now finished. What should we do if we identify a defect after the active development phase has passed?
We are as flawed as the world around us, and defects do sometimes creep in unnoticed (despite the multitude of testing levels applied to our projects). In these circumstances, our policy is always to resolve the defect and make sure that nothing will prevent end users from operating the software solution. This is done somewhat easier throughout the active development phase, as the issue can be prioritised and placed into the current backlog. Nevertheless, even after development has ended, we can still bring back our team members and take care of any newfound problems.
Q: After the go-live and 3-month support period (warranty) is over, would we be expected to manage the application on our own? If so, what sort of skills would be needed in-house, and what sorts of problems would you foresee us facing?
As set out above, our primary objective is to support our customers, and by extension, their valued users. So in reality, no matter when the problem occurs — three months or three years after development — we will always do our very best to resolve it. This may be a subject to an SLA, but we will never hang our customers out to dry.
As for the in-house expertise, it is worth pointing out that knowledge transfer (KT) is a major component of our project finalisation phase. This means that we will ensure your specialists (or other support providers) have all the artefacts and information pertaining to the solution, its architecture and environment and are comfortable when it comes to supporting it. In addition, we offer long-term Tier 2 and Tier 3 support to our customers.
Q: There may be ongoing tweaks needed to the application or service, as well as the inevitable patches as newer versions of required platforms and operating systems are released. Do you expect your customers to have to manage this responsibility on their own, or should they seek an alternative partner, or even engage with SPG on an ad-hoc basis?
As a one-stop shop for development, we would love to be your #1 choice in these matters and are happy to implement change requests, take care of any required upgrades, or run health checks and diagnostics for you. We advertise ourselves as a long-term development partner and we truly practise what we preach!
Q: Who owns the IP rights? How can I ensure that my IP is protected?
Whatever we do for our customers belongs exclusively to them. This is explicitly stated in our outsourcing and outstaffing contracts and we’re open to making additional changes in accordance with your company’s requirements.
Q: Will outsourcing or outstaffing result in loss of expertise?
It can sometimes be hard to accept an outsourcing or team extension model, particularly when you have capable specialists in-house, but they are struggling to keep up with the demand that your business is generating. The biggest concern here is that the in-house specialists will lose control (i.e. knowledge) of your proprietary solutions.
To avoid this, we conclude all our projects with the aforementioned knowledge transfer sessions. Wherever practical, these can also be provided onsite at the customer’s premises.
Q: Our team has several meetings throughout the day. How can any remote member be involved in them?
We try to keep our communication channels as open and effective as possible. This becomes especially vital when it comes to larger projects with distributed teams. Not only do we attend all important meetings via video conference, but we use services such as Slack and Discord to be in constant contact with your project participants.
Q: We have our own infrastructure and development environment. How can remote team members access these without compromising our corporate security?
There are various avenues to address this problem. Not only do we utilise VPN connection and IPSec tunnels to gain access to our customers’ infrastructure, but depending on your company’s requirements, we may not store any source code or data locally. In other words, all services would be provided onsite (at your company’s location) via a remote connection.
Additionally, we remain responsible for maintaining the Cyber Security insurance, and work closely with your company to keep security at the highest level.
How to Create a Successful Outsourcing Partnership
While it is certainly true that outsourcing does not allow companies to manage projects directly, in reality, it more than makes up for this by leaving ample room for cooperation, discussion and partnership. This is why it is particularly important to be actively involved in every outsourced project and to strive to maintain a steady flow of conversation.
So to sum it all up:
Outsourcing and Outstaffing Compared
|Choose the outsourcing model if:||Choose the outstaffing model if:|
Approach to project management
You would like the software provider to take over the entire development process
You would like the software provider to lease out specific experts to your company
You are both able and willing to take the time to thoroughly educate your software providers on the subject of your business, its main objectives, and the technological aspects of your project
You would prefer to educate new hires in a similar way to how you train your employees
In-house development vs outsourcing
The idea of working with an independent and highly qualified team of professionals is appealing to your company and can help you fulfil your objectives
The idea of maintaining your in-house developers and bringing aboard selected professionals is more appealing to your organisation as it can help you to fill a skills gap
Types of cooperation
You want your software provider to behave as a partner
You want your software provider to remain impersonal
In addition to T&M, you prefer to work with Fixed Capacity pricing models
In addition to T&M, you would rather work with the Cost Plus pricing model
Outsourcing vs Outstaffing: The Pros and Cons
-No need to procure software, personnel or equipment
-An enduring partnership may develop
-Less management efforts are required
-No need to worry about insurance or benefits for new hires
-Full control over the development process
-More flexibility in the amount and capacity of workers entering your organisation
-Limited control over the development process
-If the project scope is not well defined, costs may run significantly higher than expected
-Without clear communication, major problems could arise
-Instead of relying on a proven team, you will have to handle all development errors on your own
Outsourcing or Outstaffing: The Choice Is Yours!
Labyrinthine as the outsourcing vs outstaffing debate may seem, in the end, it is the makeup of every company that best determines the right path to be trodden. For organisations requiring a whole project to be completed — as in the vast majority of cases — it is usually more convenient to go ahead and outsource development. If, however, your company’s project is already under way and you are primarily concerned with bringing in some additional assistance, then outstaffing could undoubtedly pose a great opportunity for your business.
In either case, SPG have a great team of talented specialists who are ready to join forces with your company