项目研发流程及管理之我见

随着工作年限的增长,我们从一开始负责一个功能,再到负责一个模块的数据字典及框架设计。再到负责整个系统的需求评审及架构设计。这一路见证着程序猿的成长。但当我们逐步成为一名架构师,或是一名项目管理人员时,会发现一个项目的成功,会牵扯到各式各样的问题及风险。无论是系统本身要兼容快速发展的业务形态,还是由于人员因素导致的项目延迟,又或是系统代码的臃肿或是难以维护,亦是新人来后的一脸迷茫。

那么下面,分享下,项目流程管理之我见。

一、整体项目流程

1、 需求评审与确认

要求:PD会进行需求的整理并放入需求资源池。确定本期研发的功能需求,并开始需求评审,需求评审时,能够使技术人员能够完全理解本次需求的前因后果,作用,目标及整个流程。

产出:该阶段主要为pd产出相关prd及demo,对需求进行宣讲,并记录疑问及难点。

2、模块流程文档

要求:围绕着本次迭代的核心问题,编写整个模块的闭环业务流程。如有复杂逻辑,需要画出用例图、协作图等。

同时,要给出该模块的非功能性需求,例如:调用量、日均增量、访问次数等待。

产出:领域模型、开发模块架构图、技术架构图、人员分工(每个人负责哪个模块)

3、详细设计及评审

(1)概念映射:抽取本次模块迭代的一些属于概念。

(2)框架设计:围绕着本次迭代的核心,进行模块的扩展构思,不仅仅以完成本次功能的模块为主旨,还需要考虑未来的体系中,该模块的可用性、扩展性。

(3)数据库设计:数据库设计时要严格遵守数据库范式、同时围绕系统做到可扩展。

(4)功能细化与调研各个环节中需要调用哪些接口服务。

(5)前后端传输对象的映射及定义,进行前后端最后评审。

   产出:技术架构图、数据库关联关系图等,一致评审通过后,形成完整文档。

4、编码

(1)围绕着模块的核心构建核心框架代码(遇到问题可互相讨论)

(2)编码及功能实现。

(3)接口注释、复杂逻辑注释。

5、测试

要求:测试阶段,根据代码逻辑,编写每一个case的相关测试用例及单元测试。变更覆盖率不得低于百分之80。

   产出:测试用例文档及单元测试TestCase。

6、发布前准备与发布

要求:查看代码检测工具,质量分不得小于35分、行单测覆盖率不得小于百分之60。从开发->集成->预发->发布阶段,每一阶段都需要进行验证及日志查看。

注:预发前要充分做好回归测试(根据每次迭代的测试用例及单元测试进行测试),防止线上已有功能受到影响。

7、线上问题修复及运维

要求:(1)发布上线后出现问题,需要紧急变更处理,做好线下及预发验证,发布线上。同时在lark上记录该问题的前因后果。

(2)约定时间,每日查看自己负责的模块及整体系统运行情况,发现问题及时抛出。

二、代码质量及review

要求:每次迭代完的下个星期,抽出一下午时间进行代码质量及review(pmd检测大部分代码质量问题),包括:

(1)代码结构是否合理,能否有更好的实现。(结构角度、方法抽象、jvm堆栈内存占用等)

(2)代码中没考虑到的情况

三、项目管理

项目管理要点分为,时间把控、风险把控、补位意识、结果与目标导向四点:

时间把控:

(1)整个项目流程分为需求、设计、开发、测试、实施阶段。根据需求的复杂度、团队整体能力水平、调研负责度进行迭代周期的预测。

(2)一旦时间确定下来,就严格按照每个阶段的产出实行。

风险把控:

(1)意外情况或有进度风险的情况。需要及时暴露出来 风险原因及风险问题。并进行相关协调沟通,补位意识。

补位意识:

(1)项目风险确定,每个成员都有自身的长项,发现影响进度的问题,包含于自己能力的能力范畴内,帮助对方提速,追赶项目进度。

结果与目标导向:

(1)保质保量完成需求及模块的迭代。

(2)优化review及补充,使每个人能够知道对方模块的逻辑及全系统逻辑。

(3)问题总结及技能总结。

(4)从整个系统的层面、业务大图的层面去考虑整个系统或产品的发展及扩展。

当然,现实或许是残酷的,时间或许是紧迫的。很多时候,我们会因为各种各样的原因而搁置其中的部分流程。但规范决定着长远的风险可控,倘若有时间一定要将必要的补上,这是对别人负责,同时也是对自己负责。

原文地址:https://www.cnblogs.com/yangsy0915/p/9527477.html

时间: 2024-10-30 03:23:54

项目研发流程及管理之我见的相关文章

软件项目研发流程该怎么规范

在软件项目研发管理过程中,是否经常出现这样的场景:开发人员不知道什么时候转测:项目经理拿个Excel文档群里一发,某任务前天就应该完成的,怎么现在还没开始搞:前端问这部分UI是谁在做,什么时候能做完:测试说线上这个bug又是谁改出来的,这次没转测这模块……等等.整个协作感觉一团乱麻,团队内部充满了甩锅与抱怨的氛围.软件项目的研发流程该怎么规范,让团队成员都能目标明确,步调一致,让产品迭代充满节奏感.本文基于笔者项目研发管理经验整理,希望起到抛砖引玉的作用,探讨高效团队的协作流程模式. 1. 协作

微软研发流程(ALM)管理培训会议(比亚迪汽车)

主要讨论和演示整体研发流程,包括需求管理.项目计划.开发管理.生成和发布.测试管理等. Figure 1 - 客户现场培训 Figure 2 - 客户现场培训 Figure 3 - 客户现场培训

TFS Training for Kunlun bank (http://www.klb.cn/) 微软研发流程(ALM)管理培训会议(昆仑银行) 2016.09.21

银行一直是微软技术的伤心地,由于历史原因,微软技术和产品一直很难进入到银行业务的核心区域,但是微软今年来的进步不少,在开发工具和平台方面已经连续攻克了几个典型的金融企业,例如农业银行,中国人保等. 应微软研发工具事业部和昆仑银行的邀请,我们在昆仑银行总部举行了一场基于TFS的软件流程管理的培训会议. 出席会议的人员主要有研发中的负责人和技术骨干. 我们围绕软件开发的需求管理.项目计划和源代码管理,对与会人员进行的全面而深入的介绍,并且为到会的所有开发人员提供现场动手实验的机会,按照我们的操作手册

我爱java系列---【项目研发流程——一张图搞定】

古语有言:“道不明,何以言术?”,所以,干什么都要清清楚楚的干,有思路,有计划的进行,下面这张图,是一个大致的介绍,帮助我们更清晰的认清自己在项目中的职责. 原文地址:https://www.cnblogs.com/hujunwei/p/12623751.html

项目实施流程和规范模板(测试方向)

1. 简介 1.1 编写背景 随着公司业务的快速发展,技术部面临的基础技术研发.客户系统建设.新产品研发.老旧系统改造等各类建设项目越来越多.但在众多技术人员参与.并发项目交互的情况下,如何定义和制定项目实施流程和管理规范显得越来越重要.从现状看,我们的目前的项目推进流程中存在诸多问题,如: l 前期需求规划和设计不明确.文档不详细 l 项目干系人没有参与前期需求分析 l 项目分工欠合理 l 解决问题流程不清晰 l 历史问题与文档无法跟踪 l 过度依赖RTX进行事务交流,不便事务跟踪 基于此,技

一个测试老鸟的工作总结(2)——研发流程之我见

从一个执行层面的测试做到测试主管这个级别,当你手下管理多个项目和测试人员时,流程成为你必须要考虑的事,一般公司也很少有自己独立的SQA部门进行过程管控,如果是弱矩阵式的组织架构的模式下,基本QA/QC作为一个质量部门存在于公司内,而过程管控流程制定一般也分摊到项目管理者或质量部门中.那我们今天就来讨论一下软件研发流程这个话题,对于大多数普通的人员来看,流程是否完善规范,也是看一家公司的软件研发是否正规的主要标准.对于国内的软件企业,我们一般常见的几种开发模型有: 边做边改模型:没有规格说明,没有

框架 day57 BOS项目练习(流程定义/实例管理,bos用户角色同步activiti用户表组表)

BOS项目笔记第11天 内容: 1.提供新的json文件,修改系统菜单(加入工作流的菜单) 2.流程定义管理(查询.部署流程.查看png流程图片) 3.流程实例管理(查询.查看运行状态) 4.将bos系统中的用户数据和角色数据同步到activiti的用户表和组表 1.    提供新的json文件,修改系统菜单(加入工作流的菜单) 2.    流程定义管理 第一步:创建一个ProcessDefinitionAction,提供list方法,并注入流程引擎对象  查询 @Controller @Sco

BOS项目 第10天(activiti工作流第二天,流程变量、组任务、排他网关、spring整合activiti、项目中实现流程定义管理)

BOS项目笔记 第10天 今天内容安排: 1.流程变量(设置.获取) 2.组任务(候选人.候选组) 3.排他网关使用 4.spring整合activiti 5.将activiti应用到bos项目中 6.在bos项目中实现流程定义管理(部署.查询.查看png.删除) 1. 流程变量 1.1 设置流程变量的方式 l 方式一:启动流程实例时设置 l 方式二:办理任务时设置 l 方式三:使用RuntimeService的set方法设置 l 方式四:使用TaskService的set方法设置 注意:如果设

BOS项目 第11天(activiti工作流第三天,流程实例管理、项目中的用户和角色同步到activiti的用户和组表、设计物流配送流程、启动物流配送流程、组任务操作(查询、拾取)、个人任务操作(查询、办理))

BOS项目笔记 第11天 今天内容安排: 1.流程实例管理(查询.查看运行状态) 2.将bos系统中的用户和角色同步到activiti的用户和组表 3.设计物流配送流程 4.启动物流配送流程 5.组任务操作(查询.拾取) 6.个人任务操作(查询.办理) 1. 流程实例管理 1.1 查询流程实例列表 第一步:创建一个流程实例管理Action,提供list方法,查询流程实例列表数据 第二步:配置struts.xml 第三步:提供processinstance.jsp页面,展示列表数据 <s:iter