除了老板之外,我想大多数人是讨厌规则的,因为它束缚了我们的自由。然而,无论是个人,还是组织,规则却是发展中必不可少的环节,虽然我们很难看出规则的直接价值。
研发类任务,更是一类严谨的工作,它不仅需要严谨的逻辑思维能力,更需要一个完善的研发规范流程。对于程序员的我们,其实我们心里是比较讨厌规则的,在我们心里,只要把需求完成,上线就ok了,其他都是浮云,其实,这样的心里,我以前也是有过。
那么,一个标准的合理的研发规范,应该是怎样的?
这篇文章,我将与大家分享自己认为的研发规范化应该是怎样的, 若有任何问题,请大家及时在评论区提出与交流。
1 范围
本规范适用于【技术部-各组】所有关联的相关人员,如产品、开发、测试、运维等,技术部相关人员应严格遵守并执行。
2 目的
俗话说,“不以规矩不成方圆”,磨刀不误砍柴工,良好的文档和文档管理是项目或产品成功的关键要素之一,它能有效地解决项目开发中的极大部分问题,如业务规范,开发人员职责划分,技术规范,项目管控、项目测试、项目上线、项目运营、bug追踪等问题。
无论是传统的瀑布式开发、敏捷开发,devops,还是多种方式结合的开发模式,标准流程万变不离其宗,均可抽象成标准流程。
3 需求如何流转
需求如何流转?这是个标准化流程问题。根据我多年的研发、架构、团队管理等经验,与大家分享我的见解。
我个人认为,一个正常的需求流程应具备如下关键环节。
在实际研发中,不必完全按照该流程流转,我的建议是模块及模块以上的需求,按照该标准流程,模块及以下的需求,可根据实际情况,参照该流程的局部流程即可。
3.1 需求维度
关于需求,应包含如下五大阶段:
3.1.1 需求提出
需求提出为需求整个阶段的首要环节。对需求的后续环节影响非常大,因此良好的需求提出至关重要,为此,需求提出人员应做到如下两个方面:
(一)明确需求
明确需求,提供如下参考意见:
1.该需求背景是什么?
2.该需求主要解决什么业务问题?
3.决定该需求成败的关键因素有哪些?
4.该需求涉及到哪些业务领域?
5.该需求涉及到公司哪些相关部门?
6.该需求的的调研方式有哪些?
7.该需求的成本,如开发成本,人力成本等
(二)需求应具备相关要素
3.1.2 需求调研
需求调研为需求五大阶段的第二环节。采用的调研方式,调研结果直接影响需求的准确性,因此需求调研是非常重要,不可或缺的部分。
需求调研必须要解决需求提出阶段(一)明确需求的几个重要问题。
当调研结束后,要对调研的结果,获取的资料进行提取,加工,转换和分析,然后将分析的结果形成文档,并以一定的形式展示出来,方便后期需求评审等一系列工作。
3.1.3 需求定义
需求定义为需求五大阶段的第三环节。当完成需求调研后,需求攥写人要对需求五大阶段第二环节认真分析,并在需求调研人的协助下完成需求文档的编写,当完成需求的定义及分析后,需要将此过程书面化,要遵循既定的规范将需求形成书面的文档,我们通常称之为《需求分析说明书》。
需要注意的是,关于晦涩的业务需求点,需求攥写人应借必要工具进行建模分析,展示,以方便技术开发人员理解交流,除此之外,需求定义过程中通常会出现的问题有内容失实、遗漏、含糊不清和前后描述不一致,需求攥写