Thursday, November 22, 2012

The impact of stakeholders’ geographical distribution on managing requirements in a multi-site organization


Global software development includes all the processes of the software engineering cycle. Of all the processes, requirements gathering form the foundation of all the subsequent processes. Requirements gathering includes various processes like the elicitation , prioritization , negotiation , managing uncertainity, validation , analysis and specification. The requirements gathering in GSD faces challenges time differences, cultural diversity, knowledge management and poor communication . All these forms the superset of the challenges faced during requirements engineering.

The paper presents a short case-study before in which a GDS is being considered that took around 18 months for development when 120 developers were involved full time. They had the headquaters in US and teams distributed globally. The roles of the business management and development management were defined  and these were distributed globally on the development management . Business management was located in US. The requirements were gathered at all the sites and were passed to the US Business management group and it was here in the Business management group where business logic was added to the requirements being gathered and was updated into the database. Whenever the request for new requirements came it was again transfered to the BM , then database was updated and then passed to the developers to be developed. These processes took place in iteration till no new feature was added further. To convey each other the requirements back and forth , they needed to collaborate among themselves using certain technologies like email and then audio video conferencing , microsoft excel to communicate about the context diagrams. But they faced certain problems with the usage of these technologies , like for the email they were not aware wheter the right information being conveyed or answered and there was no instant feedback or answered recieved. Also with the audio-video conferencing they faced problems of lack of common communication tools and time differences and difficulty in understanding the accent of the other collocated team. From the case study the paper concluded the factors that effect the requirements engineering. They can be broadly classified as :

• Inadequate communication : This is due to lack of communication tools as well as lack of informal communication between the teams which result in incomplete information being gathered and in wrong information due to cultural and ccent differences.

• Knowledge management : The Knowledge is not being shared effectively in GSD. This is because of no common repositories and not updation of the information available on the repositories. Also common processes are not being used across sites that result in ambiguous information.

• Time differences : Different time zones result into less communication and less time to collaborate.

• Cultural Diversity : Different cultures have different way of treating each other and also there are different festivals and holidays which hinder the progress of the software.

The challenges can be discussed more holistic as below :

• Diversity in customer culture and business
The diversity in culture impacts many processes of the requirement engineering . It creates a problem in eliciting the requirements which requires better understanding of the requirements. Due to this the requirements are not prioritized effectively hence effecting prioritization. As culture differences hinder communication and coordination , requirements are not negotiated properly and also not validated.

• Achieving appropriate participation of system users and all
As there was less participation of the users and the personnel , who were distributed globally , due to time difference and poor communication , it effected many processes of the requirements engineering . Due to poor communication it becomes to elicit , priortize , manage and negotiate the requirements.

• Lack of informal communication and diminished awareness of local working context 

It becomes very difficult to communicate effectively and gather complete information in a single formal meeting. Informal communication plays a vital role in all software development. Due to lack of informal communication all requirements could not be gathered and specified and also , it is very important that the collocated coworkers be aware of each other expertise and working context as it keeps the teams informed about the knowledge about expertise , skills e-communication tools, various softwarea nd work style being used on other site. As there was lack of communication , so the requirements could not be validated effectively.

• Reduced level of trust

As discussed above , lack of informal communication resulted into lack of trust. As all the communication was formal , the categorization took place, for example in-group / out-group categorization , this resulted into collocated coworkers to suspect each other and made them think there was some information to which they were not exposed to. This led to ineffective negotiation of the requirements and priortization was also effected as it became difficult to negotiate the priorities as they lack personal relationship. This directly impacted the management of the requirements.

• Difficulty in managing conflict and having open discussions of the interests
Due to lack of informal communication , there was no personal relationship developed across teams on different sites. This greatly impacted when there was some conflict as the team members had the lack of trust and inaccurate impression which restricted in resolving conflicts. Due to use of e-communication tools for discussions , not all the interests were conveyed and conflicts could not be resolved effectively as the teams had no expectation of future face to face interactions. Hence the requirements were not elicited well, also as the conflicts were had to manage , it impacted the negotiation and the management of uncertainity.

• Difficulty in achieving common understanding of requirements

Due to timely meetings across sites and time differences , there was less discussion done on the requirements and to understand them.Mostly the changes are updated on repositories and are conveyed through email, this resulted in ambiguous requirements, as the teams at different site understood requirements differently. This was a result lack of open discussion and inefficient conflict management. As there was no common understanding of requirements , it effected all the processes of requirements engineering from eliciting to validation.

• Ineffective decision-making meetings
The meetings that were held across sites were few as it involves a fair amount of pressure to arrange such meetings as all the sites should have all required members present at the same time, which becomes difficult due to time differences. And due to lack of informal communication the decisions so formed were ineffective as there was lack of discussions on matters.This impacted the analysis of the requirements and due to ineffective decision , wrong analysis was done . Also it became difficult to negotiate and validate the requirements.

• Delay

GSD faces the major problem of delay. This is because for a matter which can be sorted out in an hour, it takes around a day to get resolved as mostly communication takes through email, which results into delay. This delays project too.


There are few solutions discussed in the paper to resolve above problems.The cultural differences can be resolved by proper awareness to all the team members about each others culture. Also the work allocation can be done accordingly.This would ensure greater trust among the team members and better communication. Communication problems can be tackled to a great degree by use of proper and common communication tools. Also a kickoff meeting prior to the start of the project , can serve as an informal meeting between team members and build personal relations. This would ease the problem of communication. Also different tools can be used for different processes. A common process for all reports will also serve as a effective means of communication. The teams can also be trained about the accent, languages and gestures and all so that proper communication takes place. Knowledge can be management by increasing the trust which would come from personal relationship build. Also common repositories should be used to keep all the latest information at a common place. Competence of the members should be measured so as other members know about each other expertise and skills. Also the working context should be made familiar to all. There is no way to overcome the problem of time differences, but it can be used effectively in around the sun development , that is full time development.


Global software development has requirement engineering as one of the important process which builds the foundation of the software development. Requirements faces a lot of challenges which broadly are culture differences, time differences, knowledge management and communication . The paper discusses the factors that effect the process of requirements engineering. Also it indicate what all processes of requirement engineering get effected due  to those challenges. The paper presents few solution to the problems faced. Also there is a need to monitor the requirements engineering phase as it will greatly effect the other phases of software engineering cycle. There is a need to develop a  requirement engineering tool that would be ease the process of requirement engineering for GSD. The tool should consider the problems discussed in the paper which are mainly lack of informal communication , delay , lack of trust, poor communication and work allocation.

No comments:

Post a Comment