软件开发过程中协调的重要性
来源:广州软件开发 编辑:广州软件开发公司 日期:2020-05-01
和谐一个大型的软件开发项目,和谐界说为“办理活动之间的互相依赖关系” ,和谐机制是答应个人集体行动的安排安排。互相依赖关系包含同享资源依赖关系和活动同步。
软件开发公司是创造性的作业,意味着单一的最优解或许不存在,而完结的进展或许难以估计。这样做的一个原因是,不同作业之间的互相依赖或许是不知道的或具有应战性的,以便辨认,使得很难知道谁应该参加作业,以及是否有正确的顺序来使各方完结自己的专门作业。
大规模软件开发和谐是非常重要的,因为许多软件外包人员和开发团队一起进行这项作业。在这些项目中,互相依赖关系比小型项目更为不确定; 因而,团队需要知道谁是专家和哪些专家联络,特别是当他们在团队之外甚至在不同的网站。Licorish和MacDonell]研讨了全球软件团队,发现团队网络专家的可用性与项目级绩效相关。
和谐能够是预界说的。在和谐状况之前就进行了预界说的和谐。它通常包含树立书面或不成文的规则,例程,程序,角色和时间表。另一方面,当状况不知道和/或无法预料时,就会发作和谐。参加这种状况的人不知道怎么奉献。他们不了解完成什么,谁做什么,作业应怎么分开,子活动应该按什么顺序和何时行事。因而,在互相和谐的状况下,有关各方有必要以暂时方式即兴和和谐尽力。
软件开发项目,特别是大规模的尽力,具有预界说和位置和谐的组合。例如,参加的团队或许已经知道团队的方针和作业流程,但他们或许不知道谁在团队外履行什么,不然他们或许知道谁在做什么,而不是完结使命。为了补偿缺少对活动实际发作的预界说常识,团队和团队成员有必要自己更新活动/状况的状况,以更好地了解谁做什么。经过例如共同地点和会议来改善团队成员和团队之间的常识交易,能够加强对进程和活动的知道。
当然,当团队成员互相严密相连时,特别是当他们在同一个房间的时候,他们经过观察和监听他们的活动来愈加意识到其他成员的作业。此外,例如在日常会议期间,团队成员不断更新状况,并意识到这些改变。但是,将大型项目的每个成员都放在同一个房间或同一个会议中往往是有问题的。实证事例,例如Boden等 展现了例如组件工具在支撑常识办理方面的局限性,假如不是根据他们旨在支撑的社区的作业实践。相同,北京软件外包公司大规模发展的主动权,在基本和谐机制未能支撑在三个地点的40个队的和谐。相反,北京软件外包公司研讨中的常识同享和作业和谐是经过一些实践社区完成的,这些社区被称为安排中定时分担重视或一系列问题的集体。根据这些发现,咱们提出,面向社会化的和谐机制在大型多团队和多场所环境中至关重要。
建筑和谐
架构和谐通常用于小化和谐团队之间以及跨地舆,文化和语言边界的需求。大型分布式项目的参加者经过软件模块接口和谐其开发作业。依托这一战略,能够分别开发每个软件模块,从而缓解和谐问题。
但是,经验标明,架构和谐的有效性是有限的,因为体系模块从来不是真实独立的。孤登时开发技术上互相依赖的模块或许会导致差异,这些差异通常在整合之前保持隐藏。此外,遵从模块化开发并将特定模块的作业分配给单个团队的安排,培育更多关于该模块的专业常识,而不是关于体系不同部分的更广泛的常识。这或许导致更多的常识依赖,假如模块具有功用依赖性或杂乱的集成点。Herbsleb等。证明仅仅模块化不足以战胜这些应战,根据架构的,根据计划的和根据流程的和谐,而不需要和谐配合的或许性就会失利。
在大规模软件开发中经过模块安排团队的另一个替代计划是分配团队对功用的职责。Paasivaara等人研讨了特征的和谐在使用Scrum的大型全球分布式软件开发项目的事例研讨中。大型项目中的一个功用能够包含几个子体系和模块。Paasivaara和搭档发现,根据特征的Scrum Scrum会议能够是一个很好的和谐机制,因为一小部分具有共同兴趣和方针的人能够同享,评论和解决问题。
经过网络和谐
例如一个人不或许具有在大型项目上作业所需的一切常识,而且和谐是至关重要的,那么北京软件开发公司人员和软件团队就需要依赖嵌入在内部,来自云同一个关系网络,也称为社会资本。社会资本既是网络本身,也是能够经过该网络动员的资产。Oliver等人]将常识网络作为网络,促进学习,并连接专家和新手,以经过群组交互来支撑按需连续学习。
如前所述,大型项目团队常常孤立作业,一起与其网络中的关键专家进行交流和和谐。因而,需要在不同层次上进行和谐:北京软件外包公司团队内部,团队之间以及团队与安排的其他部分之间进行和谐。在他们的体系文献总述中,Mathieu et al。[24]得出结论,团队在网络中的中心地位有利于体现。Centrality好像为团队在获取和应用资源方面提供了优势。该团队在怎么使用团队内的社交互动方面具有社会资本,以及怎么使用其网络中的外部联络人创造价值[。
社会资本使软件外包团队能够完成不或许完成的成果,或者只能以开发团队的额外本钱完成。此外,因为社会资本增加了信息传达的效率,假如培育常识网络,大型项目的技能或效果就会削减冗余; 即假如社会资本很强。
团队和团队成员的社会资本价值取决于许多要素,包含常识网络特征。例如,一个既定的网络内的交流和和谐不良导致成绩不佳。孤立作业的团体从外部网络中获益少。相比之下,凝聚力的集体能够传达从常识网络获得的信息,并大化自己的体现。环绕一个团队的常识网络的特征也会影响社会资本的价值。一个这样的要素是外部触摸冗余。相同的触摸导致相同的常识来历,导致冗余。因为网络需要时间和精力,联络冗余会阻止性能。因而,关于两个相同大小的常识网络,具有较少冗余联络的常识网络将提供更多的益处。
网络安稳又起重要效果。当人们离开安排时,他们的联络通常与其所包含的任何社会资本相融合[26]。假设其他作业人员的改变(例如团队成员轮换,晋升和搬迁)也会影响团队的社会资本是公平的。此外,不同类型的团队具有不同的网络需求。刘易斯[27]发现,丰富的外部常识网络关于处理生疏使命的跨功能团队而言,比从事了解和不相关使命的团队成员更有价值。主要原因是对专业团队的团队成员(例如组件团队)来说,将其专业常识整合到体现上或许不太重要。
很可观,一个大型的软件开发项目能够在成员集合起来时,堆集社会资本,主要使命,监督活动和和谐作业,特别是在需要互相调整的状况下,即经过非正式交流进行和谐。所谓“边界扳手”的效果关于连接安排网络的偏僻部分尤为重要。此外,还有培训机制,堆集了软件外包团队在作业中的社会资本。某些开发方法(如敏捷软件开发)和软件外包开发实践(例如配对编程,日常会议和审查会议)能够促进开发团队内的频繁联网和广泛的互动。例如,实践社区(CoPs)和不同论坛的参加促进了软件外包开发团队和单位的联网,如大规模开发。经过出资于社会资本,安排能够使许多人获得的少数常识具有专门常识或共同常识。
相关阅读