- 相关推荐
软件项目的沟通管理
引导语:项目管理中,沟通是一个软指标,其所起的作用不好量化,沟通对项目的影响往往也是隐形的。下面是yjbys小编为你带来的软件项目的沟通管理,希望对大家有所帮助。
项目沟通管理是现代项目管理知识体系中的九大知识领域之一,项目沟通管理在成功所必须的因素—人、想法和信息之间提供了一个关键性连接。
沟通对项目的成功,尤其是IT项目的成功非常重要。本文就围绕沟通的重要意义、项目干系人、沟通对效率的影响、沟通的关键要素这几方面展开一些探讨,最后结合高职外语教学、综合测评平台项目,对沟通在小组软件开发过程中的应用进行案例分析。
1、沟通的意义及项目干系人分析
项目管理要素有:范围、时间、成本、质量、人力、风险、采购、沟通,一个成功的项目与这些因素是紧紧相关、不可分离的。但是在项目的实际参与和项目的操作过程中,可以发现无论是项目管理中的哪个因素,与其关联最多、涉及活动最多的是项目干系人,项目干系人一般包括最终用户、项目团队、项目公司的管理层等一些主要的利害关系者。项目管理中时间、成本、质量、人力、风险、采购等很大一部分是与人的沟通与人的管理有关,如何做好人的管理、如何组建一个成功的项目团队、如何在项目中发挥团队的所有潜力、如何与客户的关系日趋完善、如何做到让客户满意,这些都是在“沟通”管理中所必须及掌握的要素。
要做好各要素沟通,要实现于人的管理,就应站在这些“项目干系人”的角度上,从他们的需要及利益出发,最大限度地通过项目实现他们的价值,如果脱离这些,那么项目是很难获得成功的。项目经理在与客户进行需求调研及交流前,一般先要充分考虑项目的需求性及可行性,然后列一个需求管理(包括详细的沟通计划及沟通要求)计划,并且要考虑需求沟通中所需的人员、资源、时间的要求,这样才可以保证需求调研的准确性。很多软件项目在其开发过程中,客户突然提出需求变更,给项目的进展带来不利的影响,虽然很大程度上这是客户主观因素造成的,但也说明项目组在和客户进行前期沟通的时候,没有充分考虑一些假设或约束因素,也没有充分明确列举沟通要求。
同样,除了和客户进行沟通之外,在项目开发过程中,项目经理与项目成员之间的沟通方式及项目经理对团队的建设技巧也是直接影响到项目成败的关键。项目过程中沟通的目的是为了“保持项目进展、识别潜在问题、征求建议以改进项目绩效”,如果在项目的开发、设计过程中未把好沟通这道关,可能会产生意料之外的项目失败,同样一个好的配合团队能使项目达到事半功倍的效果,关于沟通的具体的一些方法和技巧将在下文谈到。
2、沟通与效率的关系
2.1项目复杂程度与实施效率
沟通路径所消耗掉的工作量多少取决于软件项目本身的复杂度和祸合度。原IBM在马里兰州盖兹堡的系统技术主管JoelAron,在他所工作过的9个大型项目的基础上,对程序员的实施效率进行了研究。他根据程序员和系统部分之间的交互划分这些系统,得到实施效率表。
一般说来,底层软件(操作系统、编译器、嵌入式系统、通信软件)的接口复杂度要比应用软件(MIS、操作维护软件、管理软件)要高得多。
在估算软件开发项目工作量时要充分考虑任务的类别和复杂程度,因为抽象的、接口复杂的系统开发过程,其沟通消耗必然大。另外,有深厚行业背景的软件,要考虑开发人员为熟悉行业知识所需付出的沟通消耗。
2.2团队规模与实施效率
需要协作沟通的人员的数量会影响开发成本,因为成本的主要组成部分是相互的沟通和交流,以及更正沟通不当所引起的不良结果(系统调试)。
人与人之间必需通过沟通来解决各自承担任务之间的接口问题,如果项目有n个工作人员,则有nx(n-1)/2个相互沟通的路径。假设一个人单独开发软件,年实施效率为1000行代码,而每一条沟通路径上每年消耗掉的工作量可折合500行代码,则团队规模和沟通消耗以及实施效率存在以下关系。
2.3团队的默契度与实施效率
团队的默契程度对软件实施效率影响很大。一个经过长期磨合、相互信任、形成一套默契做事方法和风格的团队,可能省掉很多不必要的沟通,其合力甚至可以超越这个团队本身,而做出一些平时他们连想都不敢想的成就来。相反,初次合作的团队因项目成员各自的背景和风格不同、成员间相互信任度不高等原因,就要充分考虑沟通消耗。
营造一个配合默契的团队并没有一个简单易行的规定和过程,但是有一个必不可少的因素,那就是团队中的所有成员对这个小组承担的全部义务,成员乐于为整个团队而放弃自己的利益和志向,这样整个团队就一定有很强的内聚力,而且一个人置身于氛围良好、合作默契的团队中心情一般都较好,这种良好的氛围所能带来的能量是不可估量的。
所以持续良好的沟通和交流是一个团队的无形资产,而由之形成的一个自然、稳定、默契的开发团队就是软件企业的核心竞争力所在。
3、沟通的一些要素
一个优秀的团队组织和协调管理者所发挥的作用往往对目的成败起决定作用,他必然也是一个善于沟通的人。沟通研究专家勒德洛(LudIow,R.)提到,高级管理人员往往花费80%的时间以不同的形式进行沟通。普通管理者约花50%的时间用于传播信息。缺乏沟通这个问题是不能通过技术来进行改进的,现在技术发展很快,但人们对沟通和融洽相处的需求不但没有减少,反而显得越来越重要了。
沟通的效率直接影响管理者的工作效率,在项目成员间改善沟通将提高士气、生产率、质量,并可以减少成本,使得项目更好开展。但如果出现沟通问题,也可以遵循以下过程来有效地控制问题:找出问题的起因;实行纠错行为;加强工作环境中的沟通活动。
4、项目中沟通运用的案例分析
笔者在负责开发外语学院的英语网络教学、考试综合平台时,就充分考虑软件项目管理中沟通的一些要素。整个项目按小组软件开发过程(TSP)进行开发,其中每个步骤都涉及到了沟通。
4.1技术调研
该项目是为教师和学生进行英语教学、考试、以及评估的综合性网络平台,学生可以通过网络进行全程的英语学习、测试,老师也可以利用这个平台动态的掌握学生的情况。在技术采用方案中,我们打算用ASP.NET+SQLSERVER进行开发,分三层体系结构。在听取了他们构思的同时,针对项目调研情况,我们也从技术层面上阐述了自己的看法、最后达成了一个初步共识。
4.2需求分析
项目的最终用户是外语老师和学生,我们开始与外语学院老师进一步接触,了解高职外语教学领域内的情况。为了防止或减少用户需求变更,产通目标中考虑了很多制约因素和假设因素,大概经过了一个星期的沟通,一份完整的SRS文档生成,并且我们将SRS的段和节编号,用来确定每一个说明的来源。
4.3概要设计
软件的大概要求和功能在得到确定后,项目流程到了概要设计阶段,这时项目开发小组完全启动,项目小组开始制定详细工作目标、角色目标等。
4.4详细设计
在概要设计阶段定义好了各功能模块、明确了开发者责任之后,开始了模块内的细节设计,在这个阶段我们定义了整个平台数据库,在定义数据表和字段时,有两位成员的想法互不相同.两人各持己见,争的面红耳赤,僵持不下,最终双方把各自的想法和理由列个清单,征求了小组其他成员和外语学院老师的意见,经过大家共同的分析,最终确定了某一个成员的数据库方案,另外那个成员也心服口服。
4.5编码设计
在编码阶段的每次会议中,我们都要掌握各个成员的进度,询问下个阶段的安排,并要求每个成员在会议中都要开城布公地对待问题,不能隐瞒,使小组保持一种透明的风格。这样我们就可以知道将要发生什么事情,并预见问题,以便能迅速进行调整。
4.6集成与测试
在开发后期,各个模块功能基本完成,在确认每个模块基本上无独立缺陷和比较好的质量后,进人了整体的测试。
这个项目在制作半年后完工,并测试合格,现运行非常正常,总结这个项目的一些经验,要确保软件开发质量和效率,与用户的有效沟通以及开发成员间的良好协作是关键,要达到这一点,一个团队至少应具备以下三个要素:透明性、聆听、协商。透明性能使整个小组知道将要发生什么事情、并能预见问题,知道什么时候谁最需要帮助,并能保持整个小组工作的一致性。最好的交流者应该是非常善于聆听的人,这种聆听应该是全身心的,只有这样,别人才会和你进行比较深的交流,你也会准确地领会对方的意图。协商最重要的作用是解决问题和分歧,能使得矛盾双方都得到一个满意的结果。
项目沟通管理是一门艺术,这不仅仅表现在“项目干系人”相互之间的沟通技巧上,无论在哪个领域的项目管理中,这些沟通技巧都可以通用,并且可以结合各自领域的一些独特要素去实施。在项目负责人对项目的全局管理上,项目管理的八大要素记起来简单,这就需要艺术化的管理、技巧性的操作,管理上的条条框框虽然是定死的,但人可以动态地去应用它。但如何灵活地驾御它,使这些要素在操作上更方便,更适合应用到实际项目中去。
【拓展内容】
软件项目沟通管理的重要性
沟通不仅仅是软件项目管理的必要手段,沟通更是软件项目建设过程中的必需工具和必不可少的重要工序。
在做软件项目测试服务的过程中经常听到如下抱怨:开发出来的东西根本不是我们想要的;我们要求的某某功能没有实现;最令甲方难平心中之愤的是之前这些问题都已经口头告知了乙方项目组成员,而乙方在项目实施过程中却竟然无视如此重要的需求与反馈。也会听到有的乙方项目经理的苦诉:我手下的程序员在设计评审时描述了他所负责的模块架构,然而软件开发出来后,我发现和我所理解的结构大相径庭……
也许有些情况比上述问题还要复杂,那么,问题何在?其实以上诸多问题都是有沟通引起的,沟通无效导致软件项目的最终失败。在软件行业,沟通的成败决定整个项目的成败,沟通的效率影响整个项目的成本、进度,沟通不畅的风险是软件项目的最大风险之一。在需求多变、逻辑性强、复杂程度高的软件项目建设过程中需要建立起良好的沟通计划与秩序,以严谨的沟通态度与科学的沟通方法保障软件项目的顺利实施。
明确的顾客需求诞生于和甲方的互动沟通之中,软件项目建设之初客户需求的确定依靠甲乙双方的不断沟通来完成。软件项目建设的软肋在于客户需求的把握。项目建设之初需要乙方派出专业的项目经理和研发骨干与乙方进行深入沟通,充分把握客户的实际需求,有时候鉴于项目之初客户需求的模糊性或者甲方项目经理的项目经验与业务范围所限,在一开始甲方的需求表达的还是不够深入、全面。这就需要乙方凭借自己的项目经验或者行业经验未雨绸缪给出规划建议或细节的充分考虑,为项目需求做出充分准确的余量规划。而这些都是建立在不断地反复沟通与对最终用户的深入调研的基础之上的。在这里对于沟通与调研的方法不做赘述。
软件项目实施过程中项目组内部需要建立良好的沟通秩序(沟通计划)并保证沟通的有效性。我们曾遇到过这样一个案例,某软件企业在开发某业务管理软件,客户需求做得非常完善,系统分析也十分明确、清晰,但在开发阶段,项目经理发现系统分析其中一个中间层的函数出错,由于该功能模块由他一个人负责开发,当时他就直接对其参数进行了修改,也并未及时和其它编程人员进行沟通说明,过后很快就忘了这件事,当项目接近尾声时,系统突然出现一个大的Bug,影响到整个系统的运行,最后在花费了大量的精力进行查询测试后,才发现是这名项目经理更改的参数出了错。如果最初该项目经理能及时和项目组成员进行沟通,这种错误完全可以避免。一个建立起良好的沟通秩序的项目团队可以有效防范项目失败的风险并能达到事半功倍的效果。
项目沟通计划是项目整体计划中的一部分,其作用非常重要,却常容易被忽视。很多项目中不做完整的沟通计划,导致沟通混乱,轻则导致项目组工作效率低下,重则直接导致项目以失败告终。项目的沟通形式是多种多样的,大致分书面和口头两种形式。书面沟通大多用来进行通知、确认和需求等活动,适合于项目团队中使用的内部备忘录。项目经理确定之初要做的第一件事就是确定整个项目的沟通计划,因为在沟通计划中描述了项目信息的收集和归档结构、信息的发布方式、信息的内容、每类沟通产生的进度计划、约定的沟通方式等等。只有建立起良好的沟通规则,才能把握好沟通,从而全面了解项目的各方面信息,不断推动项目的顺利进展。
【软件项目的沟通管理】相关文章:
项目沟通管理的沟通技巧01-05
危机管理目的02-26
团队的沟通管理11-04
绩效管理中的沟通04-13
项目管理之沟通03-07
危机管理的沟通原则10-26
管理沟通的主要作用10-24
班级管理沟通案例02-10
店长管理的沟通技巧03-08