Agile Offshore Software Development: Best Practices

Agile Offshore Software Development: Best Practices

Agile and offshore development may seem not fitting together so well, since close communication and an open culture are difficult to combine with distance and culture differences. For geographically distributed teams it is harder to communicate the flow of work, issues and backlog status. However, recently many successful teams have proven that using an agile software process with offshore development is possible. Moreover, taken together with all the benefits of outsourcing, it brings quite palatable fruits!

When decided to go offshore, the best way to do software development if you’re not in the same room is with agile methodology. Below you will find efficient methods and best practices of agile offshore software development.

Pic Credit: pinterest

Agile off shoring – best practices

1. Close communication

Agile methodology promotes regular short meetings for the entire team. When working with offshore team, these meetings are extremely important, allowing teams to coordinate their work with each other.

The biggest problem here may become the time zones difference. That’s why it is important to develop the meetings schedule accordingly, taking into account the local time of both (or more) parties.

For example, the best time for meetings when working with US customers from California is 8-10 A.M. PST. This allows you to complete all the daily tasks during the customer’s night. Next morning they get the report and continue to work without any interruptions.

Below you will find three types of meetings most common for scrum offshore development.

  • Daily stand-up meetings. They are usually held in the morning and they last for 15-20 minutes. During the meeting, each team member should answer three questions: What was done yesterday, what will be done today and what are current obstacles for performing the task.
  • Sprint planning meetings for preparing the next sprint. Sprint goal and sprint backlog are the outcomes of this meeting.
  • Release planning meetings, on which release plans are created. Release plans are in their turn further used for development of iteration plans.

2. Short iterations

Sorter iterations facilitate better communication of requirements, more accurate status reporting and more meaningful reviews with the customer. Additionally, they simplify course corrections a lot, which is extremely important for early-stage start-ups.

It would recommend always any average size projects may use iterations of one or two weeks in length.

3. Common coding standards and other stuff

There are well-known practices used in agile software development: common coding standards, a source-control server, continuous integration, bug tracking and design patterns. These practices become more important with offshore development teams due to the reduced face to face communication. Thus, they must be applied to distributed teams more strictly than to local teams.

Make sure that you are working with the source code service, that allows both onsite and offshore teams to work smoothly. It’s worth spending time on finding another source code control systems if you’re stuck with one that doesn't handle remote working very well.

When managing agile offshore development teams, you also have more need for active collaboration tools: wikis, issue tracking tools, prototyping tools and other.

4. Document everything

When working with agile development teams, it’s important to have well-defined specifications of your product. When working with offshore agile development team, it is vital.

Make sure to spend a lot of time to define your product specs and requirements. So you assign a project manager to each of your customers for this purpose, so that upon the project completion you can ensure 100% customer satisfaction. This makes vendor happy too :)

All the changes to existing documentation need to be done in the track changes mode, so that you don’t need to communicate directly to each member what changes were made. Otherwise, make sure you have a properly defined version control system.

5. Use cases

Offshore agile development requires more attention to communicating requirements, since the risk of understanding them in a wrong way increases with the distance and culture differences.

Before starting an iteration, make sure to have user stories that will give your offshore development team a concrete target to aim at.

So you apply this technique with the help of a sketchy story prepared by the customer and concrete use cases prepared by your project managers based on this sketchy story. It has been found that this approach also helps both PMs and customers to really understand the requirements, since this is when the most of right questions are asked.

 

Agile approach is especially valuable for managing offshore development projects, since coding and testing in geographically distributed locations requires a flexible approach, prompt feedback and a consistency in teamwork. However, not all common Agile practices are found to be fully reasonable when working with offshore teams. Make sure to adjust agile principles to the extent you find appropriate.

Which of the above mentioned practices do you follow and find the most outstanding? Do you think there are other Agile practices that work for offshore development and are worth mentioning? Share your thoughts.

要查看或添加评论,请登录

Preetish N.的更多文章

  • AI in Product Management: A Strategic Advantage

    AI in Product Management: A Strategic Advantage

    The rapid evolution of technology in recent years has revolutionized various sectors, and product management is no…

    7 条评论
  • What is Scaled Agile Framework

    What is Scaled Agile Framework

    The Scaled Agile Framework or SAFe is a template for scaling Agile Principles and Tools to large Organizations. SAFe…

  • WHAT IS MINIMUM VIABLE PRODUCT

    WHAT IS MINIMUM VIABLE PRODUCT

    THE CONCEPT "Minimum" The most rudimentary bare-bones foundation of the solution possible. "Viable" Sufficient enough…

  • Forecasting: Product Backlog Completion

    Forecasting: Product Backlog Completion

    If you can get 2-3 sprints of velocity, as DrewJordan recommends, this is hands down the best way. That being said…

  • Don't just make App : Let's develop more efficient #Androidapp.

    Don't just make App : Let's develop more efficient #Androidapp.

    Efficient threading Tip 1. How to off-load operations onto threads in background Since by default all operations in an…

  • The Role of #Wireframing in Mobile App Design

    The Role of #Wireframing in Mobile App Design

    A wireframe is a blueprint or skeletal guide that represents the functionality and navigation of an app. Some people…

  • User Stories in Agile Development

    User Stories in Agile Development

    User Stories A user story is a brief statement that identifies the user and her need. It makes an incisive abstract…

社区洞察

其他会员也浏览了