Skip to Content

Offshore Process: why you need it and how to make it work

We all know that many consulting companies have their offshore arms in countries like India, China and other parts of the world. They recruit resources In these countries as it cost them a lot less compared to a US or Europe.. based resource, with same skill sets. Having both US and offshore based resources allows consulting companies to offer a blended rate to their customer and thereby reduce their customer’s total cost of ownership(TCO).

If you are a SAP consulting company, customers expects you to have your offshore development center. This is a must have in order for a consulting company to survive in today’s competitive market. As I was tasked with helping with offshore operation for my company, I learned many important aspects of running a offshore development process. Using this blog, I would like to share with you what I have learnt about offshore development process and would expect others to contribute their ideas and wisdoms on this subject.

1. Offshore process – how to prepare the right way

1.1. Recruiting offshore development team: This is the very first step for starting your offshore development team. You need to have a good mix of junior, mid-level and senior resources in your offshore team. You need make sure that senior resources in your team come with good experience of both technical and functional side of SAP. Make sure that the senior resources together have experience in SAP logistics and FI CO modules. Some of the mid-level and senior resources can help with enforcing quality controls such as peer code reviews and code quality cheek. In addition to technical resources, if you can hire some functional consultants, if would be even better. Functional consultants can not only support the team with testing development, they can also take up some tasks such as developing functional specs, creating test plans and test data, test scripts etc.

1.2. Recruiting on site coordinator: Once you have your offshore team ready, you need to have a senior techno functional person at the project site to take up the job as an on-site coordinator. The on-site coordinator will be responsible for participating in functional specification hand off meeting, understand the business requirement and send the work to offshore team for development. This role requires one to have an excellent communication and people skills and be a good team player. Prior experience with playing this role will be very helpful. In most cases one on site coordinator per project is good but you may choose to have multiple based on the offshore development scope. The on-site coordinator will have daily conference calls with offshore team to make sure that offshore development is on right track, any open questions from offshore team are answered in timely manner and the status of the offshore development is communicated to the project manager. The on-site coordinator also should try to make sure that offshore team is performing all tests and quality cheeks before they deliver the development object to on site team for testing. The on-site coordinator will play a critical role to establish the credibility of the offshore tem and earn confidence of the project team.

1.33. Training project team on offshore development process: Before you start executing offshore development process, you must train your project team members. This training should introduce project team members to each step of offshore process, roles and responsibilities, tools and templates that will be used during this process. Please be careful to stay realistic and set the right expectation with the team about the offshore process. Talk to them about common challenges that are faced in most offshore projects and educate them on how to be prepared and what to do in order to meet the challenges and mitigate the risk. Making offshore process successful is going to be a team effort and you need to make sure that all team members are on the same page before you roll out and start executing the process.

In the next part of this blog, I will go over the execution part of the offshore process…

Please post comments, experience and lessons learned related to offshore process….

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Matthew Billingham
    One of the biggest issue I’ve found is retaining development expertise. After a couple of years in the development team, it seems people move on – either into management, or into other areas, perhaps functional. In this way, the knowledge of the customers developments is lost – or greatly diminished. The loss of continuity means that when an older development needs enhancement, often there’s no-one around who knows it. This inevitably increase the time taken – and therefore the cost – of the enhancement.

    In your view, how can this problem caused by turnover of developers be ameliorated?

    matt

    (0) 
    1. Kumud Singh
      Hi Matt,

      This issue was/is/will be encountered in any project.The deverloper cannot remain stagnant at that object forever.The fact is thats why we have Knowledge Transfer scheme.When the concerned developer moves on, he passes the knowledge to other resource. However what if the enhancement comes after a very long time and no one in the initial team is available?
      I would say some other experienced developer can understand the object and then work with it.And might be he/she can give some fresh perspective to the development of that object which might not have been thought by old developer.
      We should always have some fresh ideas otherwise there would be no innovation/improvement.
      But again everything has its cost. 🙂

      Regards,
      Kumud

      (0) 
      1. Matthew Billingham
        There is no reason for a developer to be stagnant on a single development. Of course there is always turnover, but the issue is it seems with the offshoring model, it’s inevitable that you’ll have high turnover. You don’t have a *hope* of finding the guy who developed the particular application three years ago, and this increases costs.

        There’s something worse though. In my experience of dealing with outsourced and offshored teams, is that you seldom meet anyone with significant development experience. I’ve never met anyone with, e.g. 5 years solid development experience. As an ABAPper with 15 years experience, I can tell you that I program better now than I did 4 years ago. And I’m far faster and more accurate than I was 13 years ago.

        I also know how SAP works, so with new technologies and new areas, I pick them up very quickly. Far more quickly than a newbie will.

        It seems there are few real development experts in the outsourcing world. Those who are excellent developers, quickly move on to something else. This has a negative effect on quality and that leads to increase costs. Research in the 80s showed that a “good” developer can develop with a Total Cost of Ownership that is 1/20th of that of an average developer. And 1/50th of that of a poor developer. When you’re encountering figures like that, unless you can have a “good” developer at offshore prices, you’ve really got not benefit. Long experience really matters.

        Finally, the problem with outsourcing development is that much of a business’s knowledge and wisdom is encoded in complex programs. By outsourcing these programming tasks (instead of run-of-the-mill development which I firmly believe has its place in the outsourcing world), a business effectively gives itself a lobotomy.

        (0) 
        1. Atul Mehrotra Post author
          Hello Matt,
          When building offshore team, we need to make sure we include in that team some senior developers and technical architect kind of resources. They can act as the gate keeper and perform quality review of development objects and act as a mentor for junior developers in e offshore team. With offshore quality review is the key… We need to make sure that we don’t release any objects from offshore team until a seniors member or the offshore lead had the chance to perform quality checks and the developer addresses all recommendations coming out of the quality review.
          (0) 
  2. Kumud Singh
    Hi Atul,

    What is written in the blog is a very ideal scenario,which is pretty difficult to achieve,unless budget and timelines are good for the project.
    The term ‘GOOD’ consultants itself discrepant.
    How would you term her/him as good?
    What if the person is pretty knowledgeable but is not able to share/interact with the team members.Everything cannot be judged in the interview sessions.
    Most importantly the lead should have the ability to motivate and enthuse optimism in the team members.

    Regards,
    Kumud

    (0) 
    1. Atul Mehrotra Post author
      When I say good I mean a developer who is strong in technical development and also have understanding of the SAPfunctional and business side. I do agree that communication skills is very important. You should  consider hiring some senior developers who can offer you a good combination of these there skills: technical, functional and good verbal and written communication which are critical for offshore team.
      (0) 

Leave a Reply