敏捷宣言中宣称的价值观是:
个体和互动 高于 流程和工具
工作的软件 高于 详尽的文档
客户合作 高于 合同谈判
响应变化 高于 遵循计划
敏捷理念背后的原则是,强调为客户实现价值。这就意味着我们应该把产品开发的时间花在能够为客户带来价值的那部分,避免在几乎没有什么价值的任务上浪费时间。该原则也同样适用于文档的编制。
为避免在文档上浪费时间,向每个相关的人问如下问题:
- 这个文档是用来做什么?是支持开发吗?还是提供功能的参考文献?
- 文档的目标受众是谁?什么人?哪个部门的?他是客户吗?或者是未来的维护团队?
- 这些目标受众如何使用这篇文档?是一个参考文献吗?还是一个手册?
- 编制这些文档需要多少成本?需要多少时间?由谁来完成?
每一阶段推荐的文档输出内容:
项目前期文档 | 项目中期文档 | 项目后期(维护)文档 | |
技术 | 选择的两个或三个高层次架构图 | 结构良好的代码,无技术基础人员易读 测试驱动开发 (TDD) 行为驱动开发 (BDD) 以代码为文档 【一次一个用户故事】 | 代码作为技术文档 |
功能 | 主要的史诗定义产品需要开发的主要特征 | 具有定义良好的用户故事,清晰的验收标准 以验收标准为文档 【一次一个用户故事】 | 代码作为活文档 |