项目开发流程

说了那么多总算是到了开发的阶段了,下面我们就一块来看一下吧!

一、需求分析

项目开发流程_第1张图片

项目前期主要指的是项目业务需求调研、包括配合用户制定项目建设方案、技术规范书、配合市场人员进行售前技术交流等环节,此阶段应该组织由售前工程师、需求分析师(业务专家)以及系统构架师等组成一个临时小组,负责跟踪项目。这个小组根据项目的大小和客户的要求确定小组成员,一般由3—5名成员组成。根据客户的要求,既可以是全职的,也可以是兼职的。

项目前期小组的工作是项目的开始,这个小组工作成绩的优劣、工作质量的高低,将直接影响项目的成败。因此,从管理层的角度,一定要重视这个环节。

项目前期小组需要完成的工作包括以下方面:

1、 客户的各种项目前期要求,如:方案介绍、业务需求编写等
2、 提交项目可行性分析报告,包括成本/效益分析
3、 提交项目建议方案
4、 提交业务需求说明书或需求分析说明书

二、系统设计

项目开发流程_第2张图片

系统设计是决定项目或软件系统“怎样做”的过程,这个过程回答了系统应该如何实现的问题。从软件工程的角度,设计阶段大约是整个项目开发成本的25%,所以,设计团队以及该团队的工作成绩对于整个系统来说至关重要。

设计团队一般由3—8名设计人员组成,从这个阶段起,项目需要一名项目经理,行使项目组的各种管理职能。设计团队的成员具体包括:

l 1名项目经理
l 包括1—2名项目前期成员
l 1名系统构架师
l 2—4名设计人员
l 1名数据库设计人员
l 1名用户界面设计人员组成

设计团队需要完成的工作包括:

1、 项目开发计划
2、 确定系统软硬件配置最佳方案
3、 确定系统开发平台以及开发工具
4、 确定系统软件结构
5、 确定系统功能模块以及各个模块之间的关系
6、 确定系统测试方案
7、 提交系统数据库设计方案
8、 提交系统概要设计文档

由于应用软件需求经常变化,因此设计需要考虑系统可扩展性,并需要在设计过程中对于重要的环节和用户进行及时沟通。

三、编码开发

项目开发流程_第3张图片

业务整理清楚了这块就比较容易进行了。所以这块就不和大家扯那么多了。

四、系统测试

项目开发流程_第4张图片

将用户的需求变成真正可用的软件系统,是通过编码和系统实现阶段来完成的。虽然软件的质量主要取决于系统设计的质量,但是编码的途径和实现的具体方法对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。

这个阶段要根据用户对项目进度的要求灵活组织开发团队,一般5—15左右。为了工作的连贯性,同时也为了解决在开发过程中用户需求有可能变化的因素,开发团队因该保留1—3名设计团队的成员。

开发过程中,项目经理的角色非常重要,项目经理负责项目组开发人员的日常管理,控制项目的进度,负责和设计部门、市场部门以及客户之间进行必要的沟通。这个阶段通常是多个部门的人员共同组成一个项目组,因此,项目管理的一定要保证统一管理,理想状态是项目经理全权负责项目组人员的人员工作安排、业绩考核、工资奖金等,因为项目经理最了解项目组成员的工作态度和工作业绩。

一般在大型项目开发团队中,应该设立专门的技术经理岗位,负责对项目组的技术方案进行管控,技术经理最好是由设计团队中抽调出来。技术经理在项目开发过程中需要注意程序风格、编码规范等问题,并必须进行有效的代码管理(版本管理)。

开发过程还应该进行系统的单元测试工作,确保各个独立模块功能的正确性和性能满足需求说明书的要求。

开发团队应该完成的工作包括:

1、 系统的实现代码编写
2、 单元测试
3、 提交源代码清单
4、 提交单元测试报告

五、部署实施

项目开发流程_第5张图片

由于从事的应用软件的开发,因此,在开发完成之后经常会有系统集成、软件的安装等工作。这个阶段还经常伴随着新的业务需求和本地化需求的产生,因此将会有一部分的开发工作需要在这个阶段完成。

工程实施阶段需要的人员包括:

l 1名项目经理
l 多名技术支持工程师(硬件、网络支撑)
l 2—4名软件开发人员

六、总结

以上基本是我们是我们在开发过程中所需要经历的事情。与敏捷开发、快速开发还有一定的区别。大家注意一下。

在项目结束后务必对本项目进行总结,技术方面、业务方面等,最好是能够进行团队分享。以上所描述的是大多数公司的一个研发流程,我基本所经历的大致也是这样的开发流程形式。但,这并不是我心中所想的开发或工作模式,最近也正在对比其他类型的管理模式,目前还不敢妄言,但我认为完全式的扁平化管理(薪资透明化、人人都是领导只不过工作内容不同、人人都能够参与决策等)必将是对现有管理架构的一场冲击。

我期待或为哪一天准备着。

你可能感兴趣的:(项目经理手记)