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

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

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

软件维护团队被赋予维护已交付产品的职责,主要工作内容是分析修复新发现的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),也要了解相应的市场变化(不同干系人的需求)。
目录
相关文章
|
4月前
|
监控
项目总延期:确保软件开发公司按时交付项目,实用方法
在当今竞争激烈的商业环境中,软件开发项目的按期交付不仅是技术实力的体现,更是保障业务连续性和客户满意度的关键。面对可能存在的项目延期风险,一套有效的预防与应对机制显得至关重要。以下是参考“东莞梦幻网络科技”软件开发公司,有哪些保障条例,保证软件开发项目能够如期交付:
|
12月前
|
存储 供应链 安全
政府为开发人员发布指导以确保软件供应链安全
政府为开发人员发布指导以确保软件供应链安全
|
存储 项目管理
团队协同办公软件排行榜,外部协作软件大全都有哪些?
J2L3x 是一款流行的团队沟通工具,支持实时通讯、频道和私人消息、文件共享和讨论。
团队协同办公软件排行榜,外部协作软件大全都有哪些?
|
SQL 程序员 测试技术
2022 软件开发者“时间管理”调查报告:近 90% 的人认为开源代码必不可少|68% 的人发现在办公室工作效率更高
2022 软件开发者“时间管理”调查报告:近 90% 的人认为开源代码必不可少|68% 的人发现在办公室工作效率更高
123 0
2022 软件开发者“时间管理”调查报告:近 90% 的人认为开源代码必不可少|68% 的人发现在办公室工作效率更高
|
Oracle 关系型数据库 云计算
绩效管理软件
本文研究全球及中国市场绩效管理软件现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
项目管理
一个运营人的自白:做好项目管理,摆脱工作996
今天七夕耶!!停,别高兴得太早,如果你忙到抽不出时间去约会,那今天也只能是个普通的星期三!!社畜最害怕听到了一组数字大概就是996了,可996并不少见啊,特别是初创型公司,钱没到位工作又累,一人身兼数职也是经常有的事,每当事情堆积在一起的时候,都恨不得自己能有多重影分身。
1216 0
|
SQL 关系型数据库 数据库
IT外包,网络维护
提供ORACLE、DB2、SYBASE、MS SQL等数据库软件维护服务,保障数据库系统软件稳定运行和数据安全。 一.维护内容 日志检查分析 软件版本、补丁程序检查 数据表空间、状态检查 数据备份与恢复策略 补丁升级 故障排查、定位、处理与解决 数据迁移 性能调优 紧急救援服务(广东励康信息技术...
《企业软件交付:敏捷与高效管理精要》——2.2 MyCo公司和MyProj企业软件交付项目
本节书摘来自华章计算机《企业软件交付:敏捷与高效管理精要》一书中的第2章,第2.2节,作者:(美)布朗(Brown, A. W.)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1262 0
《软件需求工程(第2版)》一2.3 需求工程在软件开发中的地位
本节书摘来自华章出版社《软件需求工程(第2版)》一书中的第2章,第2.2节,作者 毋国庆 梁正平 袁梦霆 李勇华,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1915 0