前几天,和几个朋友聚了聚,他们公司主要是做微信小程序定制的。
之前的模式比较原始,从线上线下推广,寻求生意。年后,因为线下推广的路被堵死了,只能是加大力度,进行了线上突破。采用免费试用基本版本的方式,迅速的开辟了一片市场。
我们聊天的内容没有聚焦在运行模式上,因为业务打开之后,迅速增加了大量的定制订单,出现了版本不能按时交付的情况。
因为我这两年多主要带开发团队,按时高质量交付是我们的目标和要求,所以我反思了一下我们在项目开发过程中的动作和环节,做了一些建议。
其实承接一个需求,其实主要分为以下几个阶段:
需求概设——需求澄清、工作评估——方案设计——方案反串讲——实际编码——验证转测试
1、是由经验丰富的设计人员对接市场人员,对需求进行拆解,变成产品每一个具体的需求点,并完成“概要设计”。
其实就是具体包含哪些功能,最终呈现的效果是什么样子,这一步主要确认了交付的结果。
2、是由具体开发人员根据设计人员提供的概设文档,对不明确的地方进行逐一澄清,澄清的对象是设计人员。开发人员其实和市场是解耦的。
澄清需求后,具体开发人员对工作量进行一个具体的评估,并根据自己目前的状态进行开发计划安排,承诺交付时间。
3、是由具体开发人员针对每一个需求点,进行对应的方案设计。
往往一个需求会涉及到多个模块的更改,这个时候,就需要指定开发工作量最大最核心的人员来进行整个需求的跟进、推动与具体的交付。这个环节形成“方案详细设计文档”。
4、是开发人员拉通相关模块负责人、需求设计者以及测试人员,进行方案反串讲。主要讲解最终效果、自己的实现思路、程序流程以及各个模块之间的信息交互接口、具体使用的结构体、通信命令等。
这个环节主要的作用是对大家的任务进行同步,知会大家交付节点,这样各个模块的负责人才能根据时间节点进行人力部署。
5、才是实际的编码开发阶段。
其实有了第四部的“方案设计文档”,实现的细节都已经被确定下来了,具体的开发工作基本上是按部就班的进行。
6、最后完成整个功能的自验证及转测试。
大的需求,涉及到的模块较多,代码量比较大,在自验证阶段往往需要耗费较长的时间,这个阶段不能忽视,有问题及时更改。
整个过程的风险点主要存在于:
一是开发人员中途被加塞或者其他种种原因,不能全力投入,这个时候一定要将实际情况反馈上升进行开发工作的排序,确有其他更紧急的任务,就需要再协调人力进行支撑。
二是开发过程中发现实现方案有技术难点,详细设计里的思路无法走通,新的实现方案需要的时间更久。这个时候不仅需要拉通周边进行实现方案的变更,还要及时知会需求负责人,进行风险预警。由需求负责人和市场人员进行沟通,及时调整交付计划。
如果说以上两点都没有发生,但开发人员不能及时交付,一定要深入分析不能按时交付的原因。对开发人员进行相应的惩罚,对提前交付的人员进行表彰激励,做到赏罚分明。
风险其实不可怕,可怕的是在交付前期才发现风险,这样大家都没有回旋的余地了。也再次提醒开发人员,在实际需求开发过程中,有问题自己无法及时解决,阻塞进度时,一定要知会相关人员,及时沟通,进行风险预警。
网友评论