服务与维护(Service and Maintenance, SM)是指产品销售之后的客户服务和产品维护。客户服务和产品维护的宗旨就是提高客户对产品以及对开发方的满意度。
服务与维护过程域是SPP模型的重要组成部分。本规范阐述了服务与维护过程域的两个主要规程:
- 客户服务 [SPP-PROC-SM-CS]
- 产品维护 [SPP-PROC-SM-PM]
上述每个规程的“目标”、“角色与职责”、“启动准则”、“输入”、“主要步骤”、“输出”、“完成准则”和“度量”均已定义。
本规范适用于国内IT企业的软件研发项目。建议用户根据自身情况(如商业目标、研发实力等)适当地修改本规范,然后推广使用。
一、介绍
当产品开发完成并开始销售时,原开发小组应当解散以便人力资源重新分配。其中大部分的开发人员将参加新的项目,只需要留小部分人员从事客户服务和产品维护工作。
对于合同项目,客户服务和产品维护的周期、费用等等在合同中决定。对于自主研发的产品而言,一般地,客户服务和产品维护工作将持续到产品退役。客户服务与产品维护的流程如图21-1所示。
客户服务的重点是为客户提供与产品相关的服务(如技术咨询),快速响应客户的要求,给客户一个满意的解答。
产品维护可分两大类:
- 纠错性维护。由于软件产品开发过程中的测试不可能揭露所有的错误,用户在使用软件时仍将会遇到错误,诊断和改正这些错误的过程称为纠错性维护。
- 完善性维护。在软件产品的正常使用过程中,客户还会提出新的需求。为了满足客户的需求而不断改善产品功能和质量的活动称为完善性维护。如果需求变更比较大,那么完善性维护将转变为软件新版本的开发(即新的项目)。
纠错性维护是必需的、强制性的,而完善性维护则要根据产品发展战略、开发方财力和资源等因素而定。
服务与维护过程域产生的主要文档有:
- 《客户服务计划》,模板见[SPP-TEMP-SM-CS-PLAN]。
- 《客户服务报告》,模板见[SPP-TEMP-SM-CS-REPORT]。
- 《产品维护计划》,模板见[SPP-TEMP-SM-PM-PLAN]。
《产品维护报告》,模板见[SPP-TEMP-SM-PM-REPORT]。
二、客户服务
2.1 目的
- 为购买本产品的客户提供服务,例如技术咨询、故障排除等等。
2.2 角色与职责
- 机构有关领导为所有产品指定客户服务人员,服务人员的多少根据机构的现状而定。
- 服务人员接收客户的要求,并迅速响应,努力给客户一个满意的解答。
2.3 启动准则
- 产品已经交付给客户。
2.4 输入
- 客户信息库
- 产品文档如使用指南等
- 有关合同
2.5 主要步骤
[Step1] 客户服务准备
- 开发方建立通畅的客户服务通信渠道,包括信息管理系统、电话、电子邮件等。
- 开发方对服务人员进行必要的培训。
- 服务人员制定本产品的客户服务计划,上级领导审批该计划。
[Step2] 接收客户的要求
- 客户通过各种渠道向服务人员提出要求(如请求、建议、投诉等等),服务人员记录这些要求。
- 服务人员主动向一些客户询问,调查客户的要求。
[Step3] 响应客户的要求
- 服务人员迅速相应客户的要求,例如:
- 对于相对简单的技术咨询这类要求,服务人员自己或请相关的技术人员立即予以解答。
- 如果客户遇到软件故障,那么服务人员请产品维护人员为客户解决问题。一般地,如果客户与维护人员在同一城市,那么维护人员应当在当日赶到客户工作场所。如果客户在外地,那么维护人员应当根据交通状况与客户协商时间。转向产品维护规程 [SPP-PROC-SM-PM]。
- 对于客户提出的建议,如果开发方采纳了,服务人员应当尽快向客户致谢;如果开发方没有采纳,服务人员应当对客户做必要的解释,并向客户致谢。
[Step4]后续工作
- 服务人员归纳分析客户的各种要求,总结一些有价值的建议,向有关领导汇报。
2.6 输出
- 《客户服务报告》(记录客户的要求及相应的解决措施)。
2.7 结束准则
- 已经给客户一个满意的解答。
2.8 度量
- 服务人员统计客户要求的种类和数量,汇报给有关领导。
三、产品维护
3.1 目的
- 消除产品中存在的缺陷。
- 在资源允许的情况下,不断改善产品功能与质量。
3.2 角色与职责
- 机构领导为所有产品指定维护人员,维护人员的多少根据机构的现状而定。
- 维护人员及时消除产品中存在的缺陷,在资源允许的情况下,不断改善产品功能与质量。
3.3 启动准则
- 产品已经交付给客户。
3.4 输入
- 产品的源代码和开发文档、使用文档等(这些工作成果应当保存在配置库中)。
3.5 主要步骤
[Step1] 产品维护准备
- 开发方对维护人员进行必要的培训。
- 维护人员制定本产品的维护计划;上级领导审批该计划。
[Step2] 接收并判断维护要求
- 维护人员接收到客户或者开发方内部的维护要求后,首先判断该要求属于“纠错性维护”还是“完善性维护”:
- 对于“纠错性维护”要求,维护人员根据具体情况确定“是否”以及“何时”赶赴客户工作场所,设法尽快消除产品中的缺陷,转向[Step3]。
- 对于“完善性维护”要求,如果该维护工作处于资源允许的情况下,那么维护人员应当设法及时改善产品功能与质量,转向[Step3]。否则,维护人员向领导请示,由领导决定是否执行该维护工作。
[Step3] 执行维护工作
- 根据[Step2]的维护要求,维护人员及时消除产品中存在的缺陷,不断改善产品功能与质量。
- 维护人员必须对修改后的产品进行相关的测试。
- 维护人员必须严格遵循配置管理规范,避免工作成果的版本发生混乱。
[Step4] 后续工作
- 如果维护人员在[Step3]所做的工作对于绝大多数客户都有意义,那么要妥善地更新那些受影响客户的软件,例如发行“软件补丁”等。
- 维护人员归纳分析各种维护要求,总结一些有价值的建议,向有关领导汇报。
3.6 输出
《产品维护报告》(记录维护要求及相应的解决措施)
3.7 结束准则
- 对于每一项维护要求,都已经给客户一个满意的解答。
3.8 度量
维护人员统计维护工作量,问题的种类和数量,汇报给有关领导。
四、实施建议
- 开发方不仅要对服务人员和维护人员进行产品培训,还要在“与客户打交道”方面进行培训,尽最大努力提高客户对产品以及开发方的满意度。
- 对服务与维护过程中产生的所有有价值的文档进行配置管理。