importance of communication in agile.. - ephlux · challenges , clarify requirements and identify...

9
White Paper Author: Tabinda Aftab Research and Development Application Services Importance of Communication & Collaboration in Agile World

Upload: vuhanh

Post on 02-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

 

 

1 Achieving Offshore Agility 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

   

White Paper 

Author: Tabinda Aftab 

Research and Development           

Application Services 

 

 Importance of Communication & Collaboration in Agile World 

Importance of Communication & Collaboration In Agile World  

     www.ephlux.com 

  

White Paper 

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 

3 Importance of Communication & Collaboration In Agile World 

  White Paper 

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. 

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 

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. 

  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.  

 

Coisenesbeande

PmmpdeTithostacscAmm

Canreloemtecumm

Mantecoreththinpadefrre

ollaboration:ssues must benable collabossential for the involved in nd design disecisions as polan Visibility:

model does nomuch planninglanning shortepending upoime” modelinhem visible tonly the team(takeholders achieved throucheduling toodditionally, th

mechanism fomonitoring. ustomer Engn agile methoequired to beoop. Unlike trmphasizes theams stay in customer/stakmembers to mmiscommunicaMaintaining cond delivery: Weam, and a cuommunicatioequired to dehe next dilemhe value of "innteractions ovarticularly imefined procesramework of eally help ena

: Geographicae addressed tooration. It is he offshore teas many anacussions and ossible : Although agot emphasize g ahead but t term goals  on the “Just‐Ing and keepino all involved (s) but the offas well. This cugh several ols or project here should br project prog

agement: At odology the ce in the commaditional metat the actual contact with tkeholders/offmitigate any ation scenarioonsistency ofWith a collabulture of usefon in place, theliver the projmma to overcondividuals anver processes

mportant for ass and a consprocess languable individua

www.ep

Import

al o 

eam to lysis 

ile too 

n‐ng not fshore an be 

portals. be defined gress 

all times in customer is munication thods, Agile technical the ‐site team 

os  f approach orative ul e work ject becomesome. While d s and tools" isagile teams, a tant uage can als and 

 phlux.com 

tance of Com

 

LigDocume

n

munication &

interactioscenario.of softwavariationsdescriptioor roles cover the expectatimembersupon theassist all same not

Communinvolved stakeholdsame langthat a comprocess isthe use, pfor using such as IMvideo condecisionscommunihave a m

BuildRelation

ht entation

Early RIsk Mitigation

& Collaboratio

ons in distribu Without a unare developms in the use oons of activitican lead to grresponsibilitiions of team s/stakeholder others. Simpinvolved in untification and nication prototeam membeders need to uguage, it is eqmmunications well definedpriority, frequa certain comM, chat, phonnference and s regarding adication and reuch greater i

Successful Communicatio

Practises

Use of common software modeling language

d nship

on In Agile W

White Pa

uted team niversal langu

ment, local of terms or ies, deliverabeat uncertaines and the 

rs at each locple training canderstandinglanguage. ocol: Just as aers and the understand tqually importn protocol andd. This can incuency and mmmunication ne calls, wikisemails etc. Sdoption of eporting protmpact, they 

on 

RegMonitoFeed

Value mapping

4 orld 

  aper 

uage 

les, nty 

ation an g the 

all the 

he tant d clude otive tools , ince 

tocols 

ular oring & back

Continual Integration

 

   www.ephlux.com 

5 Importance of Communication & Collaboration In Agile World 

  White Paper 

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 

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 

 

   www.ephlux.com 

6 Importance of Communication & Collaboration In Agile World 

  White Paper 

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 

7 Importance of Communication & Collaboration In Agile World 

  White Paper 

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 

8 Importance of Communication & Collaboration In Agile World 

  White Paper 

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. 

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 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 

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 

9 Importance of Communication & Collaboration In Agile World 

  White Paper 

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. 

Conclusion  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. 

 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 

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. FOWLER, M.: Using an Agile Software Process 

with Offshore Development. 2. GRUDIN, J.: Computer Supported Cooperative 

Work: Its History and Participation. 3. John Scarborough :The Distributed Agile Model 4. Julian Holmes: Geographically distributed agile 

teams: Enabling individuals and interactions with processes and tools. 

5. Nari Kannan's "Metrics for Outsourced Software Development" http://www.sourcingmag.com/content/c070205a.asp