软件开发过程中的团队管理.doc_第1页
软件开发过程中的团队管理.doc_第2页
软件开发过程中的团队管理.doc_第3页
软件开发过程中的团队管理.doc_第4页
软件开发过程中的团队管理.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件开发过程中的团队管理 计算机学院 软件开发过程中的团队管理摘要:探讨了当前软件开发过程中团队管理的弊端,给出了建设更高效软件开发团队的方法,提出了提高软件开发团队的积极性以及优化目前软件开发团队管理的方法。关键词:软件开发 团队管理 高效开发团队建设- 7 -在当今社会,软件开发还是一项“人力密集型”的工作,不能实现自动化生产,这项工作由软件开发团队完成,那么是团队呢?团队就是由一组具有共同目标、相互关联、相互合作的人组成的一个集体。软件开发团队的就是以开发出软件产品、完成项目而组成的集体。1 软件开发团队的重要性软件开发团队之所以凝聚成为一个集体,就是为了相互合作,相互关联,解决个人不能解决的难题,从而完成软件开发任务。当独立的个人组成团队的时候,创造性会大大的提高,而且,团队有一个明确的目的,把这个目的分配给个人,会提高个人的工作效率,减少个人因个人能力导致的失误。另外,团队中的沟通交流十分频繁,这样可以让不同的个人协同工作,相互弥补各自的不足。2 软件开发团队的组织结构2.1组建团队时应考虑的因素组建软件开发团队,首先要明确团队的目标,确定团队要解决一个什么样的具体产品,明确这个产品应该具备什么样的功能,比起其他同类的产品有什么创新之处,采用什么新的方法和技术,后期如何进行维护和升级等问题。其次要确定团队的种类,根据团队的不同选择合适的团队成员。软件开发团队有问题解决型团队,创新型团队,执行型团队等。问题解决型团队是为了解决一个复杂的问题,或者解决没有明确定义的问题的团队。创新型团队的目的是探索解决问题的可能性和选择性,寻找解决问题的最佳、最便捷的方法。执行型团队的目的是解决一个具有明确定义的问题,这类问题的目的性很明确,往往具有一定的紧迫性。根据这些不同的目的,选择具有创新思想的人、具有扎实基础的人或者具有高工作效率的人加入不同类型的团队。2.2团队模式团队可以分为业务团队、首席程序员团队、特征团队和大型团队等。业务团队是一个由一个领导带领的团队,团队的成员可以来自不同的领域,精通不同的编程语言,在领导人员的带领下可以组建问题解决型团队或创新型团队,相对较灵活。首席程序员团队由其中代码编写经验最丰富的程序员负责程序架构、重大问题的决策以及编写程序框架,其他程序员负责在这个基础上按照首席程序员的思路进行添加功能,完善程序的功能,这样的团队适合组建创新型团队或者问题解决型团队,可以充分利用首席程序员的创新型和领导作用。特征团队的特征是人员来自不同的部门,这些人员的作用就是联系各自的部门,向各自的部门汇报和负责,这类团队可以组建成为问题解决型团队或者执行型团队。大型团队的层次分明,内部分工明确,人员组成较多,内部需要很好地沟通。3 软件开发团队中存在的弊端3.1缺少具有领导才能的核心领导的作用主要有两点,制定工作计划和树立团队目标。领导如果没有制定合理的工作计划,团队成员就会失去对工作的热情,从而导致团队的凝聚力大大降低。一个具有挑战性的目标,会让团队成员向着同一个方向工作。否则,目标缺失这会导致一种现象,那就是表面上大家都在努力工作,但是实际上项目进度并不快,这是因为团队成员没有向着一个共同的目标去努力。3.2团队成员相互的合作不协调团队成员之间的合作不协调的问题在软件开发中十分普遍,从现在开看,这个问题在同学之间的合作中就已经开始显现出来,这个问题的根源是软件开发团队成员的个性特点不同。从事软件开发的人员大都具有比较高的学历和很好的教育经历,这有可能会使得他们不愿相信团队中的其他成员,导致彼此之间缺乏有效的沟通和交流。3.3团队成员对自身的职责不了解软件开发团队是由从事不同方面工作的成员共同协作完成的,这里有两点值得注意,第一点是团队成员从事不同方面的工作,第二点是要靠团队成员共同协作完成开发任务。但是一些团队,尤其是一些小团队,受限于人员安排机制的不健全,却没有对各种角色以及成员的职责做出明确的定义,内部分工十分混乱而且变动很快,这样成员很难知道自己应该做的工作以及自己的目标。这随后带来的一个问题就是软件开发过程中的人员冲突以及劳动力的浪费。3.4开发者忽视软件质量标准开发一个产品,首先要保证这个产品的质量,所以软件质量是软件开发中的一个核心的问题。软件质量有自己的评判标准,国际上比较通用的质量体系如:RUP、CMM、ISO9000等在国内的一些小的软件开发团队中的真正应用很少。一些公司和团队应用这些质量标准仅仅是用来做表面文章,用来提升公司形象而已。缺少质量标准的团队也就不可能有一个规范的软件开发框架。4 高效软件开发团队的特点高效软件开发团作为一个软件开发的一个集体,有以下特点:有明确的角色和职责。项目策划阶段,就必须明确完成什么任务,由谁去完成,如何完成,完成期限是什么时候,所需什么技术等问题。团队的各个成员职责清晰,责权对等,各自负责的内容十分明确,知道自己应该做什么,而且了解项目计划和项目进度,而且,团队成员要知道自己在团队中的位置,知道自己的领导是谁,自己可以去哪里寻求帮助。当然,也要明确知道自己的工作在团队中的作用,知道假如自己出现失误会对团队产生什么样的影响。有成熟的监控和反馈机制。团队的领导者能实时监控团队的项目进度,以及每个人的近期表现,然后根据不同的情况进行适当的调整。这样可以及时跟踪项目,保证产品的质量。内部有效的沟通和相互的信任。一个高效的团队内部必须要有频繁的沟通,个人要及时获取团队项目的进度和团队的资源文档信息,这样可以实时修正自己的工作方向。同时,要对团队的其他成员高度信任,彼此相互尊重。成员之间应该彼此分享知识、经验和信息。当团队中的一件出现分歧的时候,要大胆地提出可能存在的风险和危机。在团队中,每个人不仅仅是意见的提出者,同时也是意见的接受者,要虚心接受团队中其他成员对自己的批评意见。有明确的目标和共同的价值观。一个具有明确目标的团队,比起来没有目标的团队,效率要高得多。团队成员为了完成这一目标而积极投身工作,从而带来团队开发的高效率的提高。每个人都要知道团队的共同目标以及自己在这个项目中为团队所做的贡献,这样才会凝聚成为一个整体。拥有统一的软件开发框架。高效的软件开发团队都有一个统一的开发规范,包括统一的文档格式、审核标准和测试标准。这样可以降低软件开发过程中的风险、提高软件开发质量,节约软件开发成本。5 软件开发团队的管理方法软件开发团队建设的好坏,表明了软件开发团队是否有能力胜任某一项工作,以下是软件开发团队管理的一些方法。软件开发团队管理方法培养软件开发中的交流与沟通建设完备的团队激励机制合理搭配团队中的人员建立统一的规范软件开发标准建设软件开发团队的团队文化5.1培养软件开发中的交流与沟通在工作中,软件开发领导者必须注意培养团队的沟通意识。沟通是解决项目问题的基础,没有有效的沟通,就不可能对软件开发进度进行管理。如果在开发过程不及时沟通的话,很容易造成最后项目的巨大偏差。沟通主要分为两个方面,第一是领导者和团队成员之间的沟通,第二是团队成员之间的沟通。领导者要想实时了解团队的情况以及项目开发的进度,就要与相关模块的负责人进行沟通交流。团队成员需要相互交换一些资源以及进度的时候,负责不同模块的程序员之间也要进行交流,相互之间的交流与沟通可以实时反映团队的现状,领导者可以及时调整工作的安排。现在的软件开发市场中,对于很多软件产品,都会采用一种叫做分模块开发的方法,就是团队内不同能力的成员负责不同的模块开发,然后在整合在一起。各个模块之间的耦合度往往较低,不同开发者之间的开发过程比较独立。但是软件需求往往变更很频繁,所以这就要求每个团队成员都要与项目要求以及进度的负责人员进行频繁的沟通。团队是个协作性非常强的组织,在开发过程中,不同成员之间要相互共享自己的信息,在实际中往往是模块接口的信息、版本信息或软件开发进度等,只有良好的沟通交流才能保证团队极高的协作性。有时候一个问题自己想不明白,但是团队中的其他人也许之前遇到过此类问题,这时有效的沟通就可以快速而准确的解决此问题。在工作中,领导者应该尽可能多的采取方法让团队中负责不同模块的人之间进行一些交流。这样可以培养团队的凝聚力,在工作中,这样的凝聚力会增强团队成员彼此之间的联系,从而提高团队内部的交流与沟通。工作之外,也可以通过各种团队活动增进团队成员之间的友谊。领导者可以让团队成员口头沟通活动,或者某些非正式的公开演讲,以提高团队成员的交流能力。5.2建设完备的团队激励机制领导者在工作中要善于团队成员。软件开发团队的一大特点就是工作强度大,工作压力大,而且从事的工作内容相对其他行业来说稍显枯燥,重复性高。长时间地做此类工作,不管是从身体上还是心理上,团队成员都容易感到疲倦。这时候激励的作用就会体现出来,激励是最容易提高团队成员积极性的一种手段。例如在团队项目进入攻坚阶段的时候,团队成员往往比较疲倦,这时领导者就可以采用一定的激励方式来提高员工的工作积极性和热情。表扬是激励团队成员很有效的一种方式,在开发的过程中,领导者要多给团队成员一些表扬,少一些指责,每个团队成员都有一定的自尊心,表扬恰好可以满足团队成员的自尊心。表扬优秀者比批评失败者更能增加团队的动力。一个高效的软件开发团队必然有一套内部的激励体制。明确的激励体制会调动员工的对于工作的热情,员工会为了达到某一激励项目而全身心投入到工作中去,这会提高个人的工作效率,从而将整个团队的工作效率提高上去。5.3合理搭配团队中的人员软件项目的开发是由不同角色的人共同协作完成的,团队中的每个人都必须有明确的职责定义。因此,根据每个人的不同特点合理选拔和培养适合角色职责的人是团队建设中很重要的一个方面。首先要了解不同成员的特点,例如某人的创新性很强,某人的编程十分细致等。根据这些成员不同的特点进行合理搭配。将具有创新性的成员与编程能力较强的成员组成一个小组,有利于快速创新出新的方法,将责任心强的成员与编程能力扎实的成员搭配为一组,可以完成对某些需要限时解决的问题。有时候在安排人员方面还要根据人员的性格来决定,避免发生不必要的摩擦。5.4建立统一的规范软件开发标准软件的开发是一项需要创造性的工作,但是创造的时候必须要有一定的规范。这个规范就是统一的软件开发框架。统一的软件开发框架可以让团队成员知道应该如何达到开发目标,知道自己在什么时候应该做什么事情,也可以建立起一套团队的开发风格。软件开发规范包括代码编写规范、注释规范、变量和函数命名规范以及开发文档的规范。代码编写规范包括程序的结构、代码书写的风格等,凌乱的代码书写会导致阅读的困难,在后期也不容易找出存在的错误。代码注释规范包括头文件的注释、函数注释、类注释和变量的注释,规范的注释会大大增加代码的可读性。命名规范主要指的是文件的命名,类的命名以及变量和函数的命名,规范的命名方式要让团队中的每一个人一看到命名就能知道这个对象的属性,值类型。软件开发团队在一开始就应该结合自己的工作,遵循这一开发规范。负责不同模块的工作人员要相互公开编码规范以及接口标准。另外,在软件开发的后期,往往有多个版本发布,领导核心要协调好各个不同的版本,规范版本命名方法,大型的团队也可以有专门的部门或小组负责发布版本的规范。5.5建设软件开发团队的团队文化文化是一套做事的方式,团队文化就是团队以何种工作方式进行工作,每一个成功的团队都有自己的团队文化。团队的领导者应该在建立团队的时候就注意,逐渐培养团队的文化。一个优秀的团队文化,包括以下三个方面:第一是团队中的人际关系,第二是团队对于项目的规范要求,三是团队工作的高效率。良好的人际关系体现了团队的内部和谐,对项目规范的要求反映了团队对于项目严谨的态度,高效的工作是团队在压力之下完成任务的保证。作为团队的核心,领导者应该从一些小事做起,去培养团队精神。不能只凭借一些大事来建立团队的文化,团队的文化都是通过工作中的点滴小事逐渐积累起来的。还要培养团队成员相互学习的习惯,团队中不可能每个人都很优秀,但是必须要求每个人都尽自己所能为团队做出一定的贡献,相互学习可以改善团队中的人际关系,提高团队中的凝聚力。另外,领导者还应该严格规范项目要求,并且让团队的成员按照规范进行软件开发。统一而且规范的软件开发标准能提高整体开发的效率,在各模块整合的时候作用更加明显。团队文化的第三点就是高效,高效指的是在面对一个项目的时候要尽可能快速地拿出解决方案,并且付诸实践。如果团队的开发效率很高,就可以带动团队中的成员,反之,低下的开发效率会使得团队成员产生厌倦心理。优秀的团队文化会让团队成员树立长远的目标,产生强烈进取心,高标准要求自己,从而更多地投入软件开发中去,把简单的事情做到极致。6 小结软件开发团队建设的核心是提高团队的工作效率,实际工作就是在统一的软件开发规范下,向着共同的目标,通过团队之间的沟通与交流,发挥每一个人最大的能力,最终成功完成软件开发任务。参考文献1 王宁 赵桂亮:我国软件开发团队的现状及对策分析,商场现代化,2005.102 董俊毅:如何有

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论