一、功能设计之3W1H
1.什么是功能设计?
为了实现快速迭代,将软件开发生命周期中概要设计和详细设计进行精简而产生的中间产物,是管理人员对项目管理的核心把控能力,也是指导开发人员进行开发的核心思路。
2.为什么要做功能设计?
工期是否合理、分工是否合理?
做到一半发现有块功能漏了?
作为管理者主要应该盯紧哪一块,等等
很多刚做管理或者放羊式管理的管理者,没有做精细化的把控,很容易把团队带入泥潭
3.何时做功能设计?
将功能设计融入到开发流程,接下来的分享内容
4.如何做功能设计?
这是一块很大的内容,需要根据不同的场景来做不同的设计
二、如何把功能设计融入到开发流程?
2.1将功能设计融入到开发流程
(右键新标签打开可以查看大图)
2.2关键的时间节点举例
2.3核心的输出成果物
需求问题反馈
目前发现比较好的方式为在线文档,可以在线答疑、追加评论,并且可以归档供以后查询
功能设计成果物
通过画类图、时序图、状态图等面向对象设计方式,进行需求的拆解
最终输出关键成果物:
功能设计文档
功能明细分工(明确到负责人)
开发人员输出排期
功能设计评审后,开发人员对功能设计进行理解吸收然后进行各自排期
这里当然不是开发排完就完事了,作为管理者还要做审核
开发排期的审核:
1.每一行排期控制在3天内,超过3天的进行拆分
2.排期超过或者低于设计人员预期的,进行沟通,弥补设计理解偏差或者进行指导
3.排期超过产品经理期望的,产品经理/主管/开发人员一起进行沟通,尝试缩小功能范围或想办法缩减开发时间
代码review
因为我们今天的主题是功能设计融入到开发流程,而不是代码reviewe,这里的review主要还是为了再次核对开发出来的代码是否与功能设计有偏差,是验证环境,亦可作为开发人员一起学习分享的环节
开发完成提测后,组织进行代码review,让各个开发自己介绍自己做的功能模块
作为设计的回顾,总结设计的好坏作为下次更进的依据
发现潜在问题之外还可以锻炼开发人员的沟通总结能力,也可以在负责人请假且出现问题时快速定位和解决问题等
另一个主题:如何做功能设计?
该话题涉及的面很广,涉及到面向对象设计,可以运用类图、状态图、时序图等等工具,是一个很大的话题
首先大家应该养成做设计的习惯,这样便于管理,也有利于提高开发效率、团队合作效率