复盘:服务于敏捷开发的项目文档
作者从项目实践出发,对完成的项目文档产品进行了分析复盘,并从多个方面对关于项目文档的相关概念和功能进行了拆解,与大家分享。
最近完成了一个敏捷开发团队使用的项目文档的产品,来复盘一下。
项目文档是什么?
项目文档,一个管理项目中产生的文档的在线文件管理软件。
项目是由需求产生来的,有了需求就方便进行需求分析,业务对象设定,功能拆解等工作步骤,以来指导和记录整个项目运行的过程。
为什么要有项目文档?
敏捷开发,强调的是开发过程是敏捷的,但是最终的结果和瀑布开发是一样的——一套完整的产品。单从文档上讲,敏捷开发相对瀑布开发少了部分不必要的文档,但是少不代表没有。
产品后期若需要迭代,若是没有文档记录,就会再浪费一定资源(时间、人力)去梳理业务、关键数据流等。
瀑布开发会在前期搞定所有的产品原型、功能等相关文档,而敏捷开发,可能只是在项目前期,建立重要功能的相关文档,然后再在过程中不断为这些文档添砖加瓦。
整个项目文档三个作用:
- 开始时做规划,明确产品方向
- 过程中做指导,记录运行过程
- 收尾后做回顾,验证初始需求
项目文档和产品文档的区别?
产品文档就像是一个账簿,而项目文档则是这个账簿的原始凭证。
敏捷开发不像瀑布式开发那样,根据需求指导书确立,再制定开发手册,然后再实际动手开发,瀑布开发里使用的文档,更像是产品文档—— 对整个产品的说明、介绍 。
而项目文档的重点在于,对 项目过程的记录 :前期的业务说明、过程中的调整方案、后期的功能规划等等,是 比较零散的 。
二者共同点: 两者都有对产品信息的描述,都有一定产品开发指导作用。
项目文档组成
一个产品业务对象的组成,来源于实际的使用情景。
项目文档就是给项目成员使用的。项目成员包含的角色通常有:项目经理、产品经理、开发、测试、UI等。而这些角色中,最常使用文档的,就是产品经理和项目经理了。
产品经理在进行产品设计时,常用的文档种类就会包含:需求分析、概要设计和详细设计。
项目文档主体结构:
此项目文档是应用在敏捷开发中的,一次敏捷项目要是经过多次迭代的话,可能会产生多个需求文档、功能列表文档、业务说明等,所以这些类别都是作为用户新建文档时的一种文件类型,为了防止还有其他说明,可以加上一个普通文本类别。
文档和敏捷看板结合
项目文档是作为产品开发的指导,而敏捷看板则是作为产品开发的过程监控。想要把二者结合起来,就要把二者的核心联系起来。
之前文章介绍过,敏捷开发里团队看板的核心是工作项,而项目文档中,个人认为 需求列表、功能列表以及详细设计 这三个是最重要的部分,这三者是指导项目进行的核心。
一个需求提出来后,可能经过分析,拆解为若干个功能,这些功能再组合为实际开发的工作项,最后由工作项来反馈此需求有无被满足。
有了这种数据流的反馈,项目经理可通过团队看板 监管项目进展 ,而产品经理可以通过项目文档来 跟踪产品进度 。
文档功能扩展
项目文档的使用角色,是整个项目团队成员,所以协同编辑就是一项非常重要的功能。实时的协同编辑,借助websocket或订阅机制都可做到。
整个项目文档管理器,虽然像一个微型文件管理系统,不过还是希望,一个项目的所有文档看起来像是一整个文档一样。就像开头说的一样,过程是零散的,结果是整体的。想要实现这点,可以参照word,左侧的是文档导航,右侧的是文档细则内容。
上面解决了,产品的规划,过程的记录,但是最终作为一个完整的产品文档,项目文档此时就不太合适。可以通过项目文档来生成一份产品文档,或者抓取里面的局部数据生成一份使用手册,如此就能把一个项目的文档从前到后串联起来。
总结
这个项目文档产品,整体目标是服务于敏捷开发的,但是作为普通文档管理也是可以的。
作为在线文档管理,所有的文件类型都是要求在线编辑的,例如在线的word、在线的流程图设计器。文档在线化后,一个好处就是便于整体搜索。
当然,这仅是个工具,想要用好工具,首先有对应的知识能力,以及良好的使用习惯。
本文由 @29号同学 原创发布于人人都是产品经理,未经作者许可,禁止转载。
题图来自Unsplash,基于CC0协议。
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: