需求分析
产品定位
定位产品的最终目标效果,主要使用人群,核心功能服务,产品的类别及发展方向等产品身份价值相关属性。
使用场景分析
构思所有目标使用场景,及其所有分支流程,最终构筑成一份完整的产品使用手册及整体工作流程图谱。
产物:流程图集
功能需求定义
根据上面的使用场景,提取产品所需提供的功能、服务列表,并进行主次归类,并由此提供后期扩展方向。
性能需求定义
根据使用场景及目标用户量,判断产品提供服务所需的性能指标,用于硬件选型及数据库、算法等设计优化参考值。
风险及对策分析
产品本身或使用方式上可能存在的法律、道德风险,客户信息泄露风险等进行评估,并思考预防、事后处理对策。
eg. 开源类库的License许可、免责声明、其他应用的权益侵犯等。
可行性分析
根据目标用户类型、功能需求、成本收益、风险评估分析,综合评价项目的构建可能性系数。
系统设计
BS/CS 架构设计
整体架构的拓扑设计,服务器维护、意外崩溃的对策。
技术、规格选型
服务端与客户端的硬件规格选定,OS、开发语言、第三方统计平台等技术选型。
开发队伍定型
满足开发需求的开发队伍配置,人员选定。
编码规范
命名规范,注释规范,版本规范,SQL规范,环境配置,版本控制规范,第三方库使用规范,日志规范,API规范。
开发模式
版本控制流程,团队交流模式,开发责任分配模式,开发进度指标控制,测试方式。
详细设计
根据场景分析,划分功能分布、UI布局、美术风格(样式,素材)、甘特、关键路径。
产物:功能分布手册、泳道图、UI原型、甘特图
测试
逻辑单元测试
使用 MVP、Dagger 情况下,会更便于编写单元测试 Mock 代码。
实机测试
通常直接使用实机开发。
低配机型适配测试
主要测试应用的性能、画面布局情况。
多系统版本测试
主要测试 SDK API 的稳定性,不同 OS 版本存在实现算法不一致导致表现异常的情况。
异常情况稳定性测试
主要测试中途切换画面、返回 Home 桌面、杀死进程等意外终止情况下,重启 App 时的环境恢复能力。
人员管理
价值实现需求
参与感
- 全员出席会议
- 参与者名字以签到或其他形式出现在会议上
- 注意互动交流,如Bug反馈、知识分享、项目的兴趣点、task认领
责任感
- 共享任务分配表、进度表、甘特图
- 举行进度Review会议
- 自觉修复所属范围的Bug及其后续维护
成就感
- 各自使用分发平台发布新测试版本
- 定期 pull request,merge 到主分支
时间管理
工作时间
- 各自做任务
- 建立问题共享表,所有未解决问题列入其中
- 记录解决问题的技术实现过程(使用类库、工具平台、新旧API差别等)
- 记录工作提议、问题解决方案、心得
会议分享时间
- 集中思维解决遗留问题(头脑风暴)
- 知识分享
- 进度检查
- 新任务分配认领