理顺软件开发各个环节-16(开发管理-问题诊断分析与修复)

5.9问题诊断分析与修复

  在联调测试、测试团队测试或上线阶段,发生或发现的问题或缺陷,需要诊断分析和修复。

  问题发生了,不仅要分析问题发生的原因,并寻求解决问题的方法,更重要的是分析产生问题背后的原因,并寻找解决之道,从而避免同样的问题重复发生。

  用数学语言比喻,分析问题,是求一阶导数;分析问题发生背后的原因,是求二阶导数。

 

  责任人:开发项目组长。

  执行人:开发人员(软件工程师)。

  关键行为:诊断分析和修复问题。

  • 诊断分析问题原因(视需要可能多人/多子系统/多部门协同):
    • 文档质量问题:
      • 用户故事;
      • 软件需求分析文档;
      • 总体设计文档;
      • 概要设计文档;
      • 详细设计文档;
      • 接口设计文档;
      • 单元测试checklist文档;
      • ......
    • 需求场景缺少问题:
      • 用户故事;
      • 软件需求规格书;
      • .....
    • 设计思路问题:
      • 总体设计文档;
      • 概要设计文档;
      • 详细设计文档;
      • 接口设计文档;
      • 单元测试checklist文档;
      • .....
    • 代码质量问题:
      • 代码实现;
      • .....
    • 接口匹配问题:
      • 接口设计文档;
      • 代码实现;
      • 设计文档;
      • .....
    • 配置管理问题:
      • 代码提交merge问题;
      • 代码基线及分支管理问题;
      • ......
    • 软件环境和配置问题:
      • 软件系统及版本问题;
      • 配置数据;
      • ......
    • 硬件限制问题:
      • 内存;
      • CPU;
      • 网络带宽;
      • 网络抖动;
      • 物理可靠性;
      • ......
    • ......
  • 问题修复:
    • 需求分析阶段:
      • 修改相关需求分析文档;
    • 设计阶段:
      • 修改相关设计文档;
    • 编码实现阶段:
      • 修改代码;
      • 修改相关设计文档;
      • 修改相关需求分析文档;
    • 联调阶段:
      • 修改代码;
      • 修改相关设计文档;
      • 修改相关需求分析文档;
    • 提测阶段:
      • 修改代码;
      • 修改相关设计文档;
      • 修改相关需求分析文档;
    • 上线阶段:
      • 修改代码;
      • 修改相关设计文档;
      • 修改相关需求分析文档;
      • 修改服务器及硬件、系统配置
    • ......

  输入

  • 问题及故障现象描述;
  • 日志信息;
  • 数据库记录相关信息;
  • 软件需求规格书(SRS);
  • 数据字典(DD);
  • UI&UE交互设计原型(如果有);
  • 用户故事;
  • 总体设计文档(视需要);
  • 概要设计文档;
  • 详细设计文档(如果有);
  • 接口设计文档;
  • 输入项视问题的发生阶段及问题的复杂度而定。

  输出

  • 问题诊断分析及修复报告:
    • 当前问题分析:
      • 问题描述;
      • 表面原因;
      • 解决方案;
    • 深度分析:
      • 是否发生过类似原因的问题;
      • 深层次原因分析;
      • 未来发生类似问题的可能性;
      • 改善方案;
      • 针对上线阶段问题应都需要做,其它类型,1-2周做一次review
  • 修复后的文档或/及代码。

  职责要求

  • 找出问题的表面原因;
  • 修复当前问题;
  • 分析问题背后的深层次原因;
  • 寻找避免同类问题再次发生的改善方案。

你可能感兴趣的:(理顺软件开发各个环节-16(开发管理-问题诊断分析与修复))