引:本文从软件产品生命周期模型入手,着重分析了维护期软件项目的特点,并根据维护期软件的特点,结合作者的实际工作经验,指出了维护期软件项目管理需要注意的事项。
维护期软件特色
1、 软件生命周期模型
软件生命周期模型分为:瀑布型、螺旋上升等等。大部分的软件项目的生命周期均有一个:“孕育”—>“诞生”—>“成长”—>“发展”—>“衰老”—>“消亡”或者“重生”的过程。维护期处于软件生命周期的“衰老期”,如果处理得当,凤凰可以涅鎜重生;处理不当,在使自身走向“消亡”的同时,还可能影响后继产品的诞生。
2、 维护期软件项目特色
维护期软件项目的特色主要体系在:产品自身特点、项目成员、管理、客户等几个方面。
1) 产品自身特点
软件日趋稳定:软件进入维护期后核心代码已经日趋稳定,Bug数目较产品初期已经大大降低。新发现的Bug大部分是在新增功能和改Bug而引入的新Bug,只有少数属于前期开发阶段遗留下来的缺陷。
个性化需求层出不穷:进入维护期的软件大的功能需求已经基本稳定,但是随着产品的大规模应用,客户很多深层次的需求逐步发掘,特别是一些产品化的软件,产品设计之初主要是针对某一类客户或某一类消费市场。随着使用客户和使用频度的增加,客户细分、客户需求的再挖掘便日显重要。不同的客户可能会根据自己的使用习惯、应用情况等提出一些个性化需求。这些需求一般规模不大,但是一般需要给以快速的响应。
性能、维护、安全类需求日趋重视:软件开发之初优先的重点是满足功能,其次是满足性能等需求。而到了维护期,大的功能点已经实现,随着客户的频繁使用,先前在设计、编码阶段这些方面存在的不足逐步暴露。性能、可维护性、安全性等方面的需求日益成为客户和项目组关注的重点。
外部缺陷成本大大提高:维护期的软件一般已经被客户使用了一段时间,承载了客户部分或全部的业务量,这个时候任何一个细小的缺陷都可能给客户带来重大的经济或其他利益的损失。如果管理不善,前期在客户心目中初步建立的良好形象很可能在顷刻之间毁于一旦。
2) 项目成员
进入维护期的软件,对于项目成员的影响主要体现在:
老员工:新鲜感、成就感大大降低,很多资深员工不再安于天天面对着熟悉的代码,操练着日渐“陈旧”的技术。部分人心猿意马,如果处理不善将会导致人员、技术流失。
新员工:维护期软件的技术、代码已经具备一定规模,新加入的员工需要花较长时间熟悉原有产品的设计思路,熟悉原有的代码。如果碰巧产品前期阶段管理不善,遗留下的文档很少,代码编写也不规范,将大大增加新人前期学习的难度,甚至导致软件质量下降,Bug增加。
3) 管理
维护期软件在项目管理方面,要处理好几个方面的矛盾:
日趋稳定的产品与不稳定的人员:维护期软件日益稳定,但是项目组成员特别是以前的核心骨干员工随着新鲜感和成就感的降低,人员流动频繁。
责任重大与重视不足:随着维护期的软件承担的业务规模增加,责任也日趋重大;而维护期产品往往失去了往日的光环,不再是公司关注的重点。
技术的点与面:设计和编码阶段投入的人员众多,大部分人只涉及到产品的很小一个部分,这个时候要求的是“点”型技术专才和攻关型的技术专家。而维护阶段,投入的人员逐步减少,每个人维护的代码量不断增加,这个时候要求的就是“面”型的技术通才和问题快速定位的专家。
新技术与老产品:在产品设计、开发时使用的新技术,到了维护期可能已经逐步没落。某些华而不实的新技术往往会使得一些唯技术论的人铤而走险,如何处理好新技术与老产品之间的矛盾,是项目管理者必须面对的一个问题。
《卓望通讯》杂志免费赠送,更多精彩,更多奖品等你拿,只要EMAIL 给 zhouym#aspire-tech.com,写清楚自己的姓名 邮政地址和邮编,你就可以收到。
|