软件开发中的变更,这些你知道吗?

什么是变更

变更存在软件开发的方方面面。需要增加新的功能,这个是变更;需要加强原有的功能,这个是变更;为了承载更多业务,对系统做扩容,这个也是变更。小到一个bug的修复,大到系统架构的调整,从需求的分析到应用的发布都存在变更。实际这些东西都是我们工作中遇到的事情,而且我们都在做,但是我们并不知道这些是变更。更没有考虑如何去识别和管理变更,在小团队的时候似乎觉得没有必要,但当团队逐渐变大以后变更的识别和管理就尤为重要了。如果做的好可以大大的提升整个团队的生产效率。

变更的识别

如何去识别一个变更,我们定义了以下几个要素。

  • 变更的日期和时间
  • 变更所对应的系统
  • 变更的实际内容/操作
  • 变更期待的结果
  • 变更参与的人员(RASCI)
  • 例如我们需要对系统进行重构,这个重构从今天开始历时1个月的时间。针对目前的订单系统。需要对数据库,数据库访问层,对外接口进行重构。重构的结果是能够支持每秒1000的并发。需要架构师,开发工程师,系统工程师,测试人员参与。

    变更的生命周期

    包括6个步骤,如下

    1. 变更提出:针对目前提出的问题,提出变更的请求。需要对变更进行识别以及详细的描述。针对时间,系统,内容,结果,人员的方式识别变更。特别注意的是,这里需要按照RASCI的方式来定义人员。(之前的文章有介绍过)
    2. 变更计划:比较小的变更例如修复Bug,在比较短的时间(2-4小时)就可以完成。有些较为复杂,特别是涉及到不同系统,需要跨部门协作,甚至是类似大版本升级的变更。最好是指定详细的计划,这个计划可以根据迭代的方式来进行。如果变更过大,设立专门的项目经理推进也是有必要的。
    3. 变更实施:这里需要把变更任务进行拆解,拆解完的任务一定是可以在一天内完成的,这样方便检查变更的完情况,如果遇到问题可以及时的调整变更计划。每个变更任务的具体实施应该在变更启动的会议上面描述清楚。同时也需要在变更计划的基础上进行细化。在这个过程中通常会记录变更日志方便后面复盘讨论。
    4. 变更验证:变更完成之后,验收人员(通常是验收的发起人),会根据变更识别的具体内容对结果进行核查。如果是比较大的变更(超过3天),建议设置核查点(每天)去检查变更结果。以保证变更的方向是正确的。
    5. 变更 告:根据变更完成的情况,根据变更日志,对变更的过程进行复盘。总结优缺点。通常只有大的变更之后会有这样的机会。一般都是以变更回顾会的方式进行。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2019年3月3日
    下一篇 2019年3月3日

    相关推荐