- 合同
- 分析、设计和开发文档:即后续各类文档
- 代码
- 已编译划或部署运行的软件、网站或系统
- 问卷或访谈记录:一般性的调查。
- 会议记录:有各方(部门、用户代表)广泛参与,就某一需求主题进行重点讨论
- 原始资料:对未使用该新系统之前的工作方法、流程和文档的整理。如报表、纸质表单等
- 市场调查报告:对同类需求或同行业用户进行的调查。内容一般包括推荐功能列表、参考链接等
- 立项报告:预算与期限
- 功能调查报告:对同类型系统或同行竞争对手进行的调查和研究。一般包括比较、分析、结论
- 用户故事:即做为软件开发合同的验收依据,又作为项目开发小组的任务分解和安排的依据。
- 系统原型:对用户故事的补充说明,或者更为形象,或者综合的说明多个用户故事之间的关系。
- 确定最终用户故事列表,并编号、排序。并估算工作量。
- 制订版本计划,即将用户故事集划分为多个阶段,每一阶段发布一个版本,约以一周为限。如:
- V0.1:故事1-1、1-2、2-1、2-2
- V0.2:故事2-3、1-4、3-1、3-2。内部版本。内部测试运行,可邀请产品经理参加验收。
- V1.0:正式版本,无业务逻辑错误,可上线运行。邀请客户代表、产品经理等共同验收。或进行阿尔法、贝塔测试等
- 依据版本计划,将相应的用户故事,分配给开发小组相关人员。
- 依据版本计划,组织进行集成测试。
- 确立系统架构:
- 桌游、网游、端游、页游、手游等
- 数据库中心、应用服务器中心、中间件中心、WEBAPI中心
- 模块化编程、OOP、MVC、NOSQL等
- 系统设计:
- 将系统划分为若干个模块、对象、层次或服务。
- 确定公共接口:如WEB API、公共类或方法、公共数据结构、公共界面或交互方式等
- 确立技术栈:
- 实现技术:具体的厂商、语言、框架或库,并确定版本等
- 开发环境:语言风格规范与指南、IDE、代码版本管理工具、测试方法等
- 部署技术:如数据库集群、WEB集群、缓存等
- 从技术指导的角度,协助项目经理完成相关工作,如用户故事的取舍、划分、排序和工作量估算等
- 基于分配的用户故事:
- 详细设计:算法描述、模块说明、对象说明等
- 系统实现:编写码,实现相关算法、功能、界面、测试等
- 重构代码,总结设计模式、框架或库等
- 与项目经理、技术经理进行互动,共同确定如用户故事的取舍、划分、排序和工作量估算等