As the need for high-quality software engineers continues to increase exponentially, outsourcing and more specifically nearshore outsourcing software development is expected to continue to grow. According to BDO’s 2015 Technology Outlook Survey, the number of tech firms outsourcing IT or programming services has more than doubled in the last two years alone, accounting for over $28.5 billion of the Business Process Outsourcing (BPO) market. While offshoring has lost some of its value and fewer companies opt for traditional offshore destinations (India, China, etc), nearshoring provides a cost-effective, safe and, often times, superior alternative.
As we outlined in a previous post, nearshoring software development is defined as follows:
When a company outsources software development work to countries sharing a border with the United States or within close proximity, the primary benefits being similar or same time zones as well as more aligned communication and/or cultural implications.
When working with developers in a nearshore location there are numerous best practices your company can utilize to ensure a successful partnership:
1. Leverage Pragmatic Agile Methodology
For the past decade, agile development has been one of the primary buzzwords of the software world. The agile model aims to keep development iterations short, while testing frequently to gain feedback on the quality of the software and to release products as soon as possible. Rapid development and continuous-delivery development cycles enable adaptive planning, flexibility and change. However, actually practicing agile can be a steep learning curve for anyone unfamiliar with the almost “religious” ritual of the methodology. As IBM explains in their developer works blog, following a pragmatic approach and identifying those pieces of agile that create velocity allows developers to release faster with better quality without having to translate agile to those unfamiliar with its philosophy. Ultimately, teams should not invest precious time (and money) in adhering to a strict agile methodology when working with developers abroad, but find the best way to adapt those agile practices that enable effective communication, teamwork, speed and efficiency. For a deeper understanding of how agile works in a nearshore environment, please see Mario Merino’s blog post here.
2. Find the Best Talent For Your Needs
Jeff Atwood, co-founder of Stack Overflow puts it perfectly: “Always hire the best people. Never compromise in your hiring standards, no matter how big your company gets.”
Everyone wants to find and hire the best talent for their projects, but this isn’t always possible due to costs and competitiveness. While the average salary of a developer in the U.S. reached $93,280 in 2015, nearshoring can provide talent that would not otherwise be available in the American market for an affordable cost. Programmers able to write “DRY” (don’t repeat yourself) code or functions with fewer calls to the database are able to save future time and money because their code is faster and easily readable for bug fixes or future team members. When hiring new team members it is also vital to remember not only coding ability, but skills like teamwork and communication. Due to the cultural similarities between the U.S. and nearshore locations, this is much easier to find than with offshore locations. Hiring a nearshore software development provider can make the hiring process even easier by vetting developer’s skill set beforehand and providing a stable environment with readily available turnkey senior talent. To put it bluntly, hire the best you can afford and reap the benefits of increased productivity, faster iterations and reduction of points of failure.
3. Onsite Project Management
In traditional offshore relationships visibility of team members and transparency of projects have been a real challenge due to time zone differences and cultural affinities. Often times an onshore project manager will be coordinating with team members offshore on an opposite time schedule, thus receiving only updates of the software project and turning the process into a waterfall like methodology. With nearshoring an onsite project manager that coordinates with the product owner can really manage the project because they are in the same time zone as the product owner and location as the team members. Project managers (PM’s) can leverage agile methodologies in real time and assist the entire team with the iterative process. This allows for full transparency of projects because product owners can schedule team reviews, get clarifications, receive updates and review new feautures and the product in real time.
4. Set Clear Goals and Expectations
We often hear people say things like: “The developers didn’t understand what I needed” or “They developed something completely wrong”. Although this point seems obvious, more often than not, statements like these and perceived under-performance are a direct result of unclear expectations and goals.
“Making sure that you have a very clear scope when starting a project is essential, as people will always try to creep things into the scope,” says Richard Bexon, COO, Namu Travel Group.
“Scope containment is the Achilles heel to project management,” says Bill Gaffney, corporate development, Applied Robotics. “Even minor changes can accumulate and cause scope creep,” he says.
To avoid these issues, you must start with a clearly defined and realistic project scope from the beginning, especially if you are working with a team that is in a different location. Again, a pragmatic agile methodology should guide this process because sprints are preplanned to determine deliverables. When everyone on a project is clear of what needs to be done from the beginning, teams can finish tasks quicker and efficiently.
5. Communication and More Communication
Unlike offshore development, nearshore locations are available in real time when you need them. Take full advantage of this! If utilized properly, pragmatic agile ensures clear practices of communication for team members because you are communicating continuously about project goals, setbacks and failures.
Mike Vitale, CTO at TalkPoint, explains: ”Nothing good ever comes from trying to hide a problem. Always be clear and concise when communicating issues, and get to the point quickly.” No project is immune to problems. The key is to communicate those problems as soon as possible and adjust expectations. This open communication is the key to successful partnerships.
As you can imagine these five tips won’t necessarily guarantee your success in a nearshoring relationship, they are points that we feel ring true to the major hurdles we have overcome. Find out why Gorilla Logic chose Costa Rica as our nearshore location here and don’t hesitate to call us and ask any questions.
For an in-depth look at all the facets of nearshoring software development, subscribe to our blog and follow us on LinkedIn