项目开发流程及注意事项

一、项目流程



  • 需求宣讲、需求评审
  • 交互评审
  • UI评审
  • 开发方案评审
  • 接口评审
  • 测试用例评审
  • 开发
  • 测试
  • 上线
  • 验收
  • 交付
1、  意向对接
    在确定客户意愿后,首先需要进行初步需求对接,至少确定内容:
(1)  确定系统开发模块,从`现有`模块选择或者是否有`新增`模块;
(2)  确认功能,初步确认各功能模块的功能;
(3)  确定`业务流程`,明确客户所要的业务流程;
(4)  客户组织架构,确定审批流程;
(5)  了解接口需求,初步确定有多少外部接口,是否有对接`难度`;
(6)  是否有`选型`要求,比如数据库、操作系统、开发语言等;
(7)  是否有非性能要求,比如安全性、并发数等;
(8)  是否有其他特殊需求,比如上APP或者小程序等。
 
2、编制方案
    根据初步意向对接情况,进行方案设计,包括根据客户选择的模块,初步制作一个`原型`,进行人员投入估计、指定初步开发进度计划;
(1)  原型尽可能贴近实际开发结果,高保真;
(2)  人员投入需求一个项目至少包括:
       产品经理(项目经理):负责产品需求进行分析,与客户联系;
       开发经理(最好兼架构):负责项目开发管理,项目架构设计;
       UI工程师(可能兼美工):负责界面及效果设计,配合产品经理出原型;
       前端开发:负责项目页面设计开发;
       后端开发(兼数据库工程师):软件编写及数据库设计;
       软件测试(兼文档编写):负责软件测试,操作手册等文档编写;
       注:有可能的话美工最好专职,确保系统的感官;开发经理需要高级程序员;如果是外包的话,项目管理将是项目成败的关键。
(3)  进度计划可以按模块或者开发流程,通常按人天计算。需要考虑需求调研、功能设计、原型设计、前端开发、后端开发、测试、部署,可能还有APP或者其他开发,如果APP需要考虑Android和iOS两个版本问题;
 
3、具体需求调研
    和客户方的负责人对接,进行具体的需求调研,形成`需求说明文档`;需求调研最好能做到以下几点:
(1)  需求调研人员至少包括产品经理和开发经理;
(2)  由产品经理完成需求原型设计,提供终版原型,可以由美工加以优化;
(3)  由开发经理出`设计概要`,并进行`进度计划`安排及里程碑制定;
(4)  需求出来后,最好经过客户、产品评审。
 
4、系统开发
    需求确定后,根据进度计划,由开发经理带领团队投入开发,开发过程中主要由开发经理进行项目进度和质量把控,需注意以下几点:
(1)  需要有一个开发管理软件进行项目管理,比如Teambition、Tower、wiki
(2)  需要做好`版本控制`;
(3)  需要注意`里程碑`实现;
(4)  重点把握`表结构设计`;
(5)  注意并行设计开发的安排;
(6)  测试可以尽早介入,并同产品经理一起确保需求准确实现;
(7)  需要做好`优先级控制`;
(8)  最好能做好项目`开发周报`、`测试周报`等工作。
 
5、系统测试
    测试是确保功能和性能的一个重要环节,可以尽量避免由客户发现软件问题,导致的不信任,注意以下几点:
(1)  做好`测试用例`,根据测试用例测试;
(2)  注意必填校验、规则校验、异常输入等;
(3)  测试`不同浏览器`、`不同设备`、`不同版本`的情况;
(4)  测试`异常操作`对系统的影响;
(5)  产品经理也要参与测试,主要把握系统功能是否符合;
(6)  测试员还需要及时准备系统`操作说明书`,安装说明书等。

6、系统上线
    经过测试后,可以上线部署,最好的选择是开通VPN后远程部署额维护,尽量减小差旅成本。注意以下事项:
(1)  如果可以使用云服务器是最好的;
(2)  开通VPN便于后期部署;
(3)  做好`版本控制`,每次部署需要经过测试环境验证;
(4)  做好备份工作,如果有问题,随时可以`回滚`;
(5)  有条件一定要考虑做好`备机`,避免出现丢失系统或者数据的情况;
(6)  做客户培训需要提前准备好可能出现异常的情况说明;
(7)  项目经理做好产品过程材料整理。

7、系统验收运维
   系统进入运维后,客户可能会反馈一些问题,需要及时处理,需要注意以下情况:
(1)  一般前期由产品经理接客户反馈;
(2)  对于系统本身的问题,需要及时记录并反馈给开发及时处理;
(3)  对于需求的变动,产品经理需要做好需求变更把控,简单或者有复用性好的需求变更可以响应,对于大范围的修改需要进行需求评审,把握是否更改;
(4)  后期慢慢交由运维人员维护;
(5)  需要提前准备项目总结材料,提供一份给客户向其领导汇报的材料;
(6)  做好后续开发的推进工作;
(7)  项目经理需要做好项目总结工作,总结经验教训。ß

二、注意事项

1、环境相关问题

1、开发环境问题
开发、测试、预发、线上
代码内应该可以判断不同环境,在做一些本地、测试环境的某些测试操作时,代码限制在相应环境内运行
2、开发资源问题
对于需要产品、UI等非代码资源,列清单记录相应的资源。上线相关环境需要配置相关资源
3、版本问题
项目的各个服务、应用应当具有相应的版本号,方便问题发现、确认、复现
接口要有版本
接口请求要添加相应版本号,对不同版本做区分处理(需求差异、BUG修复)
4、设备问题:web、iOS、安卓ß、小程序、网站
接口请求应该带有相关设备类型(web、iOS、安卓、小程序、网站)和设备型号(安卓不同机型、浏览器不同内核),用以做针对性开发

2、项目方便性问题

项目要做到简单、稳定、通用

1、对于给产品、运营使用的东西尽量做到可配置(可添加、可编辑、可禁用、启用、可删除)
2、对于新开发功能要考虑对已存在版本的适配,特别针对`不能同步上线的`、或是`可能存在多个版本的`情况做适配
3、项目打包发布尽量傻瓜式
4、项目每次上线应当有上线文档(需求、BUG修复、更改内容、可能对其他流程、系统的影响)、上线后邮件通知参与人员
5、对于应用类的项目每个版本都要做留存,方便对相应版本测试、复现问题
本文参考:

软件开发基本流程
系统开发的流程与注意事项

你可能感兴趣的:(项目开发流程及注意事项)