技术写作基础概念:Docs as a product 与content first

蔡煥麟
·
·
IPFS
·
本文整理了有关技术文件写作的重要观念,包括docs as a product、内容优先,并说明如何构思文件架构。

目标读者:软体开发人员、DevOps 工程师、产品经理

概要

上一篇笔记提到Docs as Code,指的是以跟写程式一样或相似的工具与流程来制作文件。这篇笔记要再介绍两个有关技术文件写作的基础观念:

  • Docs as a product ,指的是把「技术文件」当成一个产品来发展和维护。

  • Content first ,即内容优先。既不是工具优先、平台优先,也不是美观样式优先。

Docs as a product

Documentation as a product 简称Docs as a product,指的是把「技术文件」当成一个产品来发展和维护。

乍听之下似乎很直观,没必要特别强调。但实际上,每个人写出来的技术文件不会完全一样,而文件对于目标读者是否「有用」才是最要紧的。并不是说,每个人今天搞懂了一项技术或know-how,键盘抄起来劈哩啪啦开始打字,便都可以立刻成就一篇易读易懂、对读者有用的文章。而且,如果本身肩负DevOps 相关工作,日常的程式开发、问题排查、技术支援等工作可能已占满大部分的时间(还有一堆会议?),恐怕也没有太多时间去思考一篇文章要怎样写才好。

能不能写出对读者有用的文章,除了需要掌握文章内容涉及的技术与know-how,更重要的是有没有去思考一篇文章该怎么写,才能让人读起来舒服、易懂、有学到东西或者解决他们手边碰到的问题。当然我们不能排除有的人已经是写手等级,或者对于想要写的内容早已在心中酝酿多时、胸有成竹,故可下笔如有神,一蹴而就。

简单来说,关键在于:身为作者的你,是否知道怎样的技术文件才是对多数的目标读者有帮助?如果写文件的过程能够经常考虑这点,并持续改善文件内容,我想已经走在对的道路上。能够做到这点,自然也就懂得docs as a product 是一个怎样的理念。

有关成为technical writer 的一些个人特质与要件,之后可能再另开一篇笔记来分享个人浅见。

总之,docs as a product 不是把技术文件当成零散笔记、随意为之,而是经过作者构思与细心整理的文件。作者知道知识传递与知识分享的重要性,他/她希望有更多人愿意读这些文件,且信任这些文件,故愿意投注长期的心力来持续改善文件的品质,就像持续改善一项产品那样。

Content first

内容优先,这也相当直观,文件首重其内容是否有用,自然是内容优先了。强调这点的原因是相对于其他考量来说的,例如:优先考虑文件撰写工具或文件管理平台是否容易取得、工具是否好用、产生出来的文件是否美观fancy 等等。

Content first 的前提是上一节介绍的docs as a product。因为有些文件并不需要那么严肃认真地对待,例如一些不稳定的知识、临时笔记、零碎知识等等,我们可能不会大费周章去把它们当成一个产品来发展与维护,于是内容结构如何、是否易读易懂,也就不需要那么讲究。

那么,如果要认真去写正规文件,该如何构思文件的架构呢?

构思文件架构

一旦确定要撰写正规文件,把文件当成一项产品来认真看待,便需要规划和构思文件结构与内容。此时,有一个名为Diátaxis的文件构思框架可以派上用场。如下图(取自diataxis.fr ):

此框架把文件分成四大类:

  • 教学文件:协助读者学习某一个主题。

  • How-to 文件:包含完成特定工作或目标的指引。例如「如何建立虚拟机器」、「手把手教你XYZ」通常属于此类。

  • 解释型文件:说明某个概念、名词、架构等等都是。

  • 参考文件:提供参考资讯,例如error codes、API reference manual 等等。

构思技术文件该包含哪些内容时,不妨以此框架来规划文件的架构。

有了大分类之后,可以再进一步思考更细、更具体的文件类型,例如:

  • Introduction、overview

  • Tutorials

  • Use cases and best practices

  • FAQs

  • API reference manual

  • 专有名词(terminology)

  • 产品的road map

  • 产品的release notes

  • 联系技术支援的管道

  • 提供有关文件内容feedback 的管道

  • 相关法规与政策

规划文件内容架构时,若想不到该放哪些东西到文件中,不妨利用上述清单来刺激灵感。

结语

本文提及的概念和方法,都是我赞同且正在使用的,而且我觉得对于从事软体开发或系统工程方面的DevOps 与工程师特别合适,因为相对容易上手。比如说,让DevOps team 成员学习使用markdown 来写文件,碰到的抗拒通常会比一般习惯用Word 和Powerpoint 写文件的人来得低。

然而,也不能预设只有DevOps 工程师才能使用这套方法来写文件。理想情况下,撰写文件的相关配套工具、平台、教学文件,也都应该尽量准备齐全而且容易上手,让组织中的其他角色(例如PM、SA)也能参与文件协作、贡献知识。

最后,最重要的,无论采用何种工具,只要是正规文件,都应该以易读易懂为目标,而且能让读者自行阅读文件就学会特定知识、或解决特定问题(而不是看了文件感觉一头雾水还得一直去找人问)。

喔对了,非正规文件当然也可以用上述理念和方法来撰写,例如部落格就是练习写文件的一个好方法(尽管有点老派,但还是很棒的方法)。

Keep writing!

延伸阅读


本文转贴自Huanlin's Note

CC BY-NC-ND 4.0 授权

喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!

蔡煥麟從事軟體開發十餘年,除了寫點程式,也寫文章、出版電子書。
  • 来自作者
  • 相关推荐

Docs as Code 與知識管理系統

GitHub Copilot 入門

Obsidian 初學者筆記