We have successfully adopted agile model in our development process. Our onsite-offshore model represents activities of a software development project executed by teams working in cohesion to deliver an effective solution.

 We found below challenges in our onsite-offshore model:

  • Communication
  • Accountability
  • Measuring Progress
  • Dependencies
  • Built Trust & Confidence
  • Meetings
  • Trainings
  • Documentations

Agile process helped us to overcome these challenges.

  • Accountability
    • We use JIRA to assign tasks and it is each individual’s responsibility to complete the task
    • As part of the process, each user story is associated with QA task. On completion of the QA task, Jira ticket is closed
    • We make sure that each Developer/QA is assigned not more than 3 tickets at any given point. Developer will act on the task based on priority
    • We have one point of contact [lead] for each project from onsite and offshore to discuss on the below
      • Offshore team lead will give the status of the tasks and handover to onsite to work on remaining tasks and vice versa. It helps us in delivering things faster and effectively.
  • Communication
    • We maintain constant communication with daily Scrums
      • Update the status of the task
      • Discuss about dependencies & prioritization of the tasks
      • Re-assign the tasks based on the priority
    • We use below communication channels to contact onsite teams
      • Skype
      • Webex
      • GoToMeeting
      • Hipchat
      • Whatsapp
      • Mails
    • We make  sure onsite  and offshore teams are included in all communications, meetings, or other relevant events
    • We use below communication channels for sharing information
      • Confluence
      • Drop box
  • Measuring Progress
    • JIRA will give us status & progress of the tasks at any given time by creating boards [In Agile, scrum has ability to track progress at any given point]
    • We do maintain other metrics which explain in detail about the traceability matrix , defects and RCA
  • Dependencies
    • We overcome the dependencies by
      • Identifying the areas where the onsite dependencies are zero and assign those tasks offshore
      • Increasing the overlapping time
  • Built Trust & Confidence
    • Identifying the problem and use defined process to resolve
    • Keep expectations clear with onsite and discuss with them by using our regular communication channels
    • Deliver the tasks on time and identifying the dependencies early in dev stage and act accordingly
  • Meetings
    • We use below communication channels for meetings
      • GoToMeeting
      • Webex
      • Skype
    • We send meeting invites with agenda to targeted audience so that it won’t be open-ended meetings
    • Most of the times we will keep result oriented meetings and MOM sent to the team
    • For each sprint, we do status meetings and retrospectives to improvise the process
  • Trainings
    • Offshore trainings
      • Best practices
      • New technologies
      • Knowledge sharing on feature which each developer owning
    • Onsite trainings
      • Cross functional training
      • Feature training
      • KT on the feature they own
      • New technologies which we are going to use
    • Communication channels for trainings
      • Webex
      • Skype
      • Overseas travelling
      • Meeting Rooms