[置顶] 软件项目管理:经过合理的团队组合提升团队协做效率

如何提升团队协做效率架构

 ------经过合理的团队组合提升团队协做效率工具

 

 

1    引言测试

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

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

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

   优秀团队的定义排序

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

3    组建合理的团队资源

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

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

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

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

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

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

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

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

 

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

4    把合理变为优秀

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

5       合理的职位与职称体系

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

 

6    结束语

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

 

                                                                                                                                                                                                                         做者:  蔡春茂     2013-7-24

相关文章
相关标签/搜索