|
维护期软件项目管理特点
1、 版本管理
对于维护期的软件项目,版本管理至关重要,主要体现在几个方面:
版本分支管理
软件进入维护期后,核心代码已经基本稳定,增加功能、修复Bug等任何变更都可能引入新的Bug。要提高维护期软件的质量,就必须尽可能的减少变更或者提高变更代码的质量。对策之一就是引入新功能的版本分支管理:对于一个新功能,不是直接在主版本上开发,而是先分支出一个子版本。新功能基于子版本开发,经过若干个“试验局”版本,待新功能基本稳定后再合入主版本。这样的好处是:产品始终有一个相对稳定的基线版本;新功能前期尽可能在“试验局”暴露问题,减小问题的影响范围。 目前版本管理常见的工具包括:VSS、Clear Case等。Clear Case在分支管理方面的功能比较不错。
代码合入管理:
对于维护期的软件产品,提升合入代码质量十分重要。比较不错的方法有:软件QC、重点代码检视等。
软件QC是指:项目组安排部分资深技术专家,对合入的代码进行交叉检查,从代码风格、程序逻辑等角度进行审核,确保合入代码的质量。
重点代码检视是指:80%的错误都是由20%的代码导致,项目组通过统计分析,找到代码故障高发段,对于重点代码进行检视,可以很大程度上提升系统的质量。
文档管理
维护期的软件产品,在文档管理方面主要注意几个方面:
1. 对新的设计文档严格要求:有些人认为软件进入维护期后就没有必要写设计文档了。其实恰恰相反,对于维护期的软件新增功能、千行以上的缺陷修复等都应当走设计评审流程:维护期的软件外部缺陷成本大大增加,而内部缺陷成本相对较低,加强设计文档的审核、让缺陷尽可能的在设计阶段暴露,从而降低总体缺陷成本。
2. 对老的设计文档定期更新:进入维护期后,代码和先期的设计文档容易出现偏差。如果不定期的对原有设计文档进行更新,日积月累将大大降低原有文档的价值,增加新员工入手的难度。
3. 规范项目过程文档控制:做到任何事情均有记录,任何变更均可回朔。通过加强文档建设,可以大大降低人员流动的风险。例如:规定VSS合入说明格式,做好变更记录等。
问题单号:QX0001
问题描述:解决显示字体错误
修改人:张三
修改办法:修改显示字体的大小
涉及文件:文件1、文件2
…….
4 对老的代码进行重整:某些软件产品前期为了赶进度,忽略编程规范和注释,导致代码成“天书”。因此,适时对老的代码进行格式整理和注释完善,可以大大降低后期的维护工作量和新员工入手难度。
5 鼓励经验积累和共享:对于经验和教训,应当即使总结,并纳入文档管理。例如:要求新员工写代码学习心得,通过学习心得共享,使后继员工入手少走弯路。
2、 人力资源管理
维护期的软件产品容易出现项目组人员不稳定,在此例举一些对策:
对于加强新员工培养,对于不稳定的老员工采取:培(加强培训)、转(转入其他产品,提升新鲜感)、升(岗位提升,促进成就感)的策略。
人员交叉备份:各个模块的维护人员之间交叉备份,一方面降低人力资源;另一方面避免一个人维护一块,规避人员流动引发的风险。
3、 需求管理
谨慎评估需求引入:需求的引入会对产品的稳定性产生影响,任何对代码的修改,难免引入新的问题。因此对于新需求,除采取版本分支管理外,很重要的手段就是引入CCB决策。汇总各方意见,确定需求是否实施。
需求的重新分析:
1) 发现关注点:在产品初期曾经做需求分析,但是等产品实现并交付客户使用后,常常会发现前期需求阶段被忽视的部分内容,恰是客户重视的部分;或者客户通过一段时间使用后,前期不明确或潜在的需求逐步暴露。这时候非常有必要启动需求的重新分析,发现客户对产品新的关注点。
2) 发现重点:80%的问题集中在20%的模块。进入维护期后,面对日益庞大的代码,项目组必须发现重点,从重点入手,提升客户满意度。比较有效的方法是做一些客户调查了解:哪些模块是客户使用频度最高的模块?哪些模块是对客户影响最大的模块?以及客户的使用习惯等。
4、 风险管理
维护期软件项目风险来自于多个方面,比较特殊的是:
人员流动风险:维护期软件人员流动性一般较大,需要加强对核心骨干员工的激励,适当的采取转、培、升等措施,为他们创造新的发展空间,并通过加强文档建设、人员交叉备份等措施规避人员流动风险。
外部缺陷成本增加风险:随着产品业务量的增加,任何缺陷将可能给客户造成重大损失。为了提升稳定性,可以通过:发现重点,逐一突破;加强QC;加强需求控制等手段降低外部缺陷成本。
新技术的风险:对于维护期的软件,往往稳定压倒一切。贸然的使用一些未经充分验证的新技术,往往会适得其反。技术不在“新”,而在实用;必须严格遵循编程规范,摒弃一切华而不实、看似高深的代码。
《卓望通讯》杂志免费赠送,更多精彩,更多奖品等你拿,只要EMAIL 给 zhouym#aspire-tech.com,写清楚自己的姓名 邮政地址和邮编,你就可以收到。
|