Communication in distributed software development
Communication in Distributed Software Development is an area of study that considers communication processes and their effects when applied to software development in a globally distributed development process. The importance of communication and coordination in software development is widely studied[1] and organizational communication studies these implications at an organizational level. This also applies to a setting where teams and team members work in separate physical locations. The imposed distance introduces new challenges in communication, which is no longer a face to face process, and may also be subjected to other constraints such as teams in opposing time zones with a small overlap in working hours.
There are several reasons that force elements from the same project to work in geographically separated areas, ranging from different teams in the same company to outsourcing and offshoring, to which different constraints and necessities in communication apply. The added communication challenges result in the adoption of a wide range of different communication methods usually used in combination. They can either be in real time as in the case of a video conference, or in an asynchronous way such as email. While a video conference might allow the developers to be more efficient with regards to their time spent communicating, it is more difficult to accomplish when teams work in different time zones, in which case using an email or a messaging service might be more useful.
History
The history of communication in distributed software development is tied to the historical setting of distributed development itself. Communication tools helped in advancing the distributed development process, since communication was the principal missing component in early attempts for distributed software development . One of the main factors in the creation of new tools and making distributed development a viable methodology is the introduction of the Internet as an accessible platform for developers and researchers, facilitating the exchange of both code and information in a team.
من أوائل مظاهر التطوير الموزع مجتمع المصادر المفتوحة، حيث يجتمع المطورون لا من خلال مؤسسة ومواردها، بل من خلال المشاركة الطوعية في المشروع نفسه، مما ينتج عنه فرق متنوعة من مواقع جغرافية مختلفة. في هذه المشاريع، تبرز الحاجة الماسة إلى أدوات التواصل والتعاون. ويُظهر تاريخ البرمجيات الحرة والمفتوحة المصدر أنه مع مرور الوقت، ازداد تعقيد المشاريع وعدد المشاركين فيها. وقد لعبت أدوات التواصل والتعاون المحسّنة دورًا هامًا في هذا التزايد. في البداية، كانت الوسائل المتاحة في الغالب غير متزامنة، مثل البريد الإلكتروني والقوائم البريدية ، أو حتى الاعتماد على المنشورات الدورية المكتوبة لنشر المعلومات. أما التواصل المتزامن فكان يقتصر في الغالب على المكالمات الهاتفية .
في هذه المرحلة المبكرة، لا توجد الكثير من التقارير حول هذا النوع من التطوير الموزع في بيئة مؤسسية . مع ذلك، مهدت التطورات والأدوات التي ظهرت في السنوات السابقة الطريق أمام الشركات لبدء دراسة هذه الممارسات وتبنيها عند إمكانية تحقيق فوائد منها. ظهرت أدوات أخرى، مثل المؤتمرات الصوتية والرسائل الفورية، في الغالب لأغراض أخرى، ولكن سرعان ما تم اعتمادها، واستمرت في دفع فكرة التطوير الموزع قُدماً. أدى هذا التوجه الجديد إلى ظهور اهتمام بمجال دراسة "التواصل في تطوير البرمجيات الموزعة" بهدف تحسين فعالية وجودة عملية التطوير.
أهمية
يتطلب تطوير البرمجيات، بشكل عام، تبادلًا واسعًا للمعلومات [ 2 ]، وتشير الدراسات إلى أن نسبة كبيرة من وقت المطورين تُقضى في أنشطة التعاون والتواصل. [ 3 ] وبينما يُستخدم التواصل الرسمي للمهام الأساسية مثل تحديث حالة المشروع أو تحديد المسؤول عن أي عمل محدد، فإن التواصل غير الرسمي يُعدّ بالغ الأهمية أيضًا لعملية التطوير. [ 4 ] يساعد التواصل غير الرسمي ، أو ما يُعرف بـ"حديث الممرات"، المطورين على البقاء على اطلاع بما يدور حولهم، وما يعمل عليه الموظفون الآخرون، ومن يمتلك الخبرة في أي مجال، والعديد من المعلومات الأساسية الأخرى التي تُمكّنهم من العمل معًا بكفاءة وخلق "روح الفريق". [ 4 ] كما تُظهر الدراسات أنه كلما زاد عدم اليقين في المشروع، زادت أهمية هذا النوع من التواصل. [ 1 ]
في بيئة هندسة البرمجيات العالمية ، يصعب إعادة بناء التواصل غير الرسمي . وقد يؤدي غياب هذا النوع من التواصل إلى مفاجآت، مما ينتج عنه عدم توافق في العمل وإعادة صياغة. [ 4 ] لهذا السبب، يُعدّ التواصل في تطوير البرمجيات الموزعة أمرًا بالغ الأهمية لأي شركة تطبق هندسة البرمجيات العالمية. ويسعى هذا المجال من الدراسة، من بين أمور أخرى، إلى إعادة بناء التواصل غير الرسمي في بيئة هندسة البرمجيات العالمية، بهدف تطوير البرمجيات دون فقدان سرعة التطوير التي تميز هذه البيئة. [ 5 ]
التحديات
قد تعيق عدة عوائق التواصل، مثل العوائق الاجتماعية والثقافية واللغوية والمعرفية والجغرافية والزمنية. [ 6 ]
قد تتجلى الحواجز الاجتماعية والثقافية في وسائل التواصل. في الواقع، تُظهر دراسة أن لدى العملاء الأمريكيين واليابانيين تفضيلات مختلفة فيما يتعلق بها. يفضل العملاء الأمريكيون التواصل بشكل متكرر عبر الهاتف والبريد الإلكتروني بشكل غير رسمي، بينما يفضل العملاء اليابانيون التواصل الشفهي واستخدام وسائل التواصل الإلكتروني بشكل أقل تكرارًا ولكن رسميًا. [ 7 ]
تظهر الحواجز اللغوية عادةً عندما لا يتحدث أحد أطراف المحادثة لغته الأم. فإلى جانب ضرورة إتقان اللغة الأم للتعبير عن الذات، توجد عوائق أخرى، كالتعابير الاصطلاحية واللغة العامية ، التي تُعيق التواصل غير الرسمي .
وفقًا لمنحنى ألين ، يتناقص معدل التواصل بين المهندسين بشكل كبير مع ازدياد المسافة بينهم. أما في حالة زملاء العمل في الشركة، فغالبًا ما يبدأ التواصل بينهم بلقاءات عفوية. وعندما تكون المسافة كبيرة، يقلّ تواصلهم. في الواقع، أُجريت دراسة تجريبية قارنت معدل التواصل بين زملاء العمل في مواقع محلية وبعيدة. وأجاب معظم المشاركين بأنهم يتحدثون مع أغلب زملائهم في المواقع المحلية مرة واحدة على الأقل يوميًا، بينما يتحدثون مع زملائهم في المواقع البعيدة أقل من مرة واحدة أسبوعيًا. [ 5 ]
Temporal barriers are closely related to geographical barriers. Temporal barriers are typically present on a scenario where two or more coworkers are in different time zones and oftentimes in different geographic locations. Developers mostly communicate during work hours, and while they can use asynchronous communication which doesn't require overlapping work hours, it inherently delays the communication process.[8] As an alternative they can use synchronous communication if they need to communicate in real time, however it introduces the complication of finding overlapping work hours. Follow-the-sun is a common approach taken by software companies to mitigate the latter issue.
Research
Research on Communication in Distributed Software Development is conducted in order to improve the understanding of the implications of different communication methods on the success of the development process and the final product.
Communication is an essential process in coordinating a software development project and sharing knowledge between the team members. Previous studies[9][10] claim that sharing knowledge is important to building trust and even improving the performance of the whole team, which also applies in a distributed software development process.
It can also bring challenges, as referred in the section above, that when improperly dealt with can delay a team project or even cost money to the company. A great deal of studies tries to find ways to mitigate these problems and avoid miscommunication.[11]
The tools used for communication are within the scope of some studies. They show the advantages and disadvantages of some different types of tools, and also which kind of tools the developers like to use for certain situations.[12][13]
The interest of researchers in how a globally distributed development influences the success of the project is noted in publications such as[11] where the author mentions the need for more empirical studies on the subject. Another study[14] tried to find more direct relations between time zones and language barriers without significant results, which as suggested by the author, might be due to low sample size. However it was shown[5] that there is indeed a relationship between distributed development and longer response times between collaborators. There are also studies that correlate the frequency of communication and the geographical distance, such as Allen curve.
تشير الأبحاث التي أجريت حتى الآن إلى الحاجة إلى تحسين المنهجيات والأدوات التي تستخدمها الشركات، وأن التواصل عامل كبير في نجاح الشركة.
أشكال التواصل
يمكن تحقيق التواصل في بيئة تعاونية إما بشكل متزامن أو غير متزامن، ويختلف ذلك في كيفية تفاعل الأفراد مع بعضهم البعض. وتُنشئ أشكال التواصل المختلفة أنظمة وأدوات تواصل مماثلة، وذلك بحسب نوع التواصل المدعوم، والتي تخدم أغراضًا مختلفة في بيئة التطوير الموزعة. حتى داخل الشركة الواحدة، تنعكس مهام ومسؤوليات الأعضاء المختلفين في استخدامهم للأدوات المستخدمة في بيئة العمل. [ 15 ]
الأنظمة المتزامنة
في الأنظمة المتزامنة ، يستقبل المشاركون ويرسلون المعلومات في الوقت الفعلي، وعادةً ما يتبع الرسالة ردٌّ خلال فترة زمنية قصيرة. يُستخدم هذا النوع من التواصل في الحالات التي تتطلب استجابة فورية عندما يكون المشارك الآخر متاحًا على الفور، أو في التواصل غير الرسمي في بيئة مباشرة. ويمكن استخدامه في المؤسسات للإجابة على الأسئلة بسرعة، ومناقشة الأفكار، ونقل التطورات المهمة التي تتطلب اهتمامًا، أو أي رسالة مهمة أخرى.
الأنظمة غير المتزامنة
توفر الأنظمة غير المتزامنة آلية لإرسال واستقبال الرسائل، حيث يمكن للمرسل إرسال المعلومات وقتما يشاء، ولا يستقبلها المتلقي إلا عندما يكون متاحًا. يمكن استخدام هذا النوع من التواصل لإجراء نقاش أو نقل معلومات حول أمور أقل إلحاحًا، نظرًا لعدم ضمان الرد الفوري. وهو مفيد في عملية التطوير الموزعة، خاصةً لأن الفرق المختلفة العاملة على مشروع ما لا تعمل في أغلب الأحيان في وقت واحد، ويمكن مناقشة الأمور غير العاجلة بشكل غير متزامن.
الأنظمة الهجينة
هناك أيضًا نهج آخر ممكن، حيث يوفر النظام كلا شكلي الاتصال في نفس البيئة، مما يتيح مرونة أكبر في التواصل. تُعرف هذه الأنظمة بالأنظمة الهجينة، حيث تتسم الرسائل المتبادلة عادةً بخصائص الرسائل غير المتزامنة، ولكن صُممت هذه الأنظمة أيضًا لاستخدام هذه الرسائل كشكل من أشكال الاتصال المتزامن. إنها تمثل حلاً وسطًا بين الاتصال غير المتزامن والاتصال المتزامن.
أدوات
تتنوع أدوات التواصل في هندسة البرمجيات الموزعة عالميًا، وتختلف باختلاف شكل التواصل المستخدم، والواجهة المُقدمة للمستخدم، وغيرها. كما تستخدم الفئات المختلفة معلومات حسية متنوعة لتحسين التواصل. تشمل الأدوات المتاحة المراسلة الفورية ، والبريد الإلكتروني ، والمؤتمرات الصوتية والمرئية ، والمكاتب الافتراضية ، والواقع الافتراضي . يقدم هذا القسم لمحة عامة عن أنواع الأدوات المختلفة وبعض الأمثلة الشائعة الاستخدام حاليًا، ولكنه ليس قائمة شاملة لجميع الأدوات المتاحة. يمكن الاطلاع على قوائم أكثر تفصيلًا في مصادر أخرى. [ 16 ]
أدوات غير متزامنة
بريد إلكتروني
البريد الإلكتروني وسيلة لتبادل الرسائل الرقمية بين الأشخاص باستخدام أجهزة رقمية كالحواسيب والهواتف المحمولة وغيرها من الأجهزة الإلكترونية. وعلى عكس معظم تطبيقات المراسلة الفورية ، لا يتطلب البريد الإلكتروني اتصالاً بالإنترنت في الوقت نفسه من قِبل المستخدمين أو أجهزتهم. وتختلف تكلفة استخدام البريد الإلكتروني في الشركات، فقد تمتلك الشركة، على سبيل المثال، خادم بريد إلكتروني خاص بها.
أظهرت الدراسات التجريبية أن جميع أعضاء فريق تطوير البرمجيات استخدموا هذه الأداة بفعالية. وعلى عكس الرسائل الفورية ، فإن رسائل البريد الإلكتروني مصممة لتكون أكثر استقلالية وأقل تأثراً بسياق التواصل، وبالتالي فإن كتابة رسائل البريد الإلكتروني تتطلب وقتاً أطول من رسائل المراسلة الفورية التقليدية. [ 12 ]
من بين مزودي خدمة البريد الإلكتروني Gmail و Outlook.com و ProtonMail .
أدوات متزامنة
مؤتمرات صوتية ومرئية
تُعدّ مؤتمرات الصوت والفيديو تقنيات لاستقبال ونقل إشارات الصوت والفيديو من قِبل المستخدمين في مواقع مختلفة، وذلك للتواصل بين الأشخاص في الوقت الفعلي. وتسعى هذه الأدوات إلى محاكاة التفاعل الغني الموجود في الاجتماعات وجهاً لوجه. [ 13 ] وتُعدّ تقنية الاتصال المتزامن الغنية ، مثل مؤتمرات الفيديو، مناسبة للمناقشات التفاعلية للغاية، حيث يمكن للغة الجسد ونبرة الصوت أن تُعبّر عن مدى الفهم أو الاتفاق بين المشاركين. [ 17 ]
يُعدّ مؤتمر الفيديو أيضاً وسيلة جيدة لبناء الثقة بين مطوري البرامج العالميين، حيث يسمح لأعضاء الفريق بتكوين علاقات شخصية. [ 18 ]
توصل الباحثون إلى أن أعضاء الفريق الذين لا يثقون بمهاراتهم في اللغة الإنجليزية يفضلون استخدام البريد الإلكتروني أو الرسائل الفورية على المؤتمرات الصوتية والمرئية ، لأن الوسائط النصية تتيح وقتًا أطول للفهم وكتابة الرد. [ 19 ] ويُشكل هذا مشكلة، إذ لا تستخدم الوسائط النصية أيًا من الميزات السمعية أو البصرية، مما قد يعيق عملية فهم المعلومات المهمة ويؤدي إلى سوء فهم.
تُعد تطبيقات Zoom و GoToMeeting و Highfive أمثلة على هذه الأنواع من الأدوات.
المكاتب الافتراضية
تُعيد المكاتب الافتراضية خلق التقارب الشخصي والوظائف التي توفرها المكاتب الفعلية، والتي تحتاجها الفرق في بيئة هندسة البرمجيات العالمية الموزعة. فبدلاً من وجود "قنوات" أو "سلاسل رسائل"، تحتوي المكاتب الافتراضية على غرف ضمن مساحة مكتبية افتراضية.
اكتشف البروفيسور توماس ج. ألين في أواخر سبعينيات القرن الماضي أن زيادة المسافة بين المهندسين تقلل بشكل كبير من وتيرة التواصل بينهم. [ 20 ] وتُعد المكاتب الافتراضية وسيلة لتقليص هذه المسافة افتراضياً، بهدف زيادة التواصل بينهم.
علاوة على ذلك، تُظهر دراسات أخرى [ 21 ] أن المكاتب الافتراضية تجعل تنسيق العمل أسهل وتحسن الأداء في الفريق.
بعض الأدوات التي تنتمي إلى هذه المجموعة الفرعية هي Sococo و 8x8 و Skype for Business .
الواقع الافتراضي
ازداد الاهتمام بتقنية الواقع الافتراضي على مر السنين، حيث نمت من صناعة بلغت قيمتها 129 مليون دولار أمريكي في عام 2015 إلى أكثر من مليار دولار أمريكي بحلول نهاية عام 2016. وتشير التقديرات إلى أن هذه الصناعة ستصل إلى 4.6 مليار دولار أمريكي بحلول نهاية عام 2018. [ 22 ]
إن المحتوى المتبادل أثناء عملية التواصل ليس سوى تفسيرات للمواقف التي يمر بها الأطراف. وهذه التفسيرات بدورها تعتمد على السياق. ويستند الدافع وراء استخدام الواقع الافتراضي كأداة للتواصل على فرضية أن إدراك الفرد للسياق يتناسب طرديًا مع المعلومات الحسية المتاحة.
في بيئة التواصل بالواقع الافتراضي، ينغمس كل مشارك في تجربة حسية غامرة. وهذا يحسن إدراك السياق الذي يتواجد فيه الممثل، مما يحسن بدوره تجربة التواصل نفسها.
على الرغم من أن المفهوم ليس حديثاً، إلا أن التكنولوجيا لم تبدأ في التطور بشكل ملحوظ إلا في عام 2010.
يُعد AltspaceVR مثالاً على منصة الواقع الافتراضي التي تم استخدامها مؤخراً كأداة اتصال.
الأدوات الهجينة
المراسلة الفورية
تتيح المراسلة الفورية تبادل الرسائل بين طرفين أو أكثر في حالة " غرفة الدردشة ". ويمكن أن تكون متزامنة أو غير متزامنة، وتُعتبر من أقل أنواع التواصل إزعاجًا. [ 23 ] تشير الأبحاث إلى أن المطورين يفضلون استخدام هذا النوع من الأدوات لطرح أسئلة سريعة على زملائهم أو رؤسائهم. [ 12 ]
تُعد تطبيقات WhatsApp و Facebook Messenger و HipChat أمثلة على هذا النوع من الأدوات.
تطبيقات في عمليات البرمجيات
رشيق
يُثير دمج تطوير البرمجيات الرشيقة مع تطوير البرمجيات الموزعة العديد من التحديات في تواصل الفريق. [ 24 ] فمن جهة، يتطلب تطوير البرمجيات الرشيقة زيادة في التواصل غير الرسمي، ويفتقر إلى التواصل الرسمي، كالتوثيق . [ 25 ] ومن جهة أخرى، يُصعّب تطوير البرمجيات الموزعة بدء التواصل، وقد يؤدي إلى سوء فهم، ويزيد من تكلفة التواصل (الوقت، المال، إلخ) كما ذُكر سابقًا في قسم #التحديات ، مما قد يُقلل من وتيرة التواصل. [ 5 ] [ 26 ] وهذا ما يجعل مجال الدراسة المطروح بالغ الأهمية في تطوير البرمجيات الرشيقة الموزعة . أحد مبادئه الأساسية يُركز على العلاقات بين الأفراد وتفاعلاتهم، مما يستلزم التواصل المستمر. [ 27 ]
البرمجة المتطرفة
صُممت منهجية البرمجة المتطرفة (XP) لبيئة يتواجد فيها جميع المطورين في موقع واحد، [ 28 ] وهو ما لا ينطبق على تطوير البرمجيات الموزعة. علاوة على ذلك، تعتمد XP بشكل كبير على التواصل المستمر بين أصحاب المصلحة والمطورين، مما يجعل التواصل أحد القيم الأساسية الخمس لـ XP. [ 29 ] وبالتالي، يُعد التواصل في البيئة الموزعة بالغ الأهمية لبيئة تطوير XP، [ 30 ] ويجب أخذه في الاعتبار عند تطبيق هذه المنهجية على بيئة موزعة.
مراجع
- 1 2 كراوت، روبرت إي.؛ ستريتر، لين أ. (1995-03-01). "التنسيق في تطوير البرمجيات" . اتصالات رابطة آلات الحوسبة . 38 (3): 69-81 . doi : 10.1145/203330.203345 . S2CID 18155214 .
- ↑ بيري، دي إي؛ ستودنماير، إن إيه؛ فوتا، إل جي (يوليو 1994). "الأفراد والمنظمات وتحسين العمليات". مجلة IEEE للبرمجيات . 11 (4): 36-45 . doi : 10.1109/52.300082 . ISSN 0740-7459 . S2CID 9469646 .
- ↑ روبيلارد، بيير ن؛ روبيلارد، مارتن ب (15-09-2000). "أنواع العمل التعاوني في هندسة البرمجيات". مجلة الأنظمة والبرمجيات . 53 (3): 219-224 . doi : 10.1016/S0164-1212(00)00013-3 .
- 1 2 3 هيربسليب، جيه دي؛ مويترا، دي. (مارس 2001). "تطوير البرمجيات عالميًا". مجلة IEEE للبرمجيات . 18 (2): 16-20 . doi : 10.1109/52.914732 . ISSN 0740-7459 .
- هيربسليب ، جيه دي ؛ موكوس، أ . (يونيو 2003). "دراسة تجريبية للسرعة والاتصال في تطوير البرمجيات الموزعة عالميًا". معاملات IEEE في هندسة البرمجيات . 29 (6): 481-494 . CiteSeerX 10.1.1.110.4806 . doi : 10.1109/tse.2003.1205177 . ISSN 0098-5589 . S2CID 6006584 .
- ↑ المؤتمر الدولي الخامس لهندسة البرمجيات العالمية ICGSE 2010 : وقائع المؤتمر : 23-26 أغسطس 2010، برينستون، نيو جيرسي، الولايات المتحدة الأمريكية . جمعية مهندسي الكهرباء والإلكترونيات (IEEE). 2010. ISBN 9780769541228. OCLC 709739809 .
- ↑ كريشنا، س.؛ ساهي، سانديب؛ والشام، جيف (أبريل 2004). "إدارة القضايا العابرة للثقافات في الاستعانة بمصادر خارجية عالمية للبرمجيات". مجلة الاتصالات ACM . 47 (4): 62-66 . doi : 10.1145/975817.975818 . ISSN 0001-0782 . S2CID 207691252 .
- ↑ شميت، داريا (1 يناير 2006). "مشاريع تطوير البرمجيات العالمية في إحدى أكبر الشركات في لاتفيا: هل يُمثل التوزيع الجغرافي مشكلة؟". عملية البرمجيات: التحسين والممارسة . 11 (1): 61-76 . doi : 10.1002/spip.252 . ISSN 1099-1670 .
- ↑ هندريكس، بول (1999-06-01). "لماذا نتشارك المعرفة؟ تأثير تكنولوجيا المعلومات والاتصالات على دوافع مشاركة المعرفة". إدارة المعرفة والعمليات . 6 (2): 91-100 . doi : 10.1002/(SICI)1099-1441(199906)6:2 < 91::AID-KPM54 > 3.0.CO ; 2 - M.hdl : 2066 / 141653.S2CID 14864213 .
- ↑ غودمان، بول س.؛ دار، إريك د. (1998). "الأنظمة والمجتمعات المدعومة بالحاسوب: آليات التعلم التنظيمي في البيئات الموزعة" . مجلة نظم المعلومات الإدارية الفصلية . 22 (4): 417-440 . doi : 10.2307/249550 . JSTOR 249550 .
- 1 2 موكوس، أ.؛ هيربسليب، ج. (2001). "تحديات تطوير البرمجيات عالميًا". وقائع الندوة الدولية السابعة لمقاييس البرمجيات . ص 182-184 . doi : 10.1109/METRIC.2001.915526 . ISBN 978-0-7695-1043-9. S2CID 7332197 .
- 1 2 3 نينماكي، ت. (أغسطس 2011). "التواصل المباشر والبريد الإلكتروني والمراسلة الفورية في مشروع تطوير البرمجيات الرشيقة الموزعة". المؤتمر الدولي السادس لهندسة البرمجيات العالمية IEEE لعام 2011. الصفحات 78-84 . doi : 10.1109/icgse-w.2011.15 . ISBN 978-1-4577-1839-7. S2CID 14348571 .
- 1 2 نينماكي، ت.؛ بيري، أ.؛ لاسينيوس، س. (يوليو 2009). "العوامل المؤثرة على اختيار وسائط الاتصال الصوتية والنصية في مشاريع تطوير البرمجيات العالمية". المؤتمر الدولي الرابع لهندسة البرمجيات العالمية لعام 2009. الصفحات 153-162 . doi : 10.1109/icgse.2009.23 . ISBN 978-0-7695-3710-8. S2CID 17514130 .
- ↑ يو، ليغو؛ راماسوامي، سريني؛ ميشرا، ألوك؛ ميشرا، ديبتي (17-10-2011). "الاتصالات في تطوير البرمجيات العالمية: دراسة تجريبية باستخدام مستودع GTK+ مفتوح المصدر". في إطار الانتقال إلى أنظمة إنترنت ذات مغزى: ورش عمل OTM 2011. سلسلة محاضرات في علوم الحاسوب. المجلد 7046. الصفحات 218-227 . doi : 10.1007/978-3-642-25126-9_32 . ISBN 978-3-642-25125-2.
- ↑ سوندارافيج، ت.؛ ميرشانداني، د.؛ ليدرير، أ. (يناير 2015). "استخدام تقنية التعاون المتزامن في العمل الجماعي". المؤتمر الدولي الثامن والأربعون لعلوم النظم في هاواي 2015. الصفحات 216-225 . doi : 10.1109/hicss.2015.35 . ISBN 978-1-4799-7367-5. S2CID 6954728 .
- ↑ "انتبه للفجوة" . drennings.github.io . تم الاطلاع عليه بتاريخ 15-06-2017 .
- ↑ دافولاس، جي إيه؛ سويغر، ك؛ برازيل، ر؛ ألباسلان، إف إن؛ كابريرا، في إل؛ سيرس، إف سي (يناير 2009). "الفرق العالمية: نماذج مستقبلية للعمل التعاوني في صناعة تطوير البرمجيات اليوم". المؤتمر الدولي الثاني والأربعون لعلوم النظم في هاواي، 2009. الصفحات 1-10 . doi : 10.1109/hicss.2009.231 . ISBN 978-0-7695-3450-3. S2CID 2662830 .
- ↑ بهات، جيه إم؛ غوبتا، إم؛ مورثي، إس إن (سبتمبر 2006). "التغلب على تحديات هندسة المتطلبات: دروس مستفادة من الاستعانة بمصادر خارجية في الخارج". مجلة IEEE للبرمجيات . 23 (5): 38-44 . doi : 10.1109/ms.2006.137 . ISSN 0740-7459 . S2CID 9894497 .
- ↑ نول، جون؛ بيتشام، سارة؛ ريتشاردسون، إيتا (سبتمبر 2011). "تطوير البرمجيات والتعاون العالمي: المعوقات والحلول". ACM Inroads . 1 (3): 66-78 . doi : 10.1145/1835428.1835445 . hdl : 10344/656 . ISSN 2153-2184 . S2CID 11317369 .
- ↑ ألين، توماس ج. (1984). إدارة تدفق التكنولوجيا: نقل التكنولوجيا ونشر المعلومات التكنولوجية داخل منظمة البحث والتطوير . كامبريدج، ماساتشوستس: مطبعة معهد ماساتشوستس للتكنولوجيا. ISBN 9780262510271.
- ^ فان جامرين، بن؛ فان سولينجن، ريني؛ دولموند ، كيفن (2013). المؤتمر الدولي الثامن لـ IEEE لعام 2013 حول هندسة البرمجيات العالمية . الصفحات من 206 إلى 215. دوى : 10.1109/ICGSE.2013.34 . رقم ISBN 978-0-7695-5057-2. S2CID 6555228 .
- ↑ "تقرير عن الوضع الحالي لسوق الواقع الافتراضي" (PDF) .
- ↑ ثيسن، م. ريتا؛ بيج، جين م.؛ بهاراتي، مادهافي س.؛ أوستن، تويا ل. (2007). "أدوات الاتصال لفرق تطوير البرمجيات الموزعة". وقائع مؤتمر ACM SIGMIS CPR لعام 2007 حول أبحاث العاملين في مجال الحاسوب: القوى العاملة العالمية في مجال تكنولوجيا المعلومات . SIGMIS CPR '07. نيويورك، نيويورك، الولايات المتحدة الأمريكية: ACM. الصفحات 28-35 . doi : 10.1145/1235000.1235007 . ISBN 9781595936417. S2CID 2741073 .
- ↑ راميش، بالاسوبرامانيام؛ كاو، لان؛ موهان، كانان؛ شو، بينغ (أكتوبر 2006). "هل يمكن أن يكون تطوير البرمجيات الموزعة مرنًا؟". مجلة الاتصالات ACM . 49 (10): 41-46 . CiteSeerX 10.1.1.477.201 . doi : 10.1145/1164394.1164418 . ISSN 0001-0782 . S2CID 15032365 .
- ↑ هايسميث، ج.؛ كوكبيرن، أ. (سبتمبر 2001). "تطوير البرمجيات الرشيقة: أعمال الابتكار". مجلة الكمبيوتر . 34 (9): 120-127 . doi : 10.1109/2.947100 . ISSN 0018-9162 .
- ↑ إيبرت، سي.؛ نيف، بي. دي (مارس 2001). "البقاء في ظل تطوير البرمجيات العالمي". مجلة IEEE للبرمجيات . 18 (2): 62-69 . doi : 10.1109/52.914748 . ISSN 0740-7459 .
- ↑ أليستير كوكبيرن (2007). تطوير البرمجيات الرشيقة: اللعبة التعاونية . أديسون-ويسلي. ISBN 9780321482754. OCLC 70867033 .
- ↑ أندرسون، آن؛ هندريكسون، تشيت (2001). البرمجة المتطرفة المثبتة . أديسون-ويسلي. ISBN 978-0201708424. OCLC 44518151 .
- ↑ بيك، كينت (2000). شرح البرمجة المتطرفة: تقبّل التغيير . أديسون-ويسلي بروفيشنال. ISBN 9780201616415.
- ↑ لايمان، لوكاس؛ ويليامز، لوري ؛ داميان، دانييلا؛ بوريس، هاينك (سبتمبر 2006). "ممارسات التواصل الأساسية لبرمجة إكستريم في فريق تطوير برمجيات عالمي". تكنولوجيا المعلومات والبرمجيات . عدد خاص: تطوير البرمجيات الموزعة. 48 (9): 781-794 . CiteSeerX 10.1.1.463.7225 . doi : 10.1016/j.infsof.2006.01.004 .
روابط خارجية
- تطوير البرمجيات
