Page 1

Achieving Offshore Agility 

1

White Paper 

             

Importance of Communication &  Collaboration in Agile World                 

Author: Tabinda Aftab 

Research and Development            Application Services     


Importance of Communication & Collaboration In Agile World   

Introduction A 2003 Forrester Research survey of 145 senior  IT and business executives shows that the most  common problems reported by customers are   •  53% of survey respondents said “my  company's lack of project management  skills” presented a significant or major  challenge to offshore outsourcing  success   •  51% said their lack of a good process  for specifying the work posed a major or  significant challenge to success     One of the reasons for offshore development  failure is that customers tend to treat offshore  product development in the same way as  dealing with an onshore service provider.  Communication typically happens through  telephone or emails and often, supplemented  by visits from both sides to each other's  locations.   Time zone differences, poor communication  and coordination, and cultural differences can  lead to misunderstandings and delays. The lack  of real‐time visibility into project details, the  resulting problems are unknown to onsite  managers/stakeholders until the deployment  phase reaches when the problems are almost  unfixable.   The result is that productivity drops,  completion is delayed, and the anticipated  savings don't materialize. The loss of  communication richness (due to lack of face to  face interactions) makes it more difficult for  distributed teams to collaborate on design  challenges , clarify requirements and identify  and mitigate risks. This contributes to missed  requirements, rework, project delays, and cost  overruns.   Considering all these problems and outcomes  the conventional development model fail  because these models donot allow the  customers to come directly in contact with the  service provider’s team to develop an evolving  product , custom deployments and  maintenance of future versions.     

Hence, the conventional waterfall development  model that involves synchronous activities,  performed only after defined milestones or  stages are met and validated is not applicable.  The situation calls for the service provider to  perform a total, real‐time understanding of the  dynamic customer requirements with an ability  to be nimble footed.     Agile development model on the other hand  requires that there is a proper communication  channel between the customer and the  offshore development team at all stages of the  project. The mode of communication can differ  at each stage of the project, but the principle of  “Just‐In‐Time” modeling and Envisioning should  be adopted to ensure that the team has the  right information, no more, no less, at the right  time.   The need and importance of total  communication and collaboration cannot be  overemphasized in an Agile model. It is believed  that the success of agile model depends upon  the level of communication involved. This  document focuses on identifying issues related  to offshore /distributed teams, the  communication channels and the use of these  channels in achieving thorough communication  with respect to such situations. 

Distribution of Development Teams  Collaboration between different companies  involve different parties of specialists working  on one common goal. These can be projects of  equal cooperation with mutual responsibilities,  but also sub‐projects given to an outsourcing  partner. In certain complex or specialized  applications, domain experts are often hired  and included in a project team. Such experts or  consultants are usually need to be contacted  from time to time remotely.    The collaboration with customers is highly  important for software development. Unlike 

www.ephlux.com 

  White Paper 

2


Importance of Communication & Collaboration In Agile World 

traditional approaches where business analysts  collaborate on‐site with the customer during  the analysis and requirements engineering  phase, agile methodology demands a  continuous collaboration with highly  knowledgeable customer representatives  during the whole development life cycle.     Customer companies cannot in all cases  abandon their most knowledgeable staff  members to exclusively work off‐site with a  development team. In this case, different  combination of in‐site and off‐site teams are  established for the project such as  parts of the  development team have to be on‐site with the  customer and need to be remotely integrated  with the rest of the team off‐site, or the  customer representatives on‐site are remotely  integrated with the offshore development  team. 

or co‐sourcing models certain special measures  must be taken, especially in the area of  communication. The following practices ensure  effective communication in an offshore agile  project.    ƒ

Best Practices of Communication in  Agile Offshoring  Though the Agile methodology emphasizes  effective communication, preferably face‐to‐ face communication, in the case of distributed  teams this is mot possible. But, Agile processes  are not rule‐bound; rather, they can be evolved  and amended for methods and dynamics by  which organizations are able to build, maintain,  and apply systems of knowledge within  changeful, context‐dependent, collaborative  work situations.   Therefore to evaluate the viability of Agile  methodology to a distributed teams scenario,  the main concern is that it can support iterative,  incremental, and sustainable development;  encourage teamwork; promote self‐ management; become accustomed readily to  emergent changed requirements; and increase  customer contribution in the development  process. Although Agile is viable to off‐shoring      www.ephlux.com 

ƒ

Seeding Visits: Mutual seeding visits  between the customer and offshore  service provider to build and maintain  relationships as a basis for efficient  communication and collaboration are  highly useful if scheduled early in the  project or at project initiation. If some  joint tasks in a relaxed environment are  given that could allow the teams to  work together with the  customer/stakeholders might help in  the creation of valuable personal  relationships. The visits should be  scheduled for a sustainable duration to  really get people to connect. However,  this option is not always open but can  be a big step in initiating a relation.  Early Communication: There is a  tendency in software development to  bring the actual development teams  into the picture when it is time to  implement. The big picture is never  acquired by the team. This results in the  lack of understanding of customer’s  expectation. The team does not  understand the actual need or  significance of the solution to the  customer. Agile methodology insists on  bringing all involved teams and the  stakeholders to a single platform in  order to ensure that the big picture of  the system to be built is similar  throughout.  

  White Paper 

3


Importtance of Communication & & Collaboratio on In Agile World 

ƒ

ƒ

ƒ

ƒ

Co ollaboration:: Geographicaal  isssues must be e addressed to o  en nable collabo oration. It is  esssential for th he offshore teeam to  bee involved in as many analysis  an nd design discussions and  deecisions as po ossible  Plan Visibility:: Although agile  m model does no ot emphasize too  m much planning g ahead but  planning shortt term goals   on the “Just‐In‐ deepending upo Tiime” modelin ng and keepin ng  th hem visible to o all involved not  only the team((s) but the offfshore  sttakeholders aas well. This can be  acchieved throu ugh several  sccheduling too ols or project portals.  Additionally, th here should b be defined  m mechanism fo r project proggress  m monitoring.  Customer Engagement: At all times in  n agile metho odology the ccustomer is  an reequired to be e in the comm munication  lo oop. Unlike traditional metthods, Agile  em mphasizes that the actual technical  teeams stay in ccontact with tthe  cu ustomer/stakkeholders/off‐site team  m members to m mitigate any  m miscommunica ation scenario os   M Maintaining co onsistency off approach  an nd delivery: W With a collaborative  teeam, and a cu ulture of useful  co ommunicatio on in place, the work  reequired to de eliver the projject becomes  th he next dilem mma to overco ome. While  th he value of "in ndividuals and  in nteractions ovver processess and tools" iss  paarticularly im mportant for aagile teams, a  deefined processs and a constant  frramework of process langu uage can  reeally help enaable individuaals and 

4

Use of  common  software  modeling  language Regular  Monito oring &  Feedback

Early RIsk  Mitigation

Light Documeentatio n

www.ep phlux.com 

Successful Communicatio on  Practises

Build d Relation nship

ƒ

Continual Integration

Value mapping

interactio ons in distribu uted team  scenario. Without a un niversal langu uage  of softwaare developm ment, local  variationss in the use o of terms or  descriptio ons of activitiies, deliverables,  or roles ccan lead to great uncertain nty  over the responsibilities and the  expectatiions of team  memberss/stakeholderrs at each location  upon the others. Simp ple training caan  nderstandingg the  assist all involved in un same nottification and language.  Commun nication proto ocol: Just as aall the  involved team membeers and the  ders need to u understand the  stakehold same langguage, it is eq qually importtant  that a com mmunication n protocol and d  process iss well defined d. This can incclude  the use, p priority, frequ uency and motive  for using a certain com mmunication tools  M, chat, phon ne calls, wikis,  such as IM video con nference and emails etc. Since  decisionss regarding ad doption of  communiication and reeporting prottocols  have a much greater impact, they     White Paaper 


Importance of Communication & Collaboration In Agile World 

ƒ

ƒ

ƒ

should be discussed as part of pre‐ project planning, and any required  hardware or software resources should  be obtained well in advance of project  kick‐off.   Managing the development of shared  work products: Although a defined  communication protocol, with common  language and approach that it brings,  can assist in determining the activities  of the development team, the volume  and complexity of the work to be  performed can still be overwhelming.  This can be especially the case when a  development team has to share and  review the work with their off‐shore  partners/stakeholders. Problems  pertaining to review and collaborate in  real‐time on the deliverables of the  project can affect the quality and  progress. Therefore, it is mandatory to  ensure that the deliverables/files are  accessible to all involved members at all  time. One of the easy way to achieve  this is to create a central file repository  where the deliverables/files are  uploaded regularly and shared within  the teams and stakeholders.  Staff assessment As every project  requires a dissimilar resource needs,  team members must have the desirable  skill‐sets and experience. The team that  put together version 1.0 may not have  what is needed for the features planned  for 1.1. The management and the  stakeholders need to assess the teams  before instigating the project to ensure  that the team is capable enough for the  project.  Trust and feedback Because off shoring  has communication barriers,  misunderstandings are rampant. Trust      www.ephlux.com 

ƒ

ƒ

ƒ

ƒ

is critical to success. Trust enables the  trade of positive feedback and criticism.  Establishing common non‐work  interests helps a lot.   Evolving Process: The traditional  models normally fail in offshore  projects due to over stressing on the  process instead of the actual scenarios.  As agile believes that the requirements  of a project change and develop over  time thus a process that evolves along  with the project depending and  considering the unique requirements,  situation and circumstances and  limitation of the project can guarantee  smooth sailing of project and a satisfied  customer at the end of this.  Light Documenting: Although working  code is a sign of some degree of  accomplishment, it is never an  alternative for documentation.  However, an agile methodology does  not require heavy documentation of  every phase and deliverable. Lighter  documentation recording the  milestones, achievement, tests and  other non‐functional attributes of the  system can help the development team  as well as the customer.  Value‐stream Mapping: By scheduling  work based on the biggest problems  facing the business that have yet to be  solved, the greatest amount of value is  delivered to the business more rapidly.  This helps in scheduling and prioritizing  work. Not only that, but due to their  importance, these requirements are  more often than not front and central  and therefore more complete.  Early Risk Mitigation: Early risk  alleviation means continuously  addressing the hardest issues. In many     White Paper 

5


Importance of Communication & Collaboration In Agile World 

ƒ

ƒ

cases, the most important business  priorities are also the most  architecturally significant but this is not  always the case. So risk must be a  regular consideration. Risk shouldn't be  delayed because it only gets worse.   Continual Feedback: Ensure that the  feedback of all the  stakeholders/customers and business  manager’s feedback are taken in  account against every delivery. A  continual feedback cycle and analysis of  these feedbacks to identify any  new/evolved requirement ensures that  all the functional and non‐functional  and business requirements are met.  Continuous Integration: This is  probably one of the most talked about  feature of agile methodology.  Continuous integration of working  software snippets guarantees and most  importantly shows the progress of  software while also showing the  effectiveness of communication and  collaboration between he teams and  customer. Continuous integration also  unveils future risks, business limitation,  functionality limitations, bugs/defects,  architectural and quality affecting  factors at a very early stage in life cycle  that allows timely fix ups. This is the  main essence of Agile Development  Model that differentiates it from the  traditional models. 

Identifying and Choosing  Communication Protocol  As this paper as discussed that Agile  methodology is very communication intensive  and plans around collaboration of all involved. 

To gain maximum advantage from a  communication channel , it is required that the  scenario best for that channel is identified and  understood, as different tools work for different  kinds of problems.   The basic limitation to sort out is to identify a  channel and protocol to communicate the big  picture or the vision of the project.  Concentrating too much on day‐to‐day details 

and goals ,often the teams forget the actual  vision. This can hurt because then envisioning  and modeling decision might be taken upon an  individual’s perception of the project’s vision.  Therefore when deciding the communication  protocol and processes the focus should be on  communicating the vision better than merely  deciding on the task oriented issues such as the  next tasks, feature list etc. 

Groupware Technology  Groupware or computer supported cooperative  work (CSCW) systems refer to technology  supporting groups simultaneously working on a  common project. These systems provide the  teams and stakeholders with a means of  communication tools and interfaces enabling  shared working environment.  Workflow systems and virtual work  environments promote awareness, progress  monitoring and visibility throughout the team.   

  www.ephlux.com 

  White Paper 

6


Importance of Communication & Collaboration In Agile World 

CSCW systems aim at faster information  transfer, better utilization of tacit knowledge,  speeding up development processes and  reducing administrative overhead. These goals  are remarkably symmetrical to the ones of agile  methodology.  These tools can be categorized according to  their usability that is:  • Communication Tools  • Monitoring Tools   

Communication Tools  These tools provide a mechanism for  communication, conveying messages and  expressions.    Messaging Systems  Two kinds of messaging systems can be  distinguished, asynchronous and synchronous  messaging systems.   • Asynchronous messaging, in the form  of e‐mails, is a well established medium  for coordination and the exchange of  information over the Internet. Via  mailing lists members of  collaborating groups can keep  each other up to date,  synchronize and coordinate  their work. With digital  signatures and certificates,  email can be securely used  even for the exchange of  confidential business  information.    • Synchronous messaging is  often the most commonly used medium  through instant messengers (IM).  Communication over IMs happens in  real‐time. IM clients enable something  like a shared virtual office, reducing the  need of scheduled appointments.  

Audio‐Conferencing Systems  Today, audio conferences can be realized over  ISDN (Integrated Services Digital Network)  telephone lines, an Internet based VoIP (Voice  over Internet Protocol), or mobile  communication standards. Spoken  communication is much more efficient for the  clarification of complex or difficult matters.  Being able to hear the opponents' voices  enhances the exchange of information  tremendously, especially in emotional regards.  Audio conferencing is more dependable while  communicating important functionality  requirements and finding solutions to any  identified problems as actual audio  transmission can better convey the emotions  and notions.  Video‐Conferencing Systems  Video conferencing might require some upfront  setups and ask for mutual availability of all the  team members.  Video conferencing, a step  ahead audio conferencing is closest to face‐to‐ face‐ meetings and can bring the teams and 

customers close. Since the participants are able  to see each other the actual emotions and  expressions can be exchanged thus reciprocal  trust can be propagated. 

Monitoring Tools 

  www.ephlux.com 

  White Paper 

7


Importance of Communication & Collaboration In Agile World 

These tools assist in exploring the project’s  progress, going through the developed  functionality and other scrutinizing purposes.   Wikis  Wiki systems allow easy editing capabilities  within the browser, include a change tracking  functionality, thus any previous known‐good  state of a page can be restored. It is an easy  way of collaboratively editing documents. An  extremely high degree of linkages between  different entries and file attachments is  characteristic for wikis. Wiki systems usually  offer a complementary discussion forum with  threads pertaining to the different entries.  These threads can be used by editors to discuss  and comment changes. Changes can be  propagated automatically by email. 

Communication Effectiveness  Metrics  Just as the requirement and complexity of  different software differ such as product  development, client‐server application,  business oriented application, scientific  application; so are their communication  requirements. Depending upon the nature of  the application, one or more of the following  criteria may be chosen for measuring  communication effectiveness:  Combine Multiple Channels  There are several channels available for 

Screen Sharing Software  Screen sharing applications enable  participants in distant locations to  simultaneously display identical screen  content, according to the principle of “what  you see is what I see” (WYSIWIS).  The host of a session can edit and navigate  through the viewed documents. Screen  sharing tools or functionality are a very good  way to enhance the efficiency of video and  audio conferences.    Group Editing Software  Collaboration requires different people to  contribute to shared documents. Group editing  software enables group members at distant  locations to simultaneously work on the same  documents. Consistency of concurrent changes  is maintained by sophisticated write protection  mechanisms. Group editing software enables  the collaborate creation of work products in  video and audio conferences. 

communication but a good combination of all  these channels according to their features and  the need of time. Phone calls and chats are the  most common mechanism of communication  but when more serious and formal  communication is required other channels such  as video and audio conferencing are preferred.  Other monitoring tools allow visibility of  project’s progress and goals.  Verification of Effectiveness  The best practices in agile off shoring  emphasize on maintaining a feedback loop  between the technical team as well as the  customer. Such loops and regular monitoring 

  www.ephlux.com 

  White Paper 

8


Importance of Communication & Collaboration In Agile World 

also test the effectiveness of the channels  selected and used.  Communication Audit  Communication audits can be arranged by  arranging formal/informal focus groups  scrutinizing the use and frequency of  communication channels and identifying any  gaps to be removed. 

situation. Furthermore, every agile project  needs to employ flexible and adoptive  processes that matches there circumstances  and requirements and evolves with the project.   

References 1.

Conclusion  

2.

Any organization or person experienced in  outsourced software development if asked  about the main factor for the success or failure  of any project would generally identify  communication effectiveness as the driving  force. Therefore, ensuring the effectiveness of  communication channels in turn guarantees the  success of an outsourced project. In an Agile  world it is believed that the success of any  project local or offshore depends upon the  communication. Agile methodology identifies  the importance of creating and maintaining  trust relationships to build efficient  communication channels. 

3. 4.

5.

FOWLER, M.: Using an Agile Software Process  with Offshore Development.  GRUDIN, J.: Computer Supported Cooperative  Work: Its History and Participation.  John Scarborough :The Distributed Agile Model  Julian Holmes: Geographically distributed agile  teams: Enabling individuals and interactions with  processes and tools.  Nari Kannan's "Metrics for Outsourced Software  Development"  http://www.sourcingmag.com/content/c070205 a.asp 

 

Offshore Agile Methodology requires a little  more coordination, regulation, and scheduling ‐ ‐ in other words a little more discipline. Unless  an Agile team is composed entirely of bright,  experienced, self‐managing, team‐supporting  multiple‐domain experts, some degree of  discipline is a compulsory requirement.  Conclusively, the role of communication is  significant in creating a Offshore Agile Success  Story. With the technological advances and  internet as the most common medium of  communications several channels for are  available; however the key is to identify the  most dependable and workable in a certain      www.ephlux.com 

  White Paper 

9

Communication & Collaboration in an Agile World!  

Though the Agile methodology emphasizes effective communication, preferably face‐toface communication, in the case of distributed teams this...

Read more
Read more
Similar to
Popular now
Just for you