软件研发管理系列文章(开发流程)
上接需求管理,需求管理是研发的源头,开发的版本规划是年度版本开发的规划,也是要月度刷新的,从需求包到项目启动就是研发流程的起点。
1、范围确定与开工会
1)确定项目经理
项目经理组织需求的范围规划,协调项目人力资源,工作量估计,制定项目计划。
2)项目范围确定
研发项目的输入是需求包,也就是项目范围,结合RAT接纳的版本需求和人力资源情况,安排最终的版本需求范围,可能会合并版本,可能会调整需求的规划。
3)估计和项目计划
根据需求包组织工作量估计团队, 进行工作量估计,根据人力资源、公司的研发流程、项目的目标,制定项目计划。
4)项目开工会
召集项目开工会,要求上一级领导参加,项目全员一起参加 讲述项目的重要意义,项目的重要目标,项目计划,项目要求和规定。
2、项目各级段的开发工作
接下来就是实际的开发工作,从两个CMMI和敏捷两种软件开发过程方法分别展开介绍。
1)CMMI流程
CMMI是软件开发最早的流程,也是经典流程,至今也有很大部分公司才有CMMI的开发流程,也称瀑布式开发流程,过程定义很清晰 ,交付件很清晰,入口标准出口标准很清晰。
之前有分享过视频和文章,CMMI的关键过程描述,这里面只阐述各阶段的工作,具体请大家到前面查具体的实践阐述。
(1)需求分析阶段
输出软件需求设计说明书,对每个需求做需求设计
(2)设计阶段
HLD/LLD,概要设计和详细设计,对方案进行设计,两个文档可以合并
(3)编码
代码编写和编译调试
(4)单元/测试
对项目进行百合测试,测试每个函数逻辑
(5)集成/系统测试
进行系统测试
(6)BBIT/SDV/SIT/SAT
进行测试部测试
(7)版本发布
发布最终版本 可以上线运行。
2)敏捷软件过程
敏捷是05年左右开始的,比较新,为了改变CMMI呆板的不灵活的特点,接纳变化,强调快速反馈,选着合适的敏捷优秀实践。
之前有分享过视频和文章,讲敏捷和devops,这里面只写优秀实践名字,具体请大家到前面查具体的实践阐述。
(0)架构选择/框架选择/完成标准定义
系统架构的设计,框架的选择
(1)backlog
需求排序,版本需求清单
(2)user story
use case 和时序图
(3)简单设计
类图,流程图,高保真原型,低保证原型设计
(4)结对变成/TDD/每日构建/持续集成/静态代码检查/show case
(5)持续交付/持续监控/ITSM/灰度发布
(6)总结与回顾/客户验收
3、项目的日常运作
在中基层团队运作已经介绍了,请去参考该文章。