如何提高团队协作效率

 ------通过合理的团队组合提高团队协作效率

1    引言

进入软业件行业开始我就认为该行业是一个与众不同的行业,与高科技华丽词汇的外表相对比的是软件项目的高失败率。这些年间,我经历了简单的信息管理系统项目、臃肿的ERP系统项目、奇怪的办公自动化系统项目、复杂的引擎类系统项目后,我一直抱着"怀疑与否定"的心态尝试着各种方法,试图的在我认知范围内得到最佳实践和方法。在这个过程中经历了不少失败与思维的升华。 软件的高失败率是业内人士广为头疼的问题。也说明了为什么我们用从传统行业中学到的项目管理方法来管理软件项目不是那么有效。但我认为每个行业都有它的特殊性,软件行业就是软件行业,它和其他行业是不能类比的和方法套用。我需要正视这种特殊性,我们需要拨开混沌的迷雾。布鲁克斯的“没有银弹论"是真实的,让我对抱以怀疑与否定的心态去使用这些方法,直到找到软件项目真正的规律。所以我认为软件开发的高效率和成功的关键在于团队成员能力、以及团队组合的合理性。

2    优秀团队与高效协作是成功软件的源动力

软件行业与传统行业相比有着非常的明显的不同。制造或建筑行业等属劳动密集行业,他们有大量的材料、设备等成本而人力成本只占产品的很小的一部分,所以由人造成的影响相对较小。而软件行业则属于知识密集型行业,软件项目完全是智力产物,大量的不可见成果,软件项目70%以上是人力成本, 所以说团队在整个软件项目生命期起着非常关键的因素,那么团队成员的能力和协作效率自然形象了软件进度和成败。在这里要探讨的是如何在有限的资金下建立相对优秀的团队来高效率的完成软件项目。

   优秀团队的定义

优秀团队的定义应该是个相对概念,是应该放在某个上下文中来谈的。优秀不是团队每个人都是优秀人才,而是针对当前公司资源情况和将要完成的项目类型来建立相对优化的团队组合,即这个优秀团队指定的是团队组合的优秀。这就好比《西游记》中的“唐僧团队”,团队中并不是每个人都是孙悟空,同时我们并不要求“唐僧团队”能完成任何项目,但对于“取经”这个项目他们是最优秀的就行了。这里将引出我会在后边将要阐述的概念“组建合理的团队”。

3    组建合理的团队

设计项目组结构时我们不能照搬别人的经验,应该充分考虑所面对项目的规模,项目的类型,人员的素质,公司环境等因素,并且在实践中逐步让它运行良好。说到这里我要说明的是即使在同一个公司里不同的项目类型也应采用不同设计的团队结构,除非公司的每个项目都非常的相似,否则极易出现团队协调上的问题。

组织团队是首先我们应该明确软件团队的责任制的问题。在软件项目中有两个角色(注意这里指的是角色而不是职位和人)。一个角色对项目管理过程(成本,时间,范围)负责即项目管理者,另一个对产品(功能,技术,结构)本身负责即架构师。在《人月神话》一书中对此详细的分析后提出三种方式:

项目管理者,架构师由一个人担任的负责方式

在项目团队规模较小时,1-5人这个范围中一般采用负责方式,因为团队较小,协调适宜相对较少,那么由一个人完全可以胜任。 很多长远的科研项目同样适用这样的方式,该项目的目标方向具有不明确性以及高技术风险那么对研究方向专业知识的丰富将很大程度影响项目的成败,那么很多时候采用某专家领导科研小组的方式进行研究。

架构师为主,项目管理者为辅的项目负责方式即架构师负责制。

在项目团队规模在6-25人时一般可以采用这种负责方式,这种团队规模理论上仍无需专门的项目经理,但随着项目成员的增多,会使架构师分心,那么为其配备一位项目助理来整理质料、计划排序、分析成本、应付客户完全可以最高效的发挥团队的潜力。该种方式即<人月神话>推崇的手术医生式的团队。 电影拍摄中导演也是典型的这样的角色(制片人、监制属于高层经理)

项目管理者为主,架构师为辅的项目负责方式即项目经理负责制

当团队规模在25人以上是那么资源协调类的工作将以成倍增加,同时人员的协作、资源调配、客户关系、沟通等方面将成为影响团队的核心因素那么专门的项目经理则显得尤为重要,而产品设计以及技术责任方面的将由他的架构师负责。 大型应用项目,产品开发,大型系统集成项目,特别是涉众多,涉及领域广,多个企业合作的情况均采用这种方式。工程建筑是项目经理制的最佳体现。 同时这也是在国内最滥用的组织方式。

确定了责任制后,那么我们应该要明确团队成员有哪些角色,在一般情况下一个完整的软件团队有如下角色:项目管理者,架构师,功能设计师,程序设计师,测试工程师,软件配置管理人员,文档支持人员,技术支持人员,产品发布人员,这些角色可以剪裁也可以合并,也可以另设某类角色的组长。各种角色映射为哪些职位以及怎样一种协作方式,这样看不同组织的设计了,在这里就不作一一列举了。但在这里要强调的是在软件项目中明确架构师的职责是非常重要的,架构师保证了软件功能和技术的一致性,这是导致项目成败的一个不可忽视的重要因素。

4    把合理变为优秀

何谓优秀,优秀既是非常的好,超出了我们的预期。合理的团队组建好后这仅仅是有了基础,要把合理变为优秀还有很长一段路要走。团队建立初级必然会有一段混乱的阶段,这称为磨合期,在团队领头人的正确带领下,团队会很快经过这个阶段,成员之间会形成一定的默契,使得项目工作能很好的推进。作为团队领导人赶紧要做的是建立团队荣誉感如制作统一体恤,团队代号,团队作战室等,使团队每个人产生归团队属感。在整个团队成长的期间除赏罚分明外,需要领导者亲临亲为营造一种平等的讨论氛围。让每个人都敢于说出自己的看法。不管对错团队领导者都要给敢于说话的成员给与鼓励。不要认为在会议桌上放点零食不好的,这恰恰是让团队成员放松警惕而信任对方的好办法。用一切资源鼓励敢想敢做且取得成功的人,同时对于失败者也要接受,但必须让他总结失败。记得在紧张工作之后定期组织你的团队进行户外活动是非常必要的。在这些都做得非常好的情况下不要忘了时刻提醒你得团队什么是你们真正的目标。说服你的高层让你得团队成员尽力的固定,哪怕是更换项目。慢慢的在你细心领导下你会拥有一支优秀的团队。但要切忌的是,在发展中的企业里,或则强人并不是非常多的企业里请谨慎对待末位淘汰制,使用不当将使你的团队彻底崩溃。

5       合理的职位与职称体系

   合理的职位与职称对团队成员职业素质的肯定和尊重。职位与职称会给成员带来成就感与认同感,让其对职业发展方向由明确的期待。说到职位、职称、职位称呼,目前国内应该是混乱的,毫无章法可言,特别是系统集成企业,而且很多企业根本就不重视,或者没有意识到其重要性。目前国内管理性职位还稍微好点,技术性职位基本上就没有明确的体现级差职位与职称体系。如果项目组有足够梯队那么考虑在项目团队中建立适当的职位与职称来体现对成员的认可以及对其职责的督促是非常有效的。如项目组中设立首席程序设计师或是首席架构师,或者大点的程序开发团队设置程序设计师组长、程序技术指导等职位是非常有必要的,这样的层级技术职位关系会确立技术人员的发展路线,同时使项目以前不可见的技术层面问题变得显性而受控。那么职称是什么呢?职称是描述成员在某个分工领域上的专业水平的等级,如助理程序设计师,程序设计师,高级程序设计师,资深程序设计师,项目经理,高级项目经理,资深程序设计师。职称工具的正确应用使成员可以在项目组中明确自己处于那种层次,管理者可以以此勉励成员的在专业水平上的提高。准确职称定义在项目中还可以用识别解决某个问题的有效资源。比如一个新项目立项时,传统的方法是笼统地估算人天认为有足够的人员可以完成项目,而真正到项目开发中却发现公司安排的人根本无法胜任项目的难度,而在有良好的职称体系下,项目负责人可以根据项目的难度较快的分析出需要各种水平的人才各是多少快速估算预算,同时根据公司的储备情况可以在项目启动前发现资源风险,同时人力资源部门可以迅速根据缺口组织符合要求的人员。要注意的是职位与职称之间是有关联性的,比如首席程序设计师必须高级程序设计师以上才能胜任,大型产品的产品经理必须要资深项目经理才能胜任。所以利用合理的职位与职称有助于你的团队能健康的向上成长。

6    结束语

前面的阐述表明,合理组成是团队高效协作的基础。首先,团队人员组织和成就方面的问题解决了,内因解决了,自然每个人积极性也提高了,积极性提高了效率也就提高了;其次,团队组织结构和职责设计原则是尽量避免政治因素对团队的影响,团队合力加强1+1>2,效率会大幅提高。最后,通过优秀的人、组件合理的团队、配合好的管理制度团队的效率也就自然提高了。当团队问题解决了,软件项目的成功率也会大幅提升。

作者:  蔡春茂     2013-7-24

软件项目管理:通过合理的团队组合提高团队协作效率相关推荐

  1. ​农业app开发软件有效推动了智慧农业发展,提高用户工作效率​

    ​农业app开发软件有效推动了智慧农业发展,提高用户工作效率. 从现在的形式来看,智慧农业的发展趋势已经不是一种需求了,这也更为符合智慧产业的发展体系.所以,农业APP软件顺应用户的需求而诞生了. 智 ...

  2. 浅析软件项目管理中十个误区(来自:http://manager.csdn.net/n/20051213/30907.html)

    随着计算机硬件水平的不断提高,计算机软件的规模和复杂度也随之增加.计算机软件开发从"个人英雄"时代向团队时代迈进,计算机软件项目的管理也从"作坊式"管理向&qu ...

  3. 如何跟进团队的沟通、协作和执行?这款团队协作软件你得试试

    身为团队的负责人,不知道你是否也正在面临着和我一样的团队协作困境: 在多人协作的需求处理中,如何明晰进程? 如何让团队协作者更直观.全面了解需求背景,提高沟通效率? 如何清晰掌握事项整体情况,如进展等 ...

  4. 通过 360 反馈提高团队绩效

    目录 概述和介绍 360 度反馈背后的理论及其在组织中的应用 在团队中使用 360反馈的好处 频繁和透明的沟通 提高自我意识 更清楚地了解目标和期望 在团队中使用 360反馈的挑战 提出正确的问题 3 ...

  5. 高效团队建设和团队领导二

    组织文化的类型: 1)冒险型:风险高,反馈快 保持强烈的进取型,坚强,乐观 崇尚个人明星- 谁敢孤注一掷并取得成功 明星随时产生,也会突然消失 机遇起重要作用 以承担风险为美德,勇敢 对失败不追究责任 ...

  6. 软件项目管理:教你如何做好团队管理

    软件项目管理,能够做好团队管理,就是一个很好的开始和基础.倘若你的团队都管理的不好,那么又怎么去安排项目成员去工作,把客户交代的事情给办好呢?软件项目最终的目标是实现客户目标,让客户满意度更高.小编, ...

  7. 软件项目管理0711:团队成员怕担责任

    软件项目管理0711:团队成员怕担责任 今天遇到问题是在跟其他分包商对接的时候,团队有一个小伙子在对接口的时候总是推脱,让对方找项目经理,其实内部已经评估过大概的方案,已经有了一个相对成熟的方案,这种 ...

  8. 《软件项目管理(第二版)》第 8 章——项目团队与干系人 重点部分总结

    文章目录 前言 一.简答题 二.论述题 总结 前言 学习了项目的开发与发布之后,我们就可以单独对一个项目进行开发了,但是在企业中开发中,除了编码之外,还需要项目管理.团队协作开发等,这就是软件项目管理 ...

  9. 四款软件,提高团队工作效率

    时光荏苒,光阴似箭,一转眼我已经工作了近10年的时间.在设计行业摸爬滚打多年,现在终于混到了一个项目经理的名号了.我是在工作了五年之后才当上项目经理自己带团队的,其实带团队看似简单,但是和一个单纯的设 ...

最新文章

  1. 【Spring-AOP-学习笔记-3】@Before前向增强处理简单示例
  2. 即将开源 | 2亿用户背后的Flutter应用框架Fish Redux 1
  3. win10系统如何安装SQL服务器,win10系统下怎样安装SQL2005 EXPRESS版|SQL2005 EXPRESS版的安装方法...
  4. java 包导入快捷键_Java导入包的快捷键
  5. 2021年秋季Python程序设计相关课程教材推荐
  6. Lumerical---FDTD仿真区域设置问题
  7. WinDynamicDesktop下载慢解决方法
  8. c语言if函数嵌套公式例子,IF 函数 - 嵌套公式和避免错误
  9. MathType公式编辑器中怎么输入千分号
  10. win10文件服务器怎么进,如何从win10进入云服务器
  11. OpenVINO整活(一) 输入分辨率
  12. 3Dtouch 基本原理
  13. NRF24L01多发单收配置
  14. 极米投影仪: U盘安装APP
  15. 人类社会货币的演变与区块链的价值
  16. 直播预告 | 硅步机器人携手Shadow Robot原厂技术大咖 深度解析遥操作系统
  17. 强行挂载根分区为只读,强行修复文件系统,超神的用法。
  18. php session 过期,session过期是什么意思
  19. MNIST数据集分类
  20. 用场景法剖析需求问题

热门文章

  1. 面试题CSS03【21-10-16】
  2. 生产者消费者模型的三种实现方式
  3. minijson使用_JSON教程介绍
  4. 铁路旅客流量预测——数据清洗
  5. java column 设置非空,Column ‘列名’ cannot be null 问题解决
  6. 如何实现前端微服务化?
  7. C语言中exit(0)与exit(1)有什么区别
  8. ATGrid WEB报表打印控件/MIS报表控件
  9. 【JZOJ B组】艰难的选择
  10. libevent 目录