项目经理必知:一个完整的软件项目开发流程
一、开发流程图
为使流程更清晰,本图省略了各环节的评审,如有更好的表现形式,欢迎提出建议。
二、过程产物及要求
本表主要列出开发阶段需要输出的过程产物,包括产物名称、成果描述、负责人及备注,即谁、在什么时间、应该提供什么内容、提供内容的基本方向和形式是什么。
项目启动阶段
产物名称成果描述负责人
调研文档了解项目背景,了解项目干系人目标方向产品经理
团队组建确认团队人员及配置产品总监
业务梳理明确项目的目标、角色、各端口及模块产品经理
需求阶段
产品原型产品的线框图产品经理
需求概要基于线框图,作技术评估,达成业务理解的一致性研发工程师
项目里程碑确认项目重大时间节点研发项目 经理
项目开发计划梳理各阶段、各端口的开发计划研发项目经理
项目任务分解表将计划分配到团队研发项目经理
设计阶段
界面效果图及标注基于线框图,作效果图,须适量考虑交互内容UI设计师
UI设计规范在UI界面基础上,输出主要界面的设计规范UI设计师
需求规格基于效果图,明确业务实现细节,消除对最终成果理解的不一致研发工程师
概要设计功能实现的可视化,有助于理清思路,减少技术盲区和低级缺陷,实现并行开发,提高效率研发工程师
通讯协议通信协议是指双方实体完成通信或服务所必须遵循的规则和约定研发工程师
表结构设计确认要建的数据库表及其表结构研发工程师
开发阶段
产品代码代码
测试阶段
测试用例明确测试方案,包括测试模块、步骤、预期测试工程师
测试结果报告输出测试结果测试工程师
用户手册系统操作手册测试工程师
常规文档
项目周报:每周开发内容及下周开发计划 研发项目经理
测试周报:每周测试内容及下周测试计划 测试工程师
评审会议纪要:评审的过程文档 整体团队
三、过程说明
1、项目启动
产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。
公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。
明确项目管理制度,每个阶段的成果产物需要进行相应的评审,评审有相应的《会议纪要》;从项目启动起,研发项目经理每周提供《项目研发周报》;测试阶段,测试工程师每周提供《项目测试周报》。
产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。
产品经理完成《业务梳理》。首先,明确每个项目的目标;其次,梳理项目涉及的角色;再来,每个角色要进行的事项;最后,再梳理整个系统分哪些端口,要有哪些业务模块,每个模块再包含哪些功能。
2、需求阶段
进入可视化产物的输出阶段,产品经理提供最简单也最接近成品的《产品原型》,线框图形式即可。在这个过程中还可能产生的包括业务流程图和页面跳转流程图。业务流程图侧重在不同节点不同角色所进行的操作,页面跳转流程图主要指不同界面间的跳转关系。
产品经理面向整个团队,进行需求的讲解。
研发项目经理根据需求及项目要求,明确《项目里程碑》。根据项目里程表,完成《产品开发计划》,明确详细阶段的时间点,最后根据开发计划,进行《项目任务分解》,完成项目的分工。
研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。
3、设计阶段
UI设计师根据产品的原型,输出《界面效果图》,并提供界面的标注,最后根据主要的界面,提供一套《UI设计规范》。UI设计规范主要是明确常用界面形式尺寸等,方便研发快速开发。UI设计常涵盖交互的内容。
研发工程师在界面效果图,输出《需求规格》,需求规格应包含最终要实现的内容的一切要素。
研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。
4、开发阶段
研发工程师正式进入编码阶段,这个过程虽然大部分时间用来写代码,但是可能还需要进行技术预研、进行需求确认。
编码过程一般还需进行服务端和移动端的联调等。
完成编码后需要进行功能评审。
5、测试阶段
测试工程师按阶段设计《测试实例》,未通过的流程测试提交至Jira,分配给相应的开发人员调整。
研发工程师根据测试结果修改代码,完成后提交测试,测试通过后完成。
测试工程师编写《测试结果报告》,包括功能测试结果、压力测试结果等。
测试工程师编写系统各端口的《操作手册》、维护手册等。
6、系统上线
与客户或者上级达成一致后,系统进行试运行,稳定后上线。
四、管理流程
做软件项目就是把用户的要求转化成需求,然后需求转化成设计,然后设计转化成代码。总的来说,就是把大的项目划分成小的项目,大的模块划分成小的模块。任何项目都是这样做的需求和设计,尤其是大的项目,总是要划分成小的模块,这样能让项目的不同参与者负责各自的模块,然后再集成起来进行测试。
软件项目的整个流程:
一、项目立项
项目的开始需要进行立项。项目经理要跟项目客户谈整个项目的内容及需求。在这个阶段,项目需要进行市场调研,可行性分析等一系列的活动,保证项目的价值是可取的、可行的。一般来说,每个项目都有它的可行性和价值,但是对于企业项目来说,基本上每个项目都是可取的,都是为了某个业务领域而做的业务系统。对于互联网项目来说,比如电商项目,这个就得做市场调查,以确定该项目在当前是具有一定价值的。
二、项目启动会
在项目立项之后,就得召开项目启动会了。项目启动会,主要是确定项目的项目招标方和项目投标方。项目招标方确定项目的客户方的负责人和用户;项目投标方确定项目经理、产品经理、技术经理、项目开发人员等项目组成员。项目启动会也是项目的一个里程碑,说明项目要开始了,确定了双方的负责人和责任人。
三、项目需求调研
项目启动会开过之后,项目经理就要开始和项目客户方进行沟通,对项目的需求进行调研了。项目经理需要让自己对项目领域知识有一定的了解,这样在进行需求调研的时候与客户谈起来就能更快地理解需求。同时,项目组内部也要举行项目领域知识的培训,让项目成员了解要做什么。并且项目经理需要将总结下来的需求与客户进行确认,以保证项目需求的正确性和稳定性。
四、项目的设计
在掌握了一定的项目领域知识,且项目经理已经将项目需求总体的确定下来之后,项目就进入了设计阶段。这时候,项目组需要对项目进行架构选型、设计,开发工具,开发语言,开发平台以及项目的运行平台进行选择确定。在该阶段,需要对项目的各个设计进行审查,以确定由需求到设计的正确性。
五、项目的开发
在项目的设计阶段部分或总体结束之后,就进入到了项目的代码开发阶段。在该阶段,技术经理负责对项目的整体代码进行把控,软件工程师对项目设计转化为代码进行开发。项目经理在该阶段需要不断的调整项目计划,以让项目整体能够跟上进度,同时要让开发出来的系统让客户方进行试用,以不断调整项目开发上的问题,同时要防止需求的大变更。
还需要和客户开需求评审会,以确定大的变更不会发生,如需变更,则要做交付周期风险提示和成本增加提示。
六、项目的测试
在项目系统开发出部分或总体功能之后,项目的测试人员就需要介入对项目系统进行测试了。单元测试和集成测试等等。以保证系统对需求的和设计上的开发的正确性。
七、项目试运行
在项目系统进行了总体测试通过之后,项目经理要联系项目客户方进行系统的试运行了。保证系统的功能的正确性。同时也是需求变更比较大的阶段,在这个阶段,项目经理要把控好和计划好时间,尽量避免需求大的变更出现。
八、项目验收
项目在进行试运行结束后,就到了项目验收阶段了。项目验收阶段就是项目收尾阶段,包括项目收尾和合同收尾。在该阶段,项目经理该联系项目客户方对项目系统进行评估、审查,保证项目的正确性。
最后无论什么项目都需要做好进度管理,IT行业更是如此,项目经理使用进度猫编制项目甘特图,对项目进行分解,再将任务分配给团队成员,每个成员负责不同的任务,项目经理对每个任务进度进行把控,哪块有问题就可以及时发现并且处理。
五、不正规流程
正规的流程是这样的,但是表示强转折,小公司全都是不正规流程,甲方认为可以先出产品再一次次提修改意见,UI设计可能是在开发工作已经开始了还有大变动,需求更是所有阶段都新增修改,完全来自大领导、中层领导、基层领导、甲方的灵感,Yes Or No?
相关文章:
一个完整的软件项目开发流程
软件开发项目管理流程
知乎|一个完整的项目管理流程包括什么?
为者常成,行者常至
自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)