agile development in globally distributed teams

2
Agile development in globally distributed teams Agile is considered to be a lightweight methodology. Unlike more structured traditional development methods it is claim for flexibility even in situation where changing or ambiguous projects requirements seem to be the norm. Agile methodology over the years has become an integral part of organization’s software development process, allowing organization to be nimble and flexible in bringing in their product and services in the market. For the past few years organizations have turn up into agile methodologies and consider it as the breath of fresh air for the software development process. Agile offers a flexible and practical approach to development that the traditional methods can’t deliver. Organizations are implementing agile development to varying degrees, to increase speed to market their product, increase productivity, growth strategy, improve operation effectiveness processes, improve product quality etc. Even in the case of distributed teams agile methodology has the potential to achieve similar objectives despite the fact that the very idea of physically distributing teams seems to conflict with agile communication practices. Ideally in an agile environment, developers, Product Owner or business partners are in close proximity and sit under one roof. This co-location typically facilitates several benefits of Agile: improve efficiency, frequent communication and feedback, continuous collaboration opportunity, a sense of ownership, foster closer working relationship and team can learn from other team practices. However there are situations when managers have to manage distributed team comprised of both onshore and offshore resources. These distributed agile teams often have unique challenges that the agile process doesn't address. But given proper tools to work an organization can curtail the major bottlenecks of distributed teams. Agile methodology can be equally effective even in the case of distributed teams given the teams are provided with adequate tools to maximize communication across geographically distributed environments. Distributed agile development makes it possible to tap into new global markets and more importantly can complete a project in a faster rate if teams in different time zones continuously work on a particular project that potentially reduces costs. In an ideal agile environment tools are not consider the primary focus of agile teams, but if selected properly they can certainly make teams more effective and efficient. Distributed agile teams may not be able to rely on the usual agile methods of face-to face team meetings, sticky notes, task boards, or burndown charts on a wall for tacking an updating their project work status. What is essential for the distributed teams are a robust system that can help the team to provide certain benefits provided they are flexible and do not hinder a team's natural workflow: Information sharing, level of documentation, co-ordination between multiple teams, communication channels, status tracking and reporting, frequency of meetings.

Upload: venkat-janardhanam-ms-mba

Post on 02-Jul-2015

347 views

Category:

Technology


2 download

TRANSCRIPT

Agile development in globally distributed teams

Agile is considered to be a lightweight methodology. Unlike more structured traditional

development methods it is claim for flexibility even in situation where changing or ambiguous

projects requirements seem to be the norm. Agile methodology over the years has become an

integral part of organization’s software development process, allowing organization to be

nimble and flexible in bringing in their product and services in the market.

For the past few years organizations have turn up into agile methodologies and consider it as

the breath of fresh air for the software development process. Agile offers a flexible and practical

approach to development that the traditional methods can’t deliver.

Organizations are implementing agile development to varying degrees, to increase speed to

market their product, increase productivity, growth strategy, improve operation effectiveness

processes, improve product quality etc. Even in the case of distributed teams agile methodology

has the potential to achieve similar objectives despite the fact that the very idea of physically

distributing teams seems to conflict with agile communication practices.

Ideally in an agile environment, developers, Product Owner or business partners are in close

proximity and sit under one roof. This co-location typically facilitates several benefits of Agile:

improve efficiency, frequent communication and feedback, continuous collaboration

opportunity, a sense of ownership, foster closer working relationship and team can learn from

other team practices. However there are situations when managers have to manage distributed

team comprised of both onshore and offshore resources. These distributed agile teams often

have unique challenges that the agile process doesn't address. But given proper tools to work

an organization can curtail the major bottlenecks of distributed teams.

Agile methodology can be equally effective even in the case of distributed teams given the

teams are provided with adequate tools to maximize communication across geographically

distributed environments. Distributed agile development makes it possible to tap into new

global markets and more importantly can complete a project in a faster rate if teams in different

time zones continuously work on a particular project that potentially reduces costs.

In an ideal agile environment tools are not consider the primary focus of agile teams, but if

selected properly they can certainly make teams more effective and efficient. Distributed agile

teams may not be able to rely on the usual agile methods of face-to face team meetings, sticky

notes, task boards, or burndown charts on a wall for tacking an updating their project work

status. What is essential for the distributed teams are a robust system that can help the team to

provide certain benefits provided they are flexible and do not hinder a team's natural workflow:

Information sharing, level of documentation, co-ordination between multiple teams,

communication channels, status tracking and reporting, frequency of meetings.

If the team is distributed, the organization should make conscious efforts to curtail as much of

the lost communication bandwidth with augmented processes and practices:

Bringing teams together via video conferencing as often as possible, especially during

planning and critical points during projects

Use of Digital wall so that each team members have updated work flow all the time

Team manger should have a clear mandate and should ensure that each team members

stay on track with communication practices

Provide distributed teams with tools that will help them fulfill these user stories

Favor integrated systems that offer full traceability from specification design through

development and testing

Integrated wiki linked to tasks and stories to store notes from various design meetings

and impromptu conversions

In current economic market with so much pressure on performance, revenue generation agile

methodology can give a competitive advantage at any given time. Agile methodology success is

based on team work. The thinking behind agile is collaboration and working together as a

team. Most traditional models are very rigid and doesn’t enable changes – thus relatively less

flexible than the Agile model. Because of this nimble approach, Agile has a comprehensive

response to most of the challenges organizations’ face in a rapidly changing, competitive global

market.