项目生命周期
传统项目生命周期
对于传统软件项目来说,它主要包含以下五个阶段:
1 调研阶段
- 目的:居安思危
- 人员:相关人员,侧重于产品经理
- 节点:多角度思路/方案,最后领导拍板
2 设计阶段
- 目的:方案可视化
- 人员:产品团队主导,开发、测试、运维参与
- 节点:产品需求文档、项目里程表
3 开发阶段
- 目的:方案运行
- 人员:开发团队为主,运维团队参与
- 节点:阶段项目正常运行
4 测试阶段
- 目的:保证项目功能完善
- 人员:测试团队为主,运维、开发参与
- 节点:项目功能符合要求
5 运营阶段
- 目的:项目部署+运行维护
- 人员:运营团队为主、开发/产品团队参与
- 节点:项目终止、功能迭代等
新型项目生命周期
软件项目的部署
- 部署流程--基于项目功能,设计合理的部署方案
- 部署项目--结合部署方案,实现顺畅的项目部署
部署流程
主要包括以下两个部分:部署方案、部署环境
部署方案
- 分析项目的产品需求文档,获取项目的主旨,定好部署方案的方向
- 分析项目开发文档,按照功能边界,设计部署的结点
- 分析边界功能,调研功能软件,合理的取舍,选符合当前业务场景的
- 梳理项目部署涉及到的部署软件实现方案,根据2确定的结点,确定初版部署方案
- 根据项目实际情况,调整优化并确定项目部署方案
部署环境
根据我们对项目生命周期的理解,一个项目需要经历多个团队的工作,才能最终形成一个成品,也就是说开发好的项
目需要在多个阶段环境
中按照我们的部署方案部署项目,而每个阶段的环境都是有特殊作用
的,那么接下来我们来学习一下项目发布过程中所涉及到的五个环境:
个人开发环境
- 工作人员:自己
- 工作平台:个人笔记本、公司配的电脑
- 平台特点:环境是自己配的,团队中不同的个人开发环境可以不一样
- 工作内容:项目的子模块,子功能
- 完成标准:完成领导安排的内容[项目的功能子模块开发]
公司开发环境
- 工作人员:开发团队
- 工作平台:公司内部服务器
- 平台特点:服务器环境和线上的服务器环境完全一致
- 工作内容:项目子模块间的功能联调
- 完成标准:项目阶段开发、调试完成
项目测试环境
- 工作人员:测试团队
- 平台:公司内部服务器
- 特点:服务器环境和线上的服务器环境完全一致
- 内容:项目功能/非功能/探索等测试
- 标准:项目阶段功能正常运行
预发布环境
- 人员:运维团队
- 平台:公司线上服务器组中的一台
- 特点:服务器环境和线上的服务器环境完全一致
- 内容:特殊功能测试(比如支付)、数据压力测试、其他安全测试等
- 标准:项目阶段功能正常运行,最后一道防线
项目线上环境
- 人员:运维团队
- 平台:公司线上服务器组
- 特点:标准线上的服务器环境
- 内容:代码部署和维护
- 标准:项目正常运行