第一次开发一套完整的小程序系统,目前已经开发2个多月了吧,与预期的时间相差甚远。这里就根据软件开发流程整理一下每一个过程中存在的问题,以便后续能高效的完成软件开发。
项目启动阶段
明确项目总体目标:梳理整个系统需要有哪些业务模块,每个模块包含哪些功能。
问题:在梳理业务模块时,比较粗糙。参考同行业的软件,只是流水线似的截取了相关的图片,并没有进行一个整体的梳理,这样做的后果呢,就是容易缺失部分模块或者功能。
改进:后续在开发软件时,可以采用思维导图的方式,梳理每一个业务模块的功能,完成之后进行评审,确保在项目启动之初,就能概览整体,能更好的把握开发进度。
需求阶段
根据需求及项目要求,明确项目里程碑。根据项目里程表,完成产品开发计划,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。
按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。
问题:在需求阶段,没有规定项目里程碑,导致后续开发时,效率低,这可能就是惰性吧,没有一个明确的规划,就感觉开发遥遥无期,没有一个清晰的目标。
改进:在项目启动阶段,根据整理的业务功能,规划项目里程表,完成项目的分解,严格执行时间计划表。
设计阶段
在需求调研后,我们需要进行软件系统的设计和规划。这个阶段主要包括根据需求文档,进行软件系统的模块化、架构、流程等等的设计。
设计过程中主要考虑的是系统的可扩展性、可维护性、安全性、效率等方面。此阶段的产物是软件设计文档和概要设计文档。
问题:在设计阶段,对接口,数据表没有进行一个很清晰的梳理。抱着一个走一步,看一步的想法进行开发,可想而知,后续开发会面临各种各样的问题。
改进:在设计阶段,根据需求文档,对接口,数据表,界面进行完整的设计,并形成文档。不可急于开发,先分析清楚需求,完成软件开发文档。之后再进行开发工作。
开发阶段
正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。编码过程一般还需进行服务端和移动端的联调等。
完成编码后需要进行功能评审。
问题:因为前面几个过程的走过场,导致开发阶段,属于半开发,半分析,这里浪费了时间。当然还有就是对前端不熟悉,影响了开发进度。后续加强前端代码开发的能力。
改进:增强开发阶段之前的分析能力,对于开发阶段,别摸鱼。。。
测试阶段
1.测试工程师按阶段设计《测试实例》,未通过的流程测试的分配给相应的开发人员继续调整。
2.研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。
3.测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。
4.测试工程师编写系统各端口的《操作手册》培训文档等。
问题:目前小团队,没有专门的测试人员,自开发,自己测试。
改进:在分析阶段,设计测试用例,开发测试保证功能正常。
系统上线
与甲方达成一致后,系统进行试运行,稳定后上线,并进入项目维护阶段。
问题:暂无。
Todo:后续再更