技术文档中的瀑布与敏捷方法论对比
浏览:2
巴克励步
我一直在想,为什么很多团队在做技术文档时总是两头为难:要么文档写得太重,维护成本高到让人想放弃;要么写得太轻,交付之后漏洞百出。说白了,这背后其实是项目管理方法论的问题。瀑布和敏捷,这两套经典方法论在软件圈里吵了这么多年,落到文档头上,照样逃不过。我自己在帮客户搭建知识门户时,经常遇到这样的情况——产品手册建设从一开始就定好了目录结构,结果开发过程中需求一变,文档就得大改,前后脱节。反之,有些团队走
我一直在想,为什么很多团队在做技术文档时总是两头为难:要么文档写得太重,维护成本高到让人想放弃;要么写得太轻,交付之后漏洞百出。说白了,这背后其实是项目管理方法论的问题。瀑布和敏捷,这两套经典方法论在软件圈里吵了这么多年,落到文档头上,照样逃不过。我自己在帮客户搭建知识门户时,经常遇到这样的情况——产品手册建设从一开始就定好了目录结构,结果开发过程中需求一变,文档就得大改,前后脱节。反之,有些团队走敏捷路线,文档随迭代走,倒是灵活了,可最后连一份完整的用户手册都凑不出来。所以,到底怎么选?今天咱们就掰扯清楚。
瀑布和敏捷是项目管理中广为人知的方法论,尤其在软件开发中非常流行。
你的公司采用哪种方法论,可能决定项目的成败,因此找到适合自身需求的管理风格至关重要。
不过,你选择的方法论不仅影响开发人员和测试人员——技术文档也是软件项目的重要组成部分,所以在瀑布与敏捷之间的选择同样会影响技术写作人员。
💛🧡🧡客户评价:作为 CMS 的一部分添加的选项和功能列表。客户支持是一个很好的附加功能。能够在全球范围内获得集成和选项。
在本文中,我们将探讨每种方法论如何应对技术文档,以及它们的优缺点。
读完本文,你将能够确定哪种文档风格能让你的写作者以最高效的方式创建有用的文档。
瀑布方法论中的技术文档
在深入探讨瀑布方法论中的技术文档之前,我们先来回顾一下该方法论本身,以获得全貌。
瀑布方法论,也称为瀑布模型,是一种遵循项目所有阶段(包括分析、设计、开发和测试)顺序流程的开发方法。
在这种方法中,每个阶段完成之后下一个阶段才开始,像瀑布一样流动——因此得名。
正如你所见,一旦周期结束,团队不会再回到该阶段,这就是为什么所有开发元素从一开始就必须近乎完美。
那么,技术文档如何融入其中呢?
就像项目的其他方面一样,文档也是提前规划的。如果在开发过程中发生任何变更,文档会立即更新。
Adobe Business 这样评价瀑布方法论在技术文档中的价值:
据说瀑布方法论遵循“三思而后行”的格言。瀑布方法的成功取决于前期工作的数量和质量,提前记录所有内容,包括用户界面、用户故事以及所有功能的变体和结果。
由于瀑布方法论本身非常僵化,技术文档的创建过程也是如此。
这可能是件好事,因为它能产生精心编写、全面的内部和外部文档。
另一方面,缺乏灵活性使得变更变得困难。
因此,如果你要开展一个与你之前所做的任何项目都不一样的项目,你知道开发过程中会发生变化,这意味着瀑布不是最佳选择。
但是,如果你对自己的计划有把握,那么该方法论可以为项目和文档注入结构。
总而言之,瀑布方法论中的技术文档需要大量的准备工作。文档不是事后才考虑,而是经过精心规划和详细编写。
考虑到一些公司和开发风格(例如初创公司)与瀑布方法论不兼容,还有一种截然相反的产品开发和文档方式。
没错——我们说的就是敏捷,接下来我们将讨论这个主题。
敏捷方法论中的技术文档
同样,我们首先回顾一下该方法论的总体情况。
敏捷是一种软件开发方法论,围绕快速迭代中持续交付可工作的软件展开。
这些周期被称为 sprint,完成一个项目需要多个 sprint。
鉴于敏捷以迭代开发和持续改进为原则,它允许你以同样的方式对待文档:现在没有记录的内容可以稍后按需记录。
敏捷技术文档也与及时(JIT)文档密切相关,这种方法鼓励创建活文档、灵活的文档,而非僵化的文档。
所有这些特征都与《敏捷宣言》的核心原则一致,该宣言强调尽管全面文档在软件开发中占有一席之地,但可工作的软件始终是第一位的。
这是否意味着敏捷开发公司应该放弃对产品进行文档化?
绝对不是。
相反,敏捷旨在让文档不那么令人生畏——重点是记录重要的事情,而不是捕捉每一个日后可能会或可能不会派上用场的细节。
这样,你可以减少文档编写的时间,同时仍为开发人员和最终用户提供有用的资源来了解产品。
尽管项目经理和支持人员通常是推动文档的人,但即使是开发人员自己也会告诉你,期望用户使用未记录的产品是错误的。
正因为如此,敏捷确实为编写技术文档提供了时间——它只是不让文档掩盖项目的其余部分。
因此,当你考虑到敏捷在技术文档方面有多么灵活时,你就会明白为什么许多公司选择这种管理方法。
它快速、适应性强,而且最重要的是,它让你能够应对软件开发过程中不可避免地发生的变化。
瀑布与敏捷中的文档:主要区别
两种方法论都致力于为读者提供有用的文档,但它们实现该目标的路径却大相径庭。
瀑布对技术文档采取僵化的方法,而敏捷则留有一些余地。一位网站可靠性工程师幽默地描述了这种差异。
严肃地说,瀑布与敏捷在技术文档方面的众多差异可能有点难以把握。
因此,我们现在将并排比较主要差异,以便你在一处获得完整回顾。
- 方法论
- 瀑布:每个细节都被记录。
- 敏捷:最小化文档。
- 文档类型
- 瀑布:与计划、流程、标准、指标相关的文档。产品、系统、架构、需求文档。最终用户文档。
- 敏捷:仅关键文档,如用户指南或 API 文档。
- 文档格式
- 瀑布:标准化模板。
- 敏捷:依赖于可能因项目而异的最佳实践。
- 文档评审
- 瀑布:正式的评审和审批流程。
- 敏捷:“刚好够用”原则。
- 变更
- 瀑布:耗时,因为所有文档都相互关联。
- 敏捷:易于适应变化。
现在我们已经列出了瀑布与敏捷文档之间的差异,是时候权衡哪种方法论更好了。
瀑布与敏捷:哪种更适合文档
如果你希望得到一个明确的结论,你可能会失望,因为答案并非如此简单。
每种方法论在软件开发和技术写作中都有其用武之地。
尽管如此,根据 Hewlett Packard 的一项调查,大多数公司倾向于敏捷。
原因可能在于软件开发人员和技术写作者都欣赏该方法的灵活性。
在快节奏的公司中,灵活性和适应性尤其宝贵,因为客户需求可能每周都在变化,而敏捷让你能够随着项目的推进调整技术文档。
有鉴于此,科技写作公司 TWi 的一位技术写作者将敏捷项目文档比作记者。
另一方面,瀑布可能更适合那些喜欢按部就班进行开发和文档的公司。
例如,如果你的公司专注于一种服务类型,并且你已经依赖预先确定的文档实践,瀑布可以帮助你维护已有的结构。
请记住,你不必严格遵守一种方法论。在找到最适合你的方法之前,你可以从敏捷和瀑布中挑选最佳元素。
只要你能够创建有用的文档,如何到达那里并不那么重要。尽管如此,决定一种方法论将为你的团队节省时间,避免决策疲劳,因此我们鼓励你回顾两种方法论,看看哪种更适合你的团队需求。
结论
在技术写作方面,没有放之四海而皆准的解决方案。
对其他公司有效的方法未必对你有效,因此你必须评估现有的实践,并将其与瀑布 vs 敏捷方法论在技术文档中的比较,看看如何升级你公司的技术写作流程。
无论哪种方式,两种方法论的最终目标都是开发高质量的产品,进而产出高质量的文档,因此尝试瀑布和敏捷两种方法以找到你更喜欢的方法,你没有任何损失。
一旦你确定了最合适的方法论,你可能会注意到文档质量的提升,而这才是最重要的。