With the advent of spring, you may be considering home improvement projects, such as remodeling a bathroom. If you’re like me, you’re likely to consider a few different ways to get the job done: Should I do the project myself, pay friends or family members to help out, or hire a professional? Of course, the hourly rate charged by a professional is one consideration.
But the ultimate goal is to complete the project for the least overall cost with no ongoing issues. This topic made me think about how we outsource work in the BI field. This article explores some of the challenges associated with outsourcing BI work and how to do so effectively.
While there are many reasons that organizations outsource work, the three most common are to add expertise, to deliver rapid results or, most importantly, to reduce costs. When consultants are brought on site, it’s often to focus more on the first two of these goals. When companies decide to send work offshore, it’s nearly always for expected cost savings.
What I’ve learned is that businesses that focus solely on the perceived savings of offshore work are often setting themselves up for failure, especially in BI environments. History has taught us that it’s difficult to achieve long-term success when completely offshoring BI development. Outsourcing work can be very effective, but it’s crucial to fully understand the strengths, weaknesses and costs of going down what could be a very rocky road.
Types of Outsourcing
The first piece to consider is that there are several different types of outsourcing, each with their own benefits. On-site contractors and consultants work in person with organizations. This is often the most expensive route but provides the least disruption to the business. Onshore resources are typically offsite but in the same general geographical location. Onshore resources add a bit of complexity and often can’t match the same individual rates as offshore resources, but they prevent some of the bigger potential issues. Offshore resources are typically far away, with the most common example being Indian developers supporting a U.S. company. These are often considered the least expensive but have the most potential challenges. Finally, nearshore developers are a variation of offshore resources that are in a relatively close time zone. A common nearshore scenario would be Canadian developers supporting a U.S. company.
Experience & Turnover
IT resources are cheaper in developing nations. However, over time these costs continue to creep up. Inflation, a rising middle class and improved currency rates among nations specializing in offshore software development contribute to this phenomenon, helping these developing countries compete on a more global scale. Individual developers understand their value and often frequently switch companies in order to earn higher salaries. As this continues to happen, the overall cost for quality talent goes up. The only way to continually obtain inexpensive resources is to hire developers with little to no experience. But this practice will almost certainly have its own unintended project costs.
The key point is that the lowest individual rates don’t typically equate to the lowest total cost. When my coworker hires his buddies to remodel his bathroom and pays them in beer, they’re learning about things like proper seals and plumb lines on the fly. He’ll probably have to deal with crooked tiles and a leaky faucet, and may have to pay more to fix the water damage. Paying more up front for experienced help may save him time and money in the long run.
Culture and Communication
Working with resources from foreign countries presents multiple cultural and communication challenges. For example, when a U.S. company is working with people for whom English isn’t the primary language, productivity delays are common, as both sides struggle to understand what their counterparts want. Similarly, cultural differences often have unintended consequences. For example, in some cultures it is customary not to question authority or your superiors. In those cases, a developer won’t question design issues, even when the discussion might result in a better solution with fewer bugs.
Time Zone Differences
One of the biggest issues with offshoring to faraway countries is the time difference itself. When resources are 12 hours off-cycle from the country they’re helping, it puts a big strain on both parties. Local staff teams are forced to work early hours, and remote staff are forced to work late hours. In addition, small periods of overlap are plagued with overbooked meeting rooms and create unattainably high standards of productivity. Any issues found outside of that time frame take a full day’s cycle to get resolved.
BI-Specific Development Challenges
Outsourcing works best for large blocks of code that have specific pre- and post-conditions and can be black-boxed. Development of code, like Java or C#, works very well here.
Development in 4GL ETL tools (e.g., SSIS or Informatica) can also work here, but in many cases, by the time you reach a design that is detailed enough for an offshore development team, you can just as easily do the work yourself (or hire your skilled brother-in-law and watch him like a hawk). It often works to create a rough prototype locally and then have offshore teams harden the code according to the project standards. This can also work when the team is experienced enough that the designer can just provide rough project guidelines.
Front-end reporting is often a different matter. Most new reporting tools allow developers to create report basics relatively quickly. The ideal approach for developing these involves iterative cycles with the business team and often doesn’t translate well to offshoring.
Agile Project Challenges
Agile development, in one form or another, is here to stay, especially in the BI world. Gone are the days of staff disappearing from day-to-day business for months on end while developers crank out huge chunks of code. Business users need relevant analysis and they need it now. This means that small chunks of development with tight feedback loops and refactoring are necessary. Two key components of agile development involve quickly responding to change and direct communication.
It’s no surprise that the further a project team is from the business, the more difficult it is to develop software programs with timely feedback loops and appropriate project management/supervision to ensure all parties are on task. Having remote developers augment local work can help drive development forward, but if these developers are time zones away, it severely limits agile development.
Total Cost Considerations
When comparing outsourcing options, it’s very easy to fall into the trap of comparing only individual developer costs. If Developer X costs $60/hour and Developer Y costs $30/hour, then it seems obvious which developer is the right choice from a knee-jerk financial perspective. However, the total cost to deliver projects is often a very different story. This, in turn, has a direct relationship to the total costs to build and maintain the systems.
When and How Can BI Outsourcing be Used Successfully?
By understanding the considerations above, organizations can determine how to effectively outsource BI work while remaining successful and productive at their core business. A recommended approach would include a few key things. First, key roles requiring regular customer interaction should stay on site. This would include most business analyst roles, some front-end report developers and system architects. Next, understand that keeping resources as close to the business as possible will circumvent many potential issues. Weigh the potential savings of outsourcing against these potential risks, staying aware of potential hidden costs. Ideally, create a strategy that uses offshore and nearshore resources to augment on site and onshore operations, rather than completely replace them. This provides an added benefit of around-the-clock development and support. Finally, focus the offshore and nearshore work on tasks where you can limit business disruption and ensure their success. Ideal activities include database work, some ETL work, complex reporting and especially traditional coding.
The bottom line is that outsourcing BI development can yield some savings, but it has to be used correctly. That means understanding the strengths and weaknesses of the various options and setting up an approach that maximizes the former while minimizing the latter. Like remodeling a bathroom, if you focus on long-term project success, you may quickly realize that getting a contractor with the lowest hourly rate is not the most important factor.
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access