Posts

Explaining the Agile Process and the Transition to an Agile Scrum Environment

agile scrumMaking the move from waterfall to an agile scrum development environment can be a big move, but for many software teams, it’s definitely worth the transition. When you work in an environment that utilizes the scrum methodology, it’s likely this organization values open communication, collaboration and efficiency.

While we’ve already explored the basics of agile scrum in previous blog posts, we haven’t delved into the actual format of agile scrum meetings. Depending on team preferences and styles, these meetings typically take on different forms and timelines, but they all include certain characteristics of the scrum methodology.

First let’s meet the “typical” agile scrum team. These are the actual people involved and engaged throughout this process. It all begins with the “Product Owner” and his or her vision for the project. Next we have the “Scrum Development Team.” This group of cross-functional members works together in a self-organizing, collective atmosphere. The “Scrum Master” is more of the team manager, providing an important type of leadershipo inside the group. The job of the Scrum Master revolves around facilitating and resolving any issues experienced throughout the entire product development process.

The Agile Process and Different Types of Agile Scrum Meetings

Now that we’ve provided a basic understanding of the team and scrum qualities, it is time to move on to the actual agile scrum process. Agile software development is often described as an incremental development process. This process becomes more of a cycle in terms of movement. If there is an issue or a setback, the process might move backward to resolve such issues. This cyclical process allows the project to easily continue forward as well. This is where the agility of this method becomes vital. But for more of a visual, the scrum process begins with the sprint planning meeting and proceeds from there. Here is an overview of the different types of scrum meetings:

Sprint Planning Meeting:

This meeting begins with the Product Owner. This is where he or she explains her vision for the project as well as ways for the team to meet this goal. During this meeting, team members decide the amount of work they can complete in a timely manner. This is also when the team moves work from the Product Backlog to the Sprint Backlog. This step requires a lot of planning and usually this takes around 8 hours for the group to decide on a finalized 30-day Sprint.

Daily Scrum and Sprint Execution:

From the planning meeting, we move into the daily scrum meetings. Every single day for about 30 minutes, the team gathers together to report any issues or progress on their tasks. Though brief, this meeting is an essential part of the scrum process. It is designed to keep all group members on track in a cohesive manner. Normally the Product Owner is present during all daily scrum meetings to assist in any way.

Sprint Review Meeting:

This meeting is used to showcase a live demonstration of the work completed. During the sprint review meeting the Product Owner, Scrum Master and stakeholders are present. They review the product and suggest changes or improvements.

Sprint Retrospective Meeting:

This meeting is held to facilitate a team’s reflection on their progress. The team speaks openly about their organizational concerns and teamwork. During this meeting, dialogue should remain friendly, non-judgmental and impartial. This review session is a key part of team building and development and it’s also very important for future scrum projects.

Backlog Refinement Meeting:

The last type of scrum meeting reviewed in this article is the backlog refinement meeting. Team members focus on the quality and skill work involved during sprints. This meeting is necessary for the business owners to connect with the development team and is used to assess the quality and development of the final product. This meeting involves important reflection on the team backlogs. These backlogs are often written in User Story form and specify what makes the product useful to the consumer.

Scrum meetings involve so much more than the brief descriptions provided above. There are many additional pieces to the scrum process including things like burndown charts and scaling, but the point of this post is to provide an overview of different kinds of scrum meetings. Regardless of the type, all scrum meetings encourage organization, progress and resolutions. With this incremental and cyclical software development process, all members have the ability to communicate openly and honestly. With the process of scrum and the sprint timeline, projects are more efficiently completed with the help of a capable and cooperative team and Product Owner led by a skillful Scrum Master.

Whether you are already using an agile approach to software development, or are considering transitioning towards a more agile methodology, the senior level agile developers at Number8 can help you make the shift. For additional details about working with a Number8 software developer, give us a call or contact us via email.

Common Mistakes to Avoid When Hiring Offshore Software Developers

offshore software developersExpanding your dev team to include offshore software developers?

Don’t make these common mistakes.

There are so many advantages to outsourcing your software development to offshore software developers. Managers are able to find highly qualified professionals to fill in the gaps where they need while keeping development costs down. Project managers are then allowed to focus on their core competence rather than spending unnecessary time going over development details.

When hiring offshore software developers, many companies make the same mistakes. These errors contribute to both loss of time as well as money. Figuring out these common mistakes ahead of time can help you, as a project manager, to avoid these losses and keep your work on track.

Have a Clear Project Vision

When talking with offshore software developers, you need to have your project goals lined up and thoroughly explained so the prospective hires can demonstrate their competencies when it comes to completing their tasks. Let them know–as best you are allowed– the project’s intricacies you plan on accomplishing as well as the end goal. Make sure they understand both aspects and feel comfortable asking questions up front so you can avoid any troubles.

Problems with Communication

Communication is crucial when it comes to offshore developers– many a project has fallen through because of lack of communication. Pay attention to potential developers’ respond time, communications channels, and how well they receive and execute directions. Hiring developers that are initially patchy with communication will only cause you bigger problems down the road.

Mismatched Cultures

When it comes to hiring offshore, there is always the problem of discrepancies between your culture and that of your developers’. Communication is so much much than simply knowing the same language. There are idioms, gestures, customs, and behavior norms that can get in the way. One way to help prevent this is by hiring nearshore developers. Nearshore developers are located in countries close to your own; for instance, a project manager in the United States may hire nearshore developers in San Jose, Costa Rica. The cultures share more similarities and there are fewer chances for discrepancy.

Recently, we wrote a blog that outlined the various types of outsourcing. We went into quite a bit of detail as to why we, at Number8, choose to outsource nearshore software developers instead of onshore or offshore. However, that is not the best practice for every company. For companies that do opt to hire offshore developers instead of onshore or nearshore, it should help to avoid the common mistakes outlined above.

At Number8, we help companies connect with the best offshore software developers in countries like Costa Rica and Honduras. We believe hiring nearshore developers helps prevent a lot of the common problems managers come by when building their offshore development team. f you’re interested in learning more about Number8 and what we do, give us a call at (502) 890-7665, or check out our information page here!

Benefits of Hiring Offshore Software Developers in Central America

Offshore Software DevelopersWhen some people hear the term “outsourcing,” they get a negative association. For a while, the word became synonymous with the removal of jobs or even entire businesses from the area. However in today’s software development market, that’s pretty far from the truth.

The reality is there is a huge job gap in the technology sector. By 2019, $500 billion of potential salaries will be lost as there are 1 million more computing jobs than students. So how does a growing business fill that gap?

Central America for Offshore Software Developers

Rather than taking jobs away, outsourcing is about establishing relationships in order to meet entity’s needs in the technological sector. In the United States, business leaders recruit offshore workers to contribute necessary man hours for crucial projects. In places like Central America, the increase in software developer positions available helps boost economies by providing jobs.

One of the benefits to hiring offshore software developers in Central America is the development of state-of-the-art IT and business hubs in cities like San José, Costa Rica. Countries like Costa Rica have favorable business policies as well as political stability that make it attractive for large enterprises.

Other Benefits of Central American Offshore Software Developers

Another reason American companies are turning to Central America for offshore software developers is the similarities between the countries’ cultures. Like the United States, Central America countries promote a culture of innovation. They embrace modern methodologies like agile software development that encourage people to play towards their strengths and harness problem-solving creativity.

Furthermore, the education system in Central American countries teach students English in the American dialect, which makes it easy for teams to communicate. Hiring offshore software developers from Central America also solves the time zone problem companies face when they hire offshore developers in Asia. Costa Rica, for example, is only 2 hours ahead of San Francisco.

At Number8, we tap into the abundance of technological talent in Central America to help fill the job gap in the tech sector. We help U.S. companies connect with offshore software developers that can help with processes and execution of projects. If you are interested in learning more about our offshore software developers or if you think you are qualified to join our team, then give us a call at (502) 890-7665 today!

My Xamarin Experience

xamarinDifferent Options

When developing software, whether it’s for a fun project or a formal business project, a requirement can be met by many different options and technologies. After a while of looking at many, it is natural to think which is the best option for the requirement.

Let us consider the options for building a mobile application.

Sometimes the best option is determined by the compatibility of the implications of the option and the technical strengths of the development team. (I’ll cover implications a little later)  The first option to consider when building a mobile application are native applications, but it immediately raises a warning – when the code for a platform is done, the code will need to be transcribed to another platform.  Second, every native technology has its own implications. So to have a successful mobile experience in all native platforms, a developer for each platform is needed.

Even if there was a developer for each platform, is it worthwhile to develop a native mobile application for each platform instead of modifying a web page so it can be viewed in any device?  This is an important question to consider so here is a comparison chart for key characteristics.

CharacteristicNative ApplicationWeb Page
InternetAfter downloading the app, it can work in offline or online modeOnly works with internet connectivity
PerformanceNative components are lightweight and fastPages tend to be heavy and work somewhat slower
Push NotificationsCan send push notificationsCan’t send push notifications
Hardware AccessAccess to camera, speaker, flash, etc.Does not have access to hardware
AccessibilityOpening the app with a clickOpening browse and typing URL
User ExperienceNatural feels and smoothUnnatural and, in some cases, slow

Based on this comparison, it appears that a native application offers a wider range for creativity and service options. If the development team handles all the implications for every platform then it might be a good idea to develop a mobile app natively for each platform, considering that native applications have the best performance and assuming the business is willing to pay a higher cost.

Let’s talk more about those “implications”.


Implications

When dealing with software frameworks and APIs, each framework works naturally with the programmer at least interacting with (in others mastering) certain technologies or programming languages. This comes naturally if the framework is an extension for another technology.

For example, consider Node.js, a JavaScript runtime. When using Node.js, being a JavaScript runtime, the code will naturally be programmed in JavaScript language. Therefore, working with Node.js framework implies the programmer knows, or can at least interact with, JavaScript language. We’ll call these framework dependency implications.

Following are some implications for some mobile application frameworks.

Mobile Application TechnologyImplications
Native Android Mobile App• Java
Native iOS Mobile App• Objective-C or Swift programming language
Xamarin• .Net (C# programming language) • Extensible Application Markup Language (XAML)
Appcelerator• JavaScript • Titanium SDK
Phonegap• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language
Ionic• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language • AngularJS
React Native• Hypertext Markup Language (HTML) • JavaScript Language (ES6 Syntax) • JavaScript XML (JSX) • Document Object Model (DOM)
Sencha Touch• Hypertext Markup Language (HTML) • JavaScript Language • Cascading Style Sheets (CSS) Language • Sencha SDK • MVC Architecture

There is another cost that is not visible at first glance.  Even though the different platform projects have the same core and logic, ultimately they are individual projects. Each project has a different language and application lifecycle and SDKs, so each project will also need its specialized maintenance. This can all add up.  If creating the application natively appears to be too expensive or the development team does not handle all the implications, another strategy can be used.

Using a cross-platform technology has become very popular as a hybrid solution for mobile development, so you can write one set of code that can be used on multiple platforms and can give the user a native experience. There are many cross-platform mobile app technologies, each with it’s own implications. The strategy is to pick technology that has an implication that the development team masters, plus another consideration. Since this is cross-platform, it is important to choose a solution that has a large percentage of transcribing code; the code that can be written once and run natively across the platforms.


xamarin developerMy Experience

When I decided I wanted to develop mobile apps, my first thought was “What native technologies do I know?”

I had used Objective-C for an iOS application.  If I wanted to make a native android or windows phone application, I’d have to learn about project structure and app lifecycle and hope I could program in the language they used. Since I only knew one native technology (iOS) I decided it was better to invest time learning a cross platform technology.

I then thought “Now if I’m going to use a cross platform technology, what implications can I handle the best?”.  Xamarin was a natural choice for me, thanks to the language and application structure.  C# is one of the languages I handle the best, plus the structure was intuitive. An .xml page with its back end code, the application lifecycle was also C-like. I managed to learn XAML and the app structure and lifecycle quickly.

Later, I discovered that Xamarin generated native apps that shared 95% of the common code. I also got to an acceptable level of understanding in android and iOS native applications. Then I decided to test Xamarin’s generated native projects. It seemed that the native applications were greatly structured and coded. I thought “Wow. In theory, it is possible for someone to develop a full native Android app without knowing Java or the android app structure or even having the Android Studio”. Another plus for cross-platform technologies comes from the abstraction layer.  When using Xamarin, the code handles mobile events (like Swipe) in Xamarin’s way.

I can code once and use these events without even knowing how to do it the native way.

I decided it was a good idea to take full advantage of these generated projects and tried making everything in Xamarin, because some things are not implemented on the framework. For example, Xamarin has no radio button tag for iOS applications. Instead of modifying the generated iOS application and using Apple’s radio button, I decided to implement my own radio button in Xamarin, which rendered natively in iOS. This seemed like a good choice that would become an advantage, but I also found a disadvantage, when making a minimum change on a Xamarin project, it must be recompiled to see the changes on the device. This can be time consuming if one wants to test various changes.


Conclusions

I decided to use Xamarin to build mobile apps because it was cross-platform. So most code would only have to be written once. And the projects generated by Xamarin were native. This is not the case on every cross-platform technology. The fact that the final projects are native is an advantage since mobile characteristics can be used.

Still, I studied native projects for Android and iOS to be able to modify the generated projects if something can’t really be done on Xamarin (I realized Xamarin does not support everything for every platform). Again, this can be done because Xamarin generates native projects.

In other words, I take advantage of Xamarin to reutilize code and generate fully native platforms to the extent it permits me, but I also know how to do it without Xamarin in case I really need to modify a native project. Xamarin’s implications are my strengths in programming. This is how I determined Xamarin was the best option for me when it comes to developing mobile applications.

It is important to note that the best option is a balance between the technical strengths of the development team and the implications of the technology. Xamarin with native platforms background was the best option for me, but I have a C# background.  Another developer could have worked faster with Ionic if, say, the developer is a master in AngularJS.

What to Expect at IdeaFestival 2017

ideafestival 2017Technology conferences occur all over the world every year from Mobile World Congress – the largest mobile industry gathering in the world – in Barcelona, Spain to Amazon re:Invent – a conference hosted by Amazon that educates the global cloud computing community. With so many technology conferences, it is easy for someone in tech to find a conference that piques their interests. IdeaFestival 2017, located in downtown Louisville, Kentucky, is the next technology conference on the calendar.

The technology conference/festival pitches itself as “a celebration of the curious, with the goal of inspiring all people to embrace the excitement and danger of new ideas” and promotes thinking in different and innovative ways.  IdeaFestival will run from Tuesday, September 26th thru September 28th, 2017 starting with a full day event on the 26th – Thrivals 10.0. This year’s conference is hosting plenty of events and attendees will see a plethora of presenters. Read in detail what to expect at IdeaFestival in Louisville, KY this year and how to get involved.

4 Things to Expect at IdeaFestival 2017

1. Opportunity to Expand Your Festival Experience

IdeaFestival itself is a two-day festival that runs the 27th and the 28th of September; however, there is an opportunity to add another day onto your festival experience with Thrivals 10.0. For an extra $49 become a part of the full-day conference on “finding your algorithm for the future”. This fall, the conversation is focused on living in a digital age that is constantly changing. It will also cover the combination of GRIt, humanity, and artificial intelligence. Thrivals 10.0 will feature 10 presenters including Janelle Monae – an American musician and one of the leading ladies in “Hidden Figures”.

2. A Packed, Fun-Filled Day-to-Day Schedule

IdeaFestival released the day-to-day agenda for the 2017 conference and each day is full of presentations and classes. The two-day festival starts at 8:00 a.m. each day and includes different presentations as well as several 10-minute classes. Class topics have not be announced yet, but you can stay tuned on the Agenda portion of the IdeaFestival website.

The first day of the festival, after Thrivals 10.0, kicks off at 8:00 a.m. and ends at 5:30 p.m. or 8:00 p.m. depending on your festival access. If you have a festival pass, you’re invited to join sponsors and presenters for Taste: The Culinary Artists of the Region – a networking experience with food sponsored by Copper & Kings. The Thursday of the festival runs from 8:00 a.m. to 5:30 p.m. with no additional presentations available afterwards.

3. Inspirational Speakers and Presenters

On top of the 10 presenters that will be at Thrivals 10.0, there will also be 25 presenters at IdeaFestival. 2017 presenters include: Ann Carlson – a performance artist and performance curator; Hannah Drake – lead artist for Louisville’s local Project HEAL; Tom Eblen – a Western Kentucky University alumni and columnist for the Lexington Herald-Leader; Peter Gray – an American psychologist and research professor at Boston College; John King – CNN’s chief national correspondent and anchor of Inside Politics; and more.

4. Coverage Over a Variety of Topics

The presentations at IdeaFestival 2017 cover a wide variety of topics and, as a result, guarantee something for everyone. The first day of the festival opens with a presentation by Joe Geoghegan titled “Field Notes: The Untapped Power of Diversity in a Fractured World”.  His presentation will cover his experience traveling to over a dozen countries using only his wits and he’ll be sharing his notes on and impressions of his travels while taking a break from his adventuring. Throughout the first day, festival-goers will be able to listen to presentations on the future of our economy, the prevalence of cyberpunk, the relationship between humans and the planet, the science behind whiskey, and much more.

The second day of IdeaFestival will get kicked off with a presentation by Emily Dreyfuss – senior writer at Wired – during which she will discuss some of the biggest pieces of technology emerging and disrupting business, design, science, and culture. Festival attendees can participate in presentation on polarization, the art of food as medicine, and the mind and music of Chopin before IdeaFestival concludes.

IdeaFestival is going to be an informative and inspirational technology conference this year as it has in the past.

Be sure to buy a ticket to the two or three-day event depending on your interest in Thrivals 10.0! The festival will be held at the Kentucky Center  at 501 W. Main Street, Louisville, Kentucky. IdeaFestival is an opportunity to collaborate with others interested in technology and get inspired to think outside the box.

At Number 8, we embrace innovation and, furthermore, we pride ourselves on exercising formative thinking in every endeavor we chase. IdeaFestival 2017 has the same values, so we encourage any and everyone to attend the 2017 technology conference if possible. Interested in learning more about Number 8 and how we employ innovative technologies and schools of thought while living our day-to-day lives? Contact us today. Call us at 502-890-7665 today or visit us online.

 

3 Trends in Global IT Outsourcing

Global IT outsourcing is a common practice for many different industries. Not only do American companies outsource information technology to countries like India, Japan and China, but several European companies are making the transition to global information technology outsourcing as well.

This movement towards IT outsourcing is often decided based upon a number of factors including: available resources, costs, needs, talent and time. Instead of hiring and managing employees here in the states, many find it increasingly convenient to reach out to foreign companies to supply the workforce. Global-Trends-in-IT-Outsourcing-min

Additionally, tech industries (like software development, web design and engineering) require a specialized set of skills. For in-demand skillsets such as these, global outsourcing may be more a necessity than an optional choice since it can be very difficult to find available local talent.

When it comes to global IT outsourcing, a growing number of options are available. In the past, certain regions like India tended to be recognized for offshore talent. Yet in recent years companies specializing in IT outsourcing have opened in a variety of regions.

IT Outsourcing – 3 Global Trends to Understand

For those interested in the global IT outsourcing, there are some trends to be aware of this year. If your company is already engaged in outsourcing or is considering this option, here are three things to understand:

1. Technology Standardization: With cloud storage, phone technology, and the popularity of .net software development, there is a greater standardization in the approach companies use to manage technological needs. Many companies are spending less on tech support costs due to an increasingly tech savvy consumer base, and other types of customer service assistance for consumers and employees.
2. Data Protection and Tracking Services: Global outsourcing can be a little intimidating for some companies and organizations. Protecting private information seems to be more difficult and more important all of the time. It is reassuring to learn that global IT outsourcing companies are taking extra precautions to protect sensitive and private information. Along with privacy initiatives, global outsourcing has begun to not only provide data and information, but also answers detailed analytics. This information is becoming increasingly valuable for insight and research into consumer behavior.
3. Moving Nearshore: While there are a number of benefits to outsourcing IT services offshore, many companies are moving closer to home by choosing nearshore companies. This transition is resulting in reduced costs, more frequent and open communication, fewer time constraints and greater collaboration. American companies turning to convenient locations like Costa Rica, Venezuela and Brazil to find top-notch technical talent. These countries are close in proximity, operating in similar time zones to the U.S. and with very high rates of English fluency.

The 2016 Trends in IT outsourcing are proving to be successful for many American companies. The move to collaborate with offshore IT talent is becoming increasingly commonplace in today’s global economy. And IT outsourcing offers a particularly compelling opportunity for companies interested in saving money, increasing efficiency or expanding aggressively. For more information about outsourcing information technology services to Costa Rica, give number8 a call now at 502-890-7675.

Ten Tips for Managing Offshore Employees

managing offshore employeesBecause of today’s global business market, many companies have stretched their departments to other cities, states or even countries. It has become normal to have several business partners or employees that make up a remote team, hundreds or even thousands of miles away from the corporate location.

There are many reasons cited for this trend including the ability to gain access to professionals with hard-to-find skills, the opportunity to lower costs, increase efficiency and bandwidth. Given this growing trend towards a global workforce, the ability to manage these offshore employees has become an increasingly important task for many business leaders.

When just beginning to work with an offshore employee or team, it is important to start from a place of trust and confidence.  Teams that approach this new work relationship favorably often have the best experience and outcomes.

Getting the Most from Offshore Employees – 10 Tips to Try

Along with a positive attitude, there are several other things you can do to get the most from your offshore employees. Here are 10 tips to help you successfully manage offshore employees.

  1. Schedule predictable team meetings that everyone can count on. It is very important to engage your offshore workers in regular meetings in order to create the trust and productivity that develops from good team work. Using all of the different technologies available, including Skype, it is easier than ever to have great team meetings with onshore and offshore workers.
  2. Don’t flake out on scheduled meetings. Everyone gets busy and it’s easy to get into a habit of rescheduling meetings when you are in a crunch. When you are working with offshore employees, this is particularly damaging. It is very important to stick to your meeting schedule. Regular communication is at the heart of a successful onshore offshore business partnership.
  3. Get to know offshore workers as “real people.” Even though you aren’t sharing office space together, make the time to get to know your offshore software developers as “real people.” Not only does this help create trust, but it also improves teamwork and overall employee satisfaction for everyone.
  4. Emphasize the big picture. Whether located at the office, at home nearby, or in an offshore location, all team members have the ultimate goal – to make sure a given project is successful. Remind the team regularly of this larger goal in order to create a shared vision.
  5. Communicate in several ways. Make sure that your team meetings and ongoing communications with offshore workers are done in a variety of ways. This means that you may use email, texting and telephone to discuss project goals and details. Remember that visual and auditory contact are both great ways to improve communication between team members.
  6. Clearly document goals, expectations and objectives in writing. Even though you should have regular meetings and plenty of verbal communication, it is also helpful to have project goals and objectives documented in writing, especially when working with offshore team members. This helps to minimize the risk of any confusion about expectations, deadlines and more.
  7. Give offshore employees important responsibilities. In the beginning it can be tempting to keep the most important tasks for onshore workers, but it is important to give offshore employees the chance to use their skills and to make important contributions to the team. This helps to create a spirit of mutual dependency which is important for cultivating a highly productive team environment.
  8. Cultivate an environment of mutual respect. It is important that offshore workers feel like a respected and important part of the team. This helps to build trust quickly, and to increase overall productivity.
  9. Express satisfaction and reward good work. Whether in the office, working from home, or developing software offshore, employees of every type like to be recognized for their hard work. When a job is done well, take the time to show your satisfaction. For work that goes over and beyond, consider additional rewards like branded company attire. This makes people feel more engaged and proud to be associated with your business.
  10. Make An Effort To Meet Up In Person From Time To Time. Even though the productivity of offshore development teams is higher than ever, it is always good to meet in person from time to time. Whether you go to your offshore team, or you have them come to you, scheduling time for this is an important part of the team building process.

Managing offshore employees may take some time to get used to at first, but in many ways it is very similar to managing people at the office. Good communication and a positive attitude are a critical part of the process. But it’s also important to choose an offshore company that provides high quality employees with the talents and skills that you need. If you’re seeking offshore software developers, number8 is here to help. Give us a call for more information and a free estimate.

6 Red Flags to Watch for with Software Outsourcing

Red Flags with Software outsourcingSoftware development and web design have become popular for business outsourcing in the past decade. Outsourcing these services often saves companies time and money, and it also provides access to hard-to-find technical and creative talent.

With all of this software development and information technology business abroad, what could possibly go wrong? Apparently, a lot of things.

As a software development company specializing in software development in Costa Rica, we’ve heard many different stories from clients who have experience trying a wide variety of offshore services.

Risks of Offshore Software Development – Look Out for 6 Red Flags

Whether you are new to software outsourcing overseas, or are a seasoned veteran, here are six red flags for you to pay attention to when deciding to outsource your software development abroad.

  1. Cultural Issues: Cultural gaps are an obvious potential challenge when it comes to any type of overseas business. This often starts at the level of communication. When building an outsourcing relationship, it’s very important to understand another culture’s values and ideals, including typical work patterns, major holidays, and more. Gaps in communication and understanding can make this particularly difficult. When outsourcing, make sure that you are working closely with someone who shares a common language, or make the effort to hire a dependable interpreter. It may take time to understand another person’s culture, but it is well worth the effort, especially if you are hoping for a long term business partnership.
  2. Managerial Styles: When selecting an outsourcing development firm, it is best to look for a company that shares similar values and styles of management. While you may not be working in the same physical proximity as your offshore employees, chances are you will expect a certain style of project management to maintain project velocity and keep everyone on the same page. Make sure your offshore partner understands and respects the goals and style of your organization. Having a parallel vision for your onshore and offshore team members is very important to the overall success of any project.
  3. Weak Skills: Many outsourcing companies will do whatever it takes to get your business. This includes claiming to have senior or more advanced employees with specific technical skillsets that may in fact be much less experienced. Be wary of companies that claim to excel in every technical area under the sun. Most offshore technology companies do specialize in certain technologies, skillsets, and approaches to software development. If something sounds too good to be true, it probably is!
  4. Large Discounts: Sometimes companies offering offshore software development will try to draw you in with deep discounts. While potentially appealing on the outset, especially to new businesses with lean budgets, these “unbelievable” discounts can be a slippery slope. If the work you receive is not high quality, you end up paying as much or more debugging and fixing the errors.
  5. No “Point Person”: Even the most experienced and professional software development teams need good leadership. If you are thinking about working with an offshore software development company, make sure you have a clear understanding of the people that will serve as your major points of contact. How long have they been with the company? Working with an offshore partner that has good employee retention is highly desirable since turnover in the middle of a project can really slow down momentum and decrease efficiency. How interested are they in your business? Is their communication timely, effective and easy to understand? If this information is vague or simply unavailable, take notice!
  6. Travel Costs: Lastly, since you are looking into a company overseas, it is important to research the travel costs included in the likely event that you might want to visit your offshore partners. Depending on the location, traveling overseas may be quite costly and time consuming. For example, a flight from the U.S. to India will likely cost you over $1,000 USD and may involve multiple days of travel in each direction. In contrast, you can easily visit a nearshore location like Costa Rica in just a few hours’ time from the U.S. for under $500 USD round trip.

Not all outsourcing software companies are alike. Some may never raise any of the red flags listed above, while others will raise most if not all. Starting out in a strong position with your outsourcing partner is essential to the overall success of this business endeavor. Doing your research in advance will help you reduce your risks and increase the likelihood of a positive experience with software outsourcing.