Starting new web or software projects often puts businesses in a position where they must make complex decisions outside their expertise. While some companies have dedicated IT teams to manage such projects, maintaining these departments can be prohibitively expensive for many. As a result, most businesses choose between two main approaches:
- Outsourcing, where an external team takes on the entire project
- Outstaffing, where external specialists are hired temporarily to work alongside the in-house team.
Let’s dive into the differences between these two strategies.
Queries often stem from concerns about minimising the business risks frequently related to outsourcing and outstaffing.
Here are some of the most common questions, accompanied by satisfactory responses a skilled software developer should provide to ensure transparency and client confidence:
Q1: How much extra budget should we allocate to account for risks in outsourcing? Should we plan for an additional 10% or 20% on top of the original quote?
When taking on any project, unforeseen challenges or a lack of detail can introduce risks. To minimise surprises, a developer should focus on fully understanding your business problem and offering the best possible solution. Before any work begins, they should provide a comprehensive estimation and delivery plan to ensure they’re aligned on expectations, including a shared “definition of done”.
To manage risks, they should also include a contingency buffer in their planning to address any unexpected issues. If challenges arise, they should immediately inform you, offer a solution, and discuss how it may affect the contingency buffer. This way, they can decide with you and stay on track for timely, full-scope delivery.
Q2: Do outsourcing or outstaffing services typically include a warranty?
In most cases, services come with a warranty period ranging anywhere from 30 to 120 days, depending on the project’s scope and complexity.
Q3: What if defects are discovered after the development phase is complete?
While rigorous testing is performed during development, defects can occasionally surface after a project’s completion. In such cases, addressing the defect and ensuring the software functions properly for end users is common practice. During active development, these issues can be prioritised within the current workflow. Afterwards, teams can still be re-engaged to resolve any newly discovered problems.
Q4: Will we be expected to manage the application ourselves after the go-live and 3-month support period (warranty) ends? If so, what skills would be needed in-house, and what challenges might we face?
Typically, after the initial support period, the expectation is that your team will manage the application. However, ongoing support can be arranged via an SLA to address any issues that arise, regardless of when they occur. The goal should be not to leave customers without help, even if problems surface months or years after launch.
As for in-house skills, knowledge transfer (KT) is a key part of the project’s final phase. It ensures that your team or other support providers fully understand the application’s architecture, environment, and any necessary operational details. Additionally, long-term Tier 2 and Tier 3 support can be offered for more complex needs.
Q5: We will likely need ongoing adjustments for the application or service, along with necessary patches, as new versions of platforms and operating systems are released. Should customers manage this responsibility independently, seek another partner, or engage with the developer on an ad-hoc basis?
A comprehensive development provider will aspire to be your preferred partner for these ongoing needs. They will be more than willing to handle change requests, implement required upgrades, and conduct health checks and diagnostics. They will want to be a long-term development partner committed to supporting you throughout your application’s lifecycle.
Q6: Who holds the intellectual property (IP) rights? How can I ensure my IP is protected?
Clients exclusively own all work performed for them, which should be clearly outlined in the outsourcing and outstaffing contracts. A good software or web development provider should also be open to adjusting these agreements based on your specific requirements.
Q7: Will outsourcing or outstaffing result in a loss of expertise?
Adopting an outsourcing or team extension model can be challenging, especially when you have skilled specialists in-house who are struggling to meet growing demands. A common concern is that in-house experts may lose control over knowledge related to proprietary solutions. To mitigate this risk, the provider should conduct comprehensive knowledge transfer sessions at the end of the project. When feasible, these sessions could even be held on-site at your premises.
Q8: How can remote team members partake in our numerous meetings throughout the day?
A good provider will prioritise open and effective communication, which is crucial for larger projects involving distributed teams. Remote members can join important meetings via video conferencing and utilise platforms such as Slack and Discord to sustain constant communication with all project contributors.
Q9: How can remote team members access our infrastructure and development environment without jeopardising our corporate security?
There are several solutions to guarantee secure access for remote team members. The developer can use VPN connections and IPSec tunnels to access your infrastructure securely. Depending on your company’s requirements, they can also refrain from storing any source code or data locally, meaning that all services can be provided on-site via a remote connection. Furthermore, they should maintain cyber security insurance and collaborate closely with your organisation to uphold the highest security standards.
Creating a Thriving Outsourcing Partnership
Outsourcing may limit a company’s ability to manage projects directly, but it offers the advantage of boosting collaboration, nurturing open dialogue, and building a solid partnership. Consequently, it is crucial for companies to actively engage in each outsourced project while ensuring ongoing communication throughout the process.