软件工程-企业软件开发基本流程

回顾一下企业软件开发的一般流程以及一些感受。

一. 提出需求

企业的软件肯定不是无缘无故开发出来的。都是用来解决一些需求的。所以先要提出软件开发的需求。一般需求是由产品经理提出来的。产品经理会先编写出需求文档。产品最好在需求文档编写后先将需求文档发给相关人员,先让他们了解一下。然后找时间拉着开发,测试等相关人员一起进行需求评审。对于开发人员,在需求评审的时候,要了解清楚需求到底是在做什么。提出对需求的疑问点。对实现有难点的也要提出来。对于需求不合理的地方也可以提出来。毕竟产品经常会提出一些可能真的是不合理的需求或者说是投入产品出比很低的需求。对于这些需求开发其实可以做出一定的拒绝,毕竟大家大家手上肯定不缺活干。

二.工时评估

一般当产品宣讲完需求以后,会要求各部门做工作量评估。工作量评估对很多人来说,可能很头疼。因为往往觉得自己估不准。工作量评估很多情况下靠的是开发人员的经验,但如果想要估的准的话一定要做细化。比如开发这个需求需要设计-开发-自测-联调-修复bug 等多个环节。开发人员要将每个环节的时间都要计算进去。至于写代码的时间,像后端可以细化到每一个接口的时间,数据处理的时间,脚本编写的时间等。如果估时下来发现项目实在超过项目排期,则可以跟产品和项目经理商量是否这次只上核心功能,其余功能下个版本迭代。最后强调的一点,估时一定要在自己的实际开发能力上乘以一个余量,以避免中间遇到一些变故导致没有足够的时间。

三.代码设计(架构设计)

了解清楚需求以后,我们就要动手做设计了。切记一定要在了解清楚需求以后再动手。最忌讳需求没有了解清楚就动手,这样往往可能会做无用功。对于整个项目级的需求,在动手编码之前要先做架构设计,画架构图。对于模块设计,也要编写设计文档。设计模型可以使用powerdesign等建模工具构建。设计图可以使用visio等画图软件来绘制。一定要在做代码设计的时候多思考需求点,尽量将所有问题都在代码设计阶段解决。

四.设计评审

代码或者架构设计完一定要拉上开发,测试,产品等相关人员一起做设计评审。这样利于及早发现设计中的不足之处来及时作出修改。也有利于组内其他人员了解你做的项目,能让大家更容易互为backup。

五.编写测试用例

当开发在设计阶段,测试一般已经在编写测试用例了

六.测试用例评审

当测试用例编写完,也要拉上相关人员做测试用例评审

七.开发(中途需求变更)

当设计完成以后,就要进行开发了。开发不光是编码,一定要对自己的代码进行一定程度的自测,这样才算开发完成。对于开发最不想碰到的情况,就是中途需求变更。对于中途需求变更一定要控制在尽可能小的范围内。如果确实有大的变更,那一定要把变更放到下一个版本。不能打乱了这个版本的开发节奏。对于中途的产品变更,一定要让产品经理提变更流程,开发不要随便跟产品个人沟通完成变更,不然产品质量会难以控制。

八.联调

开发完要进行联调。联调可能是跨部门的,也可能只是前后端进行联调。联调不一定要等全部功能开发完再进行,可以开发一点联调一点。

九.提测

开发完成就要进行提测。由测试进行冒烟测试等。测试提bug,开发修复bug

十.上灰度环境

测试环境测试完成后就要上灰度环境。灰度环境跟生产环境很接近。所以一些测试环境没暴露出来的问题可能会在灰度环境暴露出来。所以灰度环境上一定要做必要的测试。

十一.产品上线前验收

灰度环境测试完成以后,测试出具测试报告,产品也要在灰度环境验收产品功能。看做出的功能是否是自己想要的。

十二.发布上线

验收完就发布上线。

十三.项目复盘

上线完成后,可以做一些复盘工作。让大家在项目中进一步成长。当然也可以做一些code-review 或者一些技术分享什么的。

可以看出,从一个需求的提出到成为产品展示在大家面前,经历的过程并不少。要想让产品保持高质量,就要求在这个流程中每一环大家都能保质保量。用流程去保证质量,而不是仅仅依赖于个别开发人员的编码能力。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值