系统/产品开发流程

本文列举一般软件开发流程、互联网产品开发流程以及过往负责过的系统开发流程。

主要目的在于记录系统/软件/产品从0到1的过程,总结自己的方法论,每个点以后有机会再扩展。


软件开发流程

1、需求调研

  • 初步了解用户需求,罗列系统功能模块;

  • 系统功能需求文档,初步给出相关界面及功能;

  • 再次与用户确认需求,

2、概要设计

  • 系统设计

    • 处理流程

    • 组织结构

    • 模块划分

    • 功能分配

    • 接口设计

    • 运行设计

    • 数据结构设计

    • 出错处理设计

3、详细设计

  • 每个模块主要算法、数据结构、类的层次结构、调用关系

  • 各层次中每个程序的设计考虑

  • 保证需求完全分配给整个软件

  • 足够详细,能根据详细设计文档进行编码

4、编码实现

  • 根据详细设计文档,编写程序实现各功能模块,实现对系统功能、性能、接口、界面等要求

5、测试

  • 对每个功能、接口做好测试

    • 单元测试

    • 功能测试

    • 性能测试

    • 容灾测试

6、交付

  • 整理提供安装文档、使用文档、需求报告、设计报告、测试报告等

  • 使用文档:

    • 各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明

7、验收

 


互联网产品开发流程

 

 

 

 

主要分为五个阶段:项目启动,需求阶段,产品设计,开发上线,版本迭代

1、立项 启动 评估

立项:确定要做一个什么产品

启动:确定项目相关人员,项目需求,产品原则,时间排期

评估:评估产品机会

2、需求阶段

  • 需求收集

来源:老板提出,项目需求,产品优化,业务需求,用户需求,运营需求,增长需求,商业化需求等

方式:头脑风暴、用户调研、用户反馈、竞品分析和数据分析

  • 市场分析

  • 盈利分析

  • 需求分析&筛选

  • 需求优先级评审

3、产品设计

战略层:产品目标及其目标用户(做什么、为谁而做?) 范围层:功能及其内容需求整合(需要做哪些?) 结构层:交互设计及其信息架构(怎样做?) 框架层:界面设计、导航设计和信息设计(怎样做?) 表现层:视觉设计(要做成什么样子?)

产品设计过程:

  1. 将需求归纳整理成用户任务

  2. 多个用户任务交织成信息架构

  3. 将信息架构具象化为页面流程图,并通过界面草图的形式表达出来

  4. 接着根据设计原理,让界面草图进化为页面原型

  5. 最后加点调料,通过情感化设计和游戏化设计,赋予产品魔力

4、开发上线

  • 开发排期

  • 项目跟进

  • 进度管理

  • 团队协作

  • 项目管理

  • 需求管理

  • 测试验收

5、版本迭代

流程:

  1. 用户教育

  2. 销售培训

  3. 推广方案

  4. 运营策略

  5. 产品定价

  6. 发布公告

  7. 发布

迭代

  1. 发现问题&需求收集

  2. 用户反馈

  3. 功能改进

  4. 数据分析

  5. 运营策略调整

  6. 数据挖掘


以往经验的流程

基于开源项目的二次开发流程

  • 需求调研

  • 方案对比与选择

  • 详细设计文档

    • 架构设计

    • 核心功能实现方法

  • 系统实现

    • 工期、计划确认

    • 开发资源确认

    • 分任务进行开发

      • 单元测试

      • 功能测试

      • 性能测试

      • 容灾测试

  • 测试服发布

    • 开发过程遇到不确定及时与用户确认改正

  • 架构文档、接口文档、使用文档、部署文档整理

  • 正式服发布

  • 后续

    • 迭代维护

    • 稳定性保证

      • 监控告警


参考

https://zhuanlan.zhihu.com/p/26870041

https://zhuanlan.zhihu.com/p/132285862

posted @ 2021-02-22 11:22  heaventouch  阅读(1628)  评论(0编辑  收藏  举报