软件公司中的维护团队建设

原创 2012年12月08日 00:03:52
相对于软件公司中的开发团队,维护团队似乎常常默默无闻,做事相对于保守,远没有开发团队那样常常让人有新鲜感。这是一种很普遍的现象,也就是维护团队的价值常常被有意或无意地降低了。 事实上,维护团队的建设和管理比开发团队所应对的挑战大得多,而运行得当的话,可以同项目团队或开发团队形成互补,发挥驱动力。

软件维护团队的目标和流程

软件维护团队被赋予维护已交付产品的职责,主要工作内容是分析修复新发现的Bug, 以及客户对软件提出一些调整,具体的内容要视维护合约而定。总之或么是修修补补,要么就是锦上添花。因为是已交付的产品,其变更是开发团队开发过程中所花费的成本的2~25倍,这在软件工程领域早有定论(可以参考这里这里)。如果因为变更而引入了新的Bug,则表示要完成至少两次变更,成本则是开发过程修复的4~50倍。为了保证变更的质量,降低风险和不一致性成本,软件维护团队的流程通常较开发团队要严格地多,管理上也要细致许多。

下面是一个软件维护团队流程的示例:
  

维护团队建设

正因为维护团队的约束大,团队建设的难度也更大。最大难题就是人员稳定性的问题。如何选对人进入维护团队?首先做事细致严谨,既要甘于平淡,又要技术能力达标,这样的人是可遇不可求的,而且常有变化。治水在疏而不在堵。个人觉得有四个要点:
  一.尽量选择合适的人进入维护团队。虽然难,但还是要努力去做。一定要清楚什么是首要条件,什么是次要条件。比如技术能力是不是首要条件,取决于团队目标。
  二.建立良好的轮岗制度,好进好出,至少可以保证顺畅地在维护团队和开发团队间轮调。出入的条件则灵活设置。
  三.建立技术交接流程,降低因为人员流动而引发的风险。
  四.结合第二点的轮岗制度,可以吸收新进技术人员和实习生到维护团队,在降低工作负荷的同时,也可以活跃团队气氛。
  
这些做法可以使得维护团队相对开发团队或项目有其独特的优势,也就能吸引一些人。其关键是要维持一种公平性。亚当斯的公平理论提到一个感受的公平的条件就是他是否认可自己的所得与投入的比例。也就是说如果以项目团队的管理方式来带维护团队,维护团队成员能否感受公平呢?

当然这些做法还只是治标,并不治本。要治本,还要再探讨团队目标的设定。

形成新的驱动力

维护所承受的最大压力来源于它的目标设定。所谓格局决定结局。何以形成更为有利的格局?

首先软件维护团队的技术应当与开发团队是相通的,为什么不能加以利用?维护过程中发现的问题和识别出来的需求,是不是可以导入到开发团队中去?

相对于开发团队/项目团队,如果维护团队时间压力相对小(取决产品类型),就有机会对问题进行深入的研究,特别是领域相关的知识。深入研究问题以降低副作用本身也是维护团队最需要做的。这一优势正是可以加以发挥的特点,就是交给维护团队深入挖掘问题并寻求解决方案的职责。研究成果再以文档或者技术分享的形式移转到研发团队。

另外一点,就是由维护团队参予开发团队的走查,包括设计、文档以及代码,也会为团队的整体能力提升提供莫大的助力。

可行与否?还是从团队目标开始思考。


维护团队中的决策

如果一个维护项目终止,就可能导致维护团队的解散。早一点预见到维护项目的前景,会让管理者有充分的准备时间。

依据<<Software Engineering>>第9版中关于软件进化的说明,软件维护的决策要从市场价值(Business Value)和系统品质(System Quality)两个维度考察。
    
而得到结果后,就得到不同的决策。
Biz Value
System Quality
Strategy
Low
Low
弃用(Scrap)或替换(Replaced)。成本高,但意义不大。
High
Low
替换(Replaced or Reengineer)。维护成本高,但商业价值大。
Low High 持续演进(Evolution)。维护成本不高,商业价值也不大。
High
High
继续维护。

至于评价Business Value和System Quality所使用的具体指标设定方式,作者已经给了一些建议。要做到这些,除了了解维护团队的产品特点(软件复杂度,可维护性度量指标MM),也要了解相应的市场变化(不同干系人的需求)。

苍狼敏捷软件开发团队建设指南-2-团队建设

组建项目团队团队领导者根据项目情况、技能需要和组织人力资源布置来组建项目团队。进入条件团队领导者得到指派。输入项目情况和目标; 组织项目管理政策。活动1.团队领导者在与关键干系人沟通后选择团队...
  • zhangmike
  • zhangmike
  • 2016年06月14日 15:42
  • 5169

软件公司中的维护团队建设

相对于软件公司中的开发团队,维护团队似乎常常默默无闻,做事相对于保守,远没有开发团队那样常常让人有新鲜感。这是一种很普遍的现象,也就是维护团队的价值常常被有意或无意地降低了。 事实上,维护团队的建设和...
  • bamboolsu
  • bamboolsu
  • 2015年02月07日 10:51
  • 402

关于团队建设和个人成长

关于团队建设和个人成长 一些关于团队建设和个人成长的观点总结,来自团队餐会中各位同事的观点,感觉挺有代表性,所以分享出来 不涉及任何公司隐私   1).当感觉团队氛围不对,或者某些做法有...
  • wuxiaobingandbob
  • wuxiaobingandbob
  • 2015年09月29日 11:23
  • 361

高效团队建设与管理 学习心得

高效团队建设与管理----培训心得 企业文化:     高效团队首要特质就是具有灵魂,灵魂在企业内部可以被定义为企业文化;一群人如果具有共同的理想,共同的未来,共同的思考问题的途径和共...
  • yinxianluo
  • yinxianluo
  • 2014年04月16日 13:29
  • 2930

穆穆推荐-软件销售行业软件公司销售参考操作手册-之2-软件公司销售团队的组建及岗位分类

​穆穆推荐-软件销售行业软件公司销售参考操作手册-之2-软件公司销售团队的组建及岗位分类 一、      软件公司销售团队的组建及岗位分类 销售部门岗位 软件销售人员主要分类两大类,...
  • movno1
  • movno1
  • 2013年09月08日 17:57
  • 962

项目管理和团队建设

10、项目管理和团队建设 ==前言:主要探讨移动项目管理、线上问题分析与解决、团队建设。      拆分需求若干次迭代、激励士气、控制风险。 ==项目管理决定了开发速度 项目管...
  • JourneyX
  • JourneyX
  • 2017年02月09日 17:48
  • 593

苍狼敏捷软件开发团队建设指南-1-团队模型

前言目的本团队建设指南的目的是帮助项目来定义和控制项目团队如何建立、如何运作来达成项目目标。 范围适用于项目团队人数少于等于25人的项目。 概要1.苍狼敏捷团队模型得到了描述,为项目团队组建提供了框架...
  • zhangmike
  • zhangmike
  • 2016年06月14日 15:29
  • 5548

史蒂夫·乔布斯很懂团队建设

 史蒂夫·乔布斯很懂团队建设  我偶然读到了由Rama Dev Jager 和 Rafael Ortiz 在1998年写的《In the Company of Giants》这...
  • starzhou
  • starzhou
  • 2015年01月29日 21:49
  • 885

从大公司跑到小公司去(团队建设)

》从一个上市公司的某平台技术总监,来到新型的O2O公司来做CTO. 感受最深的说下四点。 有长期激励目标。 经验能力到了一定程度,就会关注于做的事情有没有挑战,有没有意义。对于我来说,找不到做事的意...
  • ShareUs
  • ShareUs
  • 2016年03月03日 15:11
  • 1303

关于软件开发团队的一些思考

概述: 目前一些软件开发团队,特别是中小型团队,由于在低成本模式下运行,加之对软件过程管理的不尽规范,在团队建设上只重视代码开发,不重视设计,只重视编程技术,不重视需求分析、架构设计等技术,只重...
  • xjbclz
  • xjbclz
  • 2016年06月20日 21:48
  • 1601
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:软件公司中的维护团队建设
举报原因:
原因补充:

(最多只允许输入30个字)