How to start your nearshoring project and how to make it successful
Do you have an IT project and wondering how to implement it? You have already heard about nearshoring: In principle, it is an option for you. Perhaps you have even been able to gain initial experience.The advantages of nearshoring over offshoring projects are obvious. Nearshoring offers the best price-performance ratio when it comes to IT outsourcing.But what good is this knowledge if you don’t know how to set up and successfully implement a nearshoring project in practice? It is often necessary to clarify in advance whether the project is suitable for nearshoring.This article will show which projects are suitable for nearshoring, what the practical implementation looks like, and how to take the first steps with a nearshoring team.
Every IT project is unique, but not always suitable for nearshoring
Projects are very different from each other. Time horizon, tasks, resources, and the desired result define how the project is designed.In fact, the differences here are very large and not all projects are therefore suitable for nearshoring. Let’s take a closer look at a few examples.For projects that need to be implemented ad hoc and very quickly by a team, nearshoring is not an alternative. We find such projects in advertising agencies, for example, where customer requests arise quite quickly and have to be implemented. Resources, i.e., the corresponding employees or freelancers, are available so that implementation can begin immediately.You won’t find this responsiveness in nearshoring. If you must assemble or find a team first, this simply takes too long. The customer would not be thrilled if he has to wait a long time for the result.If only one expert is needed for an existing or new project (e.g., a Salesforce specialist), you can always outsource this, looking for a specialist in a nearshoring country. This expert can support ad hoc projects or become part of a team on a long-term basis.For legacy and maintenance projects, it depends very much on who you use for this. In our experience, it is difficult to get junior developers excited about these projects. They don’t find working on such projects very interesting, and it’s also difficult for them to build up new skills for their careers.Senior developers are more likely to be interested, as these projects are long-term or even indefinite, and offer them a certain level of stability.Nearshoring makes the most sense in product development. In the beginning, there is a product vision or the idea of a product. This vision can be broken down very well into individual milestones that are developed step by step.For the implementation, a software development team is needed that works on the realization of the product over a longer period. A nearshoring team can be set up very well for this purpose. Effort and benefits are balanced here.
For which project does which concept fit?
Roughly speaking, we know three models or approaches from our years of nearshore experience. These differ in the time component and in whether and how much experience is available in the management of software development projects.
Freelancer
For projects that have a very short duration and do not require a large team, working with a freelancer is a good option.This also allows you to get to know each other first. Perhaps the IT specialist will even become part of a development team later if both sides want this.
Project Outsourcing
Let’s assume that the vision of a product or an application exists. However, you do not know how to realize it. How do you create a proof of concept (POC)? How do I put together a team and what skills (e.g. programming languages) should the individual team members have?If you lack experience in project management or do not want to have a project manager in-house, the only option is to work with an outsourcing provider.In outsourcing, you as the client say what the finished product should look like, what requirements and functionalities are to be met, and at what cost. You place the software development completely in the hands of the provider, who is responsible for delivering a final product in the end.As mentioned, this can be advantageous if you lack experience, know-how, or resources. However, in this constellation, you have little influence on the personnel and speed with which the software is developed. It is the responsibility of the nearshoring provider to assemble the appropriate team.
Nearshoring Team – Outstaffing
In this model, a team of IT professionals works remotely for you and your project from a nearshoring country. This remote team consists of various IT specialists, such as developers and software testers, who are assembled as you need them for the project.You choose the team members yourself and develop them into a team, your team. The fact that the team works exclusively for you is also referred to as a dedicated team.You are very free in the composition of the team – provided that the right specialists can be found at the nearshoring location. You will also be responsible for the product development and implementation of the project.So you should only go down this path if you can either manage such a team yourself or have someone on board with the appropriate technical, cultural, and management experience. For example, a delivery manager, project manager, agile coach, or CTO.
Where to find IT professionals for your team or a nearshoring partner
There are countless resources for finding freelancers. Internet portals such as Upwork, freelancer.com, or Gulp not only place freelancers but also handle payment processing.If you are looking for a nearshoring provider, you can look around on portals such as Clutch or The Manifest. There you can find a variety of partners active in outsourcing and/or outstaffing via categories and countries. Customer reviews and provider portraits help you find suitable service providers.In addition, there are online portals (e.g. Transparency Wins) where companies can place a request and select the appropriate contractor from the bids submitted.
The start with a nearshoring team
First, a vision is needed. This should be written down on no more than three pages. Questions could be: What should be developed (mobile app, website, enterprise software, etc.)? What is it needed for or what should customers be able to do with it?Comprehensive software specifications can rarely be found today because they are not only very time-consuming but also have to be constantly rewritten as soon as the requirements for the product change.Since good developers are rarely unemployed, you can also use the vision to get the programmers excited about the project. In addition, you should estimate the amount of work and the team size from the vision.From our experience, team size and nearshoring provider need to match. If your project is small, it will run better if you work with a small provider. For a large provider, small projects are financially unattractive.If there is no knowledge of technologies, then you can describe the functionalities of the product and the product vision and assign a project outsourcer with the complete implementation.However, in case you manage the team yourself, search for a vendor that can help you find IT professionals and provides space, infrastructure, and administration.Having a dedicated team always makes sense when longer-term support is needed, for example, because there is a whole pipeline of projects. You can then put the team together in a much more granular way and develop competencies that are necessary to achieve the business and project goals.If it is not yet one hundred percent clear where the journey is headed at the beginning because only a proof of concept (POC) or minimum viable product (MVP) is required, then you can develop this with freelancers. However, the development of a finished product usually requires a stable team.
What is important for the success of the nearshoring project
We have now provided you with some tips to help you get started. So that you don’t stumble when you take your first steps in nearshoring.The success of your project – if all project goals are met at the end – depends to a large extent on how well the team and project are managed. In the following, we provide a few methods and tips along the way.
Workshop
Based on the product vision, a concrete to-do list must be created together with a schedule. In this way, dependencies can be identified and described (What is dependent on what? What must be developed first, what afterward?). The number of developers needed can also be determined.This is best achieved in a workshop to which all stakeholders are invited (sales, customer, CEO, CTO, etc.). New product features often emerge from the discussions with the stakeholders, and it is decided in each case whether they should be implemented. Non-functional requirements must also be defined, as these have an impact on costs.You can also commission such a workshop from a project outsourcer, who will work with you to develop a plan and a specification. You then use these documents to obtain suitable offers from several providers.
Proof of Concept
With a POC, you check the feasibility of your vision. In project management, this is a milestone that proves the feasibility of a project in principle – both technically and in business terms.By doing so, you confirm the concept of your project and create the basis for further work.For startups, a POC is often the prerequisite for attracting investors.
Kanban
Kanban originally comes from Japan and the automotive industry. In software development, this agile method is used to bring the complexity of a project into a structure so that it becomes more manageable.A board (virtual or real) is divided into columns denoting different phases (e.g., to do, doing, testing, done). Cards representing tasks are moved from station to station as the project progresses.Tasks and responsibilities can be visualized so well. There are quite a few providers for such digital project management tools.
Scrum/Sprints
Scrum is also a process model of project management, especially in software development. The approach here is different from that of Kanban.The focus is on a certain rhythm that a team follows during development. Thus, projects are broken down into parts of two weeks, a sprint.For a sprint, it is determined which tasks there are and how long is needed for a task. At the end of a sprint, it is evaluated whether the efforts were realistic. New efforts for the next sprint are estimated.This improves the team’s cooperation as it is subjected to a kind of learning process. Incrementally, the team´s productivity improves.
Structured Backlog
The functionalities that a product should have are recorded in a backlog. It can be understood as a to-do list and is used in Scrum. Tasks that still need to be completed are recorded in the list.This list is dynamic, so the backlog should be maintained, updated, and cleaned up regularly. Otherwise, the structure and thus the overview will be lost.
Story Points, Measurability, Tools
Tools like Trello (for Kanban) or Jira (for Scrum) help you with your work. They show the progress of the project and help to measure which work packages have been completed in the last two weeks of a sprint. This way, improvement opportunities for the team can be identified.Efforts can be evaluated with story points. What is measured is not how much time was spent on a work order, but how many points the task has. This must be estimated in advance: The more elaborate and time-consuming the task, the more story points it gets.
Scope Creep
This term refers to changes in the project that continuously and uncontrollably increase the project. This can occur when the scope of a project is not properly defined or controlled.New requirements for the product and constant project changes lead to endless work on the product or software release without being finished. Since this also drives up costs, you should definitely keep an eye on it.
Technical Debt
Technical debt is a common metaphor in software development. It arises when software is developed of insufficient quality. This often happens when new functionalities are implemented quickly and thus uncleanly.The more often this happens, the more difficult it becomes to repair the resulting deficits in the structure of the software. Often, these “legacy issues” make it difficult to incorporate new features.To prevent this, phases should always be scheduled in the development, during which one removes the technical debt. If this is missed, the software can often only be completely rebuilt.
Conclusion
There are many things to consider when implementing your nearshoring project.In the beginning, there is always the question of whether you have enough project management experience in your company to manage the nearshoring team. If this is not the case, you are left with the option of outsourcing the product development to a service provider.If you are interested in building your own nearshoring team, this article provides some guidance on best practices to make the project a success.Nearshoring providers are located locally in the respective country and can support you in team building and recruiting. They also provide rooms, infrastructure, and administrative support. They are the cultural link to the nearshoring team and ensure with events that the happiness factor among the IT specialists is high and team identity is created.nearshorefriends has nearshoring locations in Tunisia, Portugal, and Ukraine. Feel free to contact us if you have any questions about your project or are in the need of a team.