首页 > 文章中心 > 正文

软件维护组织管理

软件维护组织管理

职业鉴定培训考核是当前人事管理领域中的一个重要内容,她为各个专业领域提供不同等级的人才区别和鉴定,为各个专业领域的人事部门提供了人才的职业水平,绩效考核的直接依据。我们公司为某行业开发了一套通用的B/S架构的鉴定全程管理系统。它包含了人员权限管理,试题制作,试题审核,试题淘汰,组卷计划书,考务报名管理,考场安排,考试证书记载,学生答题无纸化,教师监控等模块。它的实现方式是后台以SQLSERVER数据库为存取中心,中间件是基于COM+的数据存取,前台是基于ActiveX的WEB界面,由于封装了ActiveX,客户端使用时数据传播量较小,减少了网络带宽的使用。

我接手产品维护经理的职务时候,产品刚上市,由于前期质量没有控制好。改正性错误比较多,结合这一实际情况,我觉得很有必要将维护流程进行科学化管理,使我对整个产品的维护全过程所有跟踪。于是我以CMM2的缺陷跟踪管理流程为基础,结合公司的实际情况,制定了一个6步骤的维护流程。

流程中首先规定了维护的角色,主要有提交者,维护经理、维护人员、测试经理、测试员这5个角色。维护任务的提交者可能是用户,也可能是测试部,他们检查出产品缺陷或新的功能需求。维护经理则审核任务的实现成本、难度、紧急程度、重要程度。取代CMM中ccb的指责。同时安排指定人员进行维护。维护人员即维护的开发人员,他们负责维护工作的实施。测试经理则负责分配维护开发的测试分配与验收。测试者对维护工作成果进行测试。

然后我在流程中制定了工作性质,分成了错误修正,旧功能改进,新功能设计,辅助工程四大类,大致对应改正性维护,适应性维护,功能性维护和预防性维护的工作,只是将理论对应实践做了一些调整,并将开发维护工程和改善流程都归入辅助工程的工程。

接着我在流程中定义了维护工组活动的状态,分为新建、活动、提交、测试、验收、完成、重申、修正、取消等9种,代表工作流的所处阶段。同时还定义了工作的难度、重要程度,严重程度的5级划分标准。

最后我描述了流程了流程的步骤:

1.新建任务:根据用户要求提交任务单,工作流状态由“无”变为“新建”

2.审核任务:维护经理审核任务的实施可能性,并分配任务,确定任务的各种属性,工作状态由“新建”变为“活动”。

3.维护任务:维护人员进行任务实施,实施完成后,将状态由“活动”变为“提交”

4.分配测试任务:测试经理将维护成果分配给指定的测试人员。状态变为“测试”

5.测试人员测试后,将意见写入CVSTrac,并将状态由“测试”变为“验收”

6.测试经理最后验收任务单,如果合格则由“验收”变为“完成”,否则变为“重申”

“攻欲善其事,必先利其器”,有了一个流程没有工具靠手工完成是不可以想象的。单方面的寄希望提高劳动强度来提高管理质量是不现实的。由于我们公司已经有了良好的文档,版本管理工具CVS的文档管理,因此我们在仔细挑选后选择了基于CVS上的B/S架构的CVSTrac工具来管理维护流程。由于CVSTrac,同时由于简单易上手,培训工作也只花费了2天。然后就进行了生产维护。

经过2个月的实施,事实上效果非常明显,他让我清楚的掌握了现在哥哥维护工作的状态,性质,严重程度等,同时也根据它的历史数据,方便的制作了包含重要错误数,错误返回率,正在进行开发错误总数,已完成开发的任务总数等决策信息,更能通过时间轴来统计各人的工作状态,对人力资源安排都起到的辅助决策作用。例如,由于测试人员先只有1个,但维护人员有4个,一段时间后,测试人员的未完成任务达40个之多,这样就明显表明测试人力资源,经申请,公司调配了一个测试人员给维护组。

但是使用过程中也发现了不少问题,这样举2个例子,最早的问题是沟通问题,CVSTrac任务单状态改变后,下一个责任人无法知道自己的任务状态,必须要上网查询。结果每个人对自己的总工作任务没有一个总体的把握。经常有些非常紧急的工作不得不亲自来通知。后来有鉴于此我编写了一个触发器程序,当状态改变时,任务单将自动发送到下一个责任人的BQQ中,使他们对子机的工作任务有一个及时了解。还有由于CVSTrac是后建与CVS上,CVS提交编号并不能直接和CVSTrac任务单对应,每次都有花费人力进行对应审核。后来我利用CVS的触发器编写了一个提交驱动,提交时将提交注释中任务单信息直接填入CVSTrac数据库,保障了自动同步功能。总的来说过程是在不断改善之中。

当时中国软件业兴起了CMM大潮,但是许多企业太过于急功近利,要在一天完成CMM的全流程,结果由于CMM太庞杂而失败。其实CMM并不腔调一步到位,而是强调持续改进流程,我觉得应该站在科学的立场上,对各种管理流程进行合乎国情的循序渐进的规范化。