[翻译] 精益文档

精益文档

Lean Documentation (原文)

Posted by Tomas Björkholm on Apr 09, 2015

我的业余研究告诉我,要实现更大的有效性和上乘的质量,最重要的三件事是知识,知识,还是知识。知识最好通过交流获得,但是只有和有知识的人交流才会有效。糟糕的是,有些情况下这样的人无法参与讨论。

My amateur research has given me the insight that the three most important things for greater effectiveness and good quality are knowledge, knowledge and knowledge.  Knowledge is best acquired through a dialog but a dialog is only efficient if it includes someone with knowledge. Unfortunately, there are situations when such a person is not around.

本文会帮助你在这种只有文档是唯一的知识来源的情况下,写出有效和有用的文档。本文中介绍的实践,是基于我在一家大型跨公司参与的一个项目的经验。

This article will help you write effective and useful documentation for those situations where documentation is the only available source of knowledge. The practices presented in this article are based on my experiences working on a project at a big multinational company.

这一切都起于一位开发人员提出了一个改进项目文档的主意。我们集中了一个有志于改进文档的团队,达成对一些原则的共识。

It all started when a developer said he had an idea for improving the project documentation. We gathered a team of people who were interested in improving the documentation and agreed to a few rules.

良好文档的原则

The rules for great documentation

文档应当:

  • 快速而又容易创建和更新。过时的信息比没有信息更为糟糕。
  • 容易提供正确的答案。如果不容易查找,没人会使用。
  • 不是要代替人与人之间的交流。人和交流,更重于过程和工具,对吗?

The documentation should:

  • Be quick and easy both to create and update. Information that is out of date can be worse than no information at all.
  • Easily provide correct answers. If it’s not easy to find no one will use it anyway.
  • Not replace human interaction. Individuals and interaction over processes and tools, right?

为实现这些规则,我们提出了六项实践:

To reach the goal of fulfilling the rules, we set up six practices:

实践1 - 明确文档的使用者,以及使用文档的原因

Practice 1 – Identify your consumers and their reasons for using the documentation

尽管这好像很明显,但很少有人会这么做。对我们的项目来说,我们的改进小组确定了4组目标人群。

  • 管理人员,他们需要我们正在做的事情的一个简短总结。
  • 新的开发人员,他们需要快速的介绍。
  • 系统以前的开发人员,他们在做了几年其它的事情之后回到了该项目。
  • 排错人员,他们帮助解决问题。

While this sounds obvious, it is rarely done. For our project, our improvement team identified four target groups.

  • Managers who need a short summary of what we’re working on.
  • New developers who need a quick introduction.
  • Former developers of the system who come back to the project after a few years of doing something else.
  • Trouble shooters who help customers with their problems.

第一组目标人群在我们问到他们对文档的需求时表现出惊喜。首先,之前没有人问过他们这个问题。哇!其次,他们从来没有使用过他们拥有的庞大文档。这个目标人群只需要对三件事情的回答。总之,三行文档就能满足需要了。多余的对读者和作者都是浪费。吃惊吧!

The first target group was pleasantly surprised when we asked them about their documentation needs. First of all, no one had ever asked them before. Wow! Secondly, they never even used the massive documents that they had. This target group only needed the answer to three things. In total, three lines of documentation was all that was needed. The rest was waste both for the reader and the writer. OMG!

实践2 - 象谷歌地球那样组织

Practice 2 – Structure it like Google Earth

人们使用文档查找对他们心中疑问的解答。文档的质量可以用找到解答所需要的时间来衡量。我们用谷歌地球作为模型。

People use documentation to find answers to the questions they have. The quality of the documentation can be measured by the time it takes to find the answers. We used Google Earth as a model.

你有没有在谷歌地球上找过你住的房子(逐级向下浏览,而不是搜索地址)?你要花多长时间?也许30到60秒?在地球表面找到你的房子,就象在一万五千亿(1.5 × 10^12)个答案中找到一个答案。如果你查找一个答案,那不应该超过60秒,即使你的系统复杂又庞大。

Have you ever tried to find your house on Google Earth (drilling down, not searching on address)? How long did it take? Maybe 30 to 60 seconds? Finding your house on the surface of the Earth is like finding 1 answer among 1,5 trillion (1,5 * 1012) answers. If you are looking for an answer it shouldn’t take more than 60 seconds, even if your system is complex and huge.

在文档中这是怎样的?我们用在谷歌地球中的各级高度之间移动的层级类比:月亮高度,卫星高度,飞机高度,直升机高度,等等。每个级别都有一个简短的描述,我们称之为电梯演讲(elevator pitch),最多有9种继续到下一级的可能。

How does this apply to documentation? We followed a hierarchy analogous to moving through the levels in Google Earth: moon level, satellite level, airplane level, helicopter level and so on. Each level has a short description, which we called an elevator pitch, and up to nine possibilities to continue down the next level.

要记得并非所有的文档工具都适于逐级向下浏览(drill down)的方式。一个包含Word文档的目录结构就可能不是个好主意。而含有指向下一级的链接的维基(wiki)就好得多。

Keep in mind that not all documentation tools are well suited for a drill down approach. A directory structure with Word documents is probably not a good idea. A wiki with links to next levels is much better.

实践3 - 保持精简

Practice 3 – Keep it small

我们讨论了产生文档的理由,提出了下面尽可能减小文档的原则:

  • 文档应当是不受限于时间和空间的交流。这不应当代替实时的交流。
  • 我们应当记录结果,而非需求。这意味着我们在发布新功能时更新或替换文档,而不是在获得需求时添加文档。这样保证文档准确地反应了系统的当前状态。
  • 文档的好处必须超过创建和维护它的代价。不要浪费时间来记录已经写成代码的东西。文档应当提供大尺度的概述,以及有足够的信息能够帮助读者快速找到必要的代码。

We discussed the reason for documentation and come up with the following principles to minimize the size:

  • Documentation should be communication without constraints in time or location. It’s not a replacement for communication in real time.
  • We should only document results not requirements. That means we update or replace the documents when we launch new functionality instead of adding new documents when we get the requirements. This approach ensures that the documentation accurately reflects the current state of the system.
  • The benefit of having documentation must be greater than the cost of creating and maintaining it. Don’t waste time on documenting what is already written as code. The documentation should provide a big picture overview, and enough information to help the reader quickly find the necessary code.

保证适量的文档,是在太短而无用和太长而难读之间的平衡。如果你不使用文档,你就不会去更新它,那它就失去存在的价值,更糟的是,如果文档陈旧而且引人误入歧途,那就反而有害了。

Having the right amount of documentation is a balance between too short to be useful and too long to read. If you don’t use it, you will not update it and then it’s worthless or even worse harmful if it’s old and misleading.

下面是我从 Henrik Kniberg 得到的建议:

  • 保持尽可能少的文档 - 但不能更少了
  • 保持文档尽可能短 - 但不能更短了

就是这么简单 :-)。

Here is the advice I got from Henrik Kniberg:

  • Have as few documents as possible – but not fewer
  • Have as short documents as possible – but not shorter

It’s that easy :-).

实践4 - 文字要引人入胜

Practice 4 - Make the text inviting to read

大段的不痛不痒的文字是乏味的。如何让文字更切中要害呢?

Long, irrelevant text is boring. How can you make your text relevant?

我们做了如下尝试:我们让一个潜在的用户询问具有知识的某人。读者比专家更知道他们要了解什么,如何组织文字。专家只能猜测读者想要了解什么,以及应当如何组织。

We tried this: We asked a potential consumer to interview someone with knowledge. The reader knows what they want to know and how to structure the text better than the expert. The expert can only guess what the reader wants to know and how it should be structured.

一个典型的反面模式是当一个人要离开公司时,他们的经理就会让他们把在公司的剩余时间用于记录他们所知道的一切。对大多数人来说,这更象是惩罚,而不是创造价值的工作。

A typical anti pattern is when someone is leaving the company and their manager asks them to spend their remaining time at the company documenting everything they know. For most people that is more of a punishment than value adding work.

实践5 - 融入可视元素

Practice 5 – Incorporate visuals

尽管文字应当简短,但是随着层次进一步深入,在最低一级,文字就可能需要更长,包含更多细节。这里要怎么做才能防止读者流失?要使用科普的方式。与其把你的文档写得象科学报告,不如采用科普杂志使用的更易于接受的方式,包含大量可视化元素和简短易读的段落。

Even though the text should be short, further down in the hierarchy, on leaf level, the text might need to be longer and contain more detail. How can this be done without losing the reader?  Popular Science to the rescue! Rather than writing your documentation like a scientific report, use the approachable style that Popular Science magazine uses, with lots of visual elements and short easy to read paragraphs.

增加可视化元素可以帮助文档的读者快速找到他们需要的内容。读者的视线会从一张图片跳到另一张图片,就象阅读报纸一样。

Adding visuals helps your documentation consumers find what they need quickly. The reader’s eyes will go from picture to picture just like when you read a newspaper.

实践6 - 使其便于维护

Practice 6 - Make it easy to maintain

撰写良好的文档最大的挑战在于保持更新的状态。

The biggest challenge in writing good documentation is to keep it up to date.

这要求一些纪律和一条简单的童子军(Boy Scout)规则,“总是保持营地比你发现时更干净”。在文档中,这意味着:如果一份文档没有给你需要的信息-一经发现就用正确的信息更新。

This requires some discipline and a simple Boy Scout rule, “always leave the campground cleaner than you found it.” In documentation this means: if the document does not give you the information you need – update it with the correct information as soon as you have figured it out.

保持文档更新的可能性,随着修改的地方和写文档的地方之间的距离增加而递减。代码中的注释离改动更近,所以比在另外一个工具中的文档更有可能被更新。如果你使用维基(wiki)撰写文档,就可以轻易地整合代码中的注释。

The likelihood of maintaining up-to-date documentation decreases as the distance between what you change and where to document increases. Comments in code are closer to the change so they are more likely to be updated than a document in another tool. If you use a wiki for your documentation you can easily integrate comments in code.

如果文档很难更新,或者不能随着问题的发现而及时更新,那么它就不太可能被更新。请使用一款工具来容易地甚至同步地更新(文档)。这同样适用于图像,所以确保使用一款能够直接在其中创建和更新图像的工具。使用PlantUMLMediaWiki,和使用GliffyConfluence,就是两个例子。

If the documentation is difficult to update, or can’t be updated as soon as an issue is detected, it’s less likely to be updated. Use a tool for easy updates or even simultaneous updates. The same goes for images so make sure to use a tool that creates and updates images directly in the tool. MediaWiki with PlantUML and Confluence with Gliffy are two examples.

结果

The result

当位于另外一个城市的一个团队需要修改通常由我们的部门维护的代码时,我们的文档系统经受了考验。一段简短的介绍和一封含有文档位置的链接的电子邮件,就是我们之间唯一的通讯,相当出乎我们意料的是,所有需要的交流也就是这点儿了。我们达到了我们的目的。我么有了快速易于创建和维护的文档系统,而这帮助用户找到他们所需要的解答。

Our documentation came to a test when a new group of people working in another city needed to change code that is usually maintained by our department. A short introduction and an e-mail with a link to the documentation area was the only contact we had and much to our surprise that was also all that was needed. We had reached our goal. We had documentation that was quick and easy to create and maintain, and that effectively helped users find the answers they needed.

我希望我们的原则和实践也能够帮助你创建更好的文档。

I hope our rules and practices can help you create better documentation.

祝你好运!

Good luck!

声明:标题中的精益(Lean)和丰田制造商没有任何关系。这只是我所使用的形容词 lean (意味着:有效率,没有浪费)。

Disclaimer: Lean in the title has nothing to do with the car manufacturer Toyota. It is the adjective lean (meaning: efficient and with no wastage) I’m referring to.

要感谢 Ellen Gottesdiener 的支持和帮助。感谢 Jonas Boegård, Henrik Rasmussen 和 Igor Soloviev 提供的好主意。也要感谢 Mia Starck 和 Yassal Sundman 对文字的帮助。

Thanks to Ellen Gottesdiener for her support and help. Thanks to Jonas Boegård, Henrik Rasmussen and Igor Soloviev for all their good ideas. Thanks also to Mia Starck and Yassal Sundman for their help with the language.

注:在第一段中提到的“知识,知识,还是知识”指:领域知识 (了解业务),系统知识 (了解系统的领域和架构),以及近期的产品需求知识 (知道我们正在构建的东西)。本文介绍的文档方法最适用于领域知识和系统知识,以及如何弥合二者之间的间隙。

Note: the “knowledge, knowledge and knowledge” mentioned in the first paragraph refer to: domain knowledge (knowing the business), system knowledge (knowing the domain and architecture of the system) and immediate product need knowledge (knowledge about what we are building right now). The documentation methods described in this article are best suited to domain and system knowledge, and to bridging the gap between the two.

关于作者

About the Author

Tomas Björkholm 在瑞典斯德哥尔摩的Crisp公司任职敏捷教练和培训师。他热衷于培训团队,特别是大企业中的团队。他的使命是让敏捷方法容易理解和适应。Tomas 写了两本书,瑞典文的《敏捷方法向导》,和即将出版的《30天学会Kanban开发》。

Tomas Björkholm works as an Agile coach and trainer at Crisp in Stockholm, Sweden. He has a great passion for growing teams especially within large enterprises. His mission is to make Agile easy to understand and to adapt. Tomas has written two books, a guide to Agile in Swedish and the soon to come “Kanban development in 30 days”.

参考资料

  1. LEAN 公司内部资料 精讲+案例介绍 (154页PPT)_百度文库http://wenku.baidu.com/link?url=MVr46YQcbCnAOT06PKoE4Mb8rUhUVcMZJVRBzAOWUseCOCA6DygeC4jT15czmBohaukolT1hEPvYkcS9WzLYgHpnCGmVX43dj3rlaUQ0H7q
时间: 2024-08-06 16:16:41

[翻译] 精益文档的相关文章

翻译qmake文档(三) Creating Project Files

上一篇: 翻译qmake文档(二) Getting Started 原英文文档:http://qt-project.org/doc/qt-5/qmake-project-files.html 创建项目文件 项目文件包含qmake构建你的应用程序,库文件,或插件需要的所有信息.通常,你会在项目文件里使用一系列的声明指定资源,但是对简单程序构造的支持,允许你为不同的平台或环境描述不同的构建过程. 项目文件元素 qmake使用的项目文件格式可以支持简单和复杂的构建系统使用.简的项目文件使用简单的声明样

翻译qmake文档 目录

翻译qmake文档 目录 利用空闲时间把qmke的文档翻译出来,翻译水平有限,有些地方翻译的不好,请谅解, 如果您能指出来,我会很感激并在第一时候做出修改. 翻译qmake文档(一) qmake指南和概述 翻译qmake文档(二) Getting Started 翻译qmake文档(三) Creating Project Files 翻译qmake文档(四) Building Common Project Types http://www.cnblogs.com/li-peng/p/402613

翻译qmake文档(四) Building Common Project Types

翻译qmake文档 目录 本章原英文文档:http://qt-project.org/doc/qt-5/qmake-common-projects.html 构建常见的项目类型 本章描述如何设置基于Qt的应用程序.库和插件的三种常见项目类型的qmake项目项目文件.虽然所有的项目类型使用大量相同的变量,但是它们中的每一个都使用项目特定的变量来自定义输出文件. 这里不会描述特定于平台的变量.更多详细修改请查看  Qt for Windows - Deployment 和 Qt for Mac OS

翻译qmake文档(二) Getting Started

上一篇文章:  翻译qmake文档(一) qmqke指南和概述 原英文文档: http://qt-project.org/doc/qt-5/qmake-tutorial.html 本教程教讲授qmake基础知识.这个手册里的其它专题包含更详细的使用qmke信息. 从简单开始 假设你已经完成了应用程序的基本实现,并且你创建了下边的文件: hello.cpp hello.h main.cpp qt分布的目录 examples/qmake/tutorial 中,你可以找到这些文件.你只需要知道的另一件

如何使用PDF编辑器翻译PDF文档

在工作和学习中,有时候看到PDF文件上密密麻麻的外文,是不是常常有种无力感?这一点,需要经常接触外国文献或者文件资料的朋友可能深有感触. 现在就给大家介绍一款可以翻译PDF文档的PDF工具--福昕PDF编辑器! 用PDF编辑器打开文件,左键拉选需要翻译的文本,然后点击顶部菜单栏"主页"-"翻译" 这样就可以翻译外文了,操作非常简单,希望能帮到大家. 原文地址:https://www.cnblogs.com/vincebin/p/9936611.html

怎样翻译word文档中的英文,仅需三分钟即可搞定

怎样翻译word文档中的英文?在职场办公当中,难免会遇到外国客户.在与外国客户沟通.合作的过程当中,所使用得合作文件.资料的内容几乎都是英文.这也就使得英文不好的职员,除了准备合作资料外还需要花费大量时间去查阅单词,翻译语句,大大降低了工作效率.今天小编就将告诉大家如何快速有效地翻译word文档中的英文. 使用工具:迅捷pdf转换https://www.xunjiepdf.com/converter 1.大部分翻译工具,都只能单个单词或者逐句翻译,就算能翻译整段也是有次数限制.这样就会导致翻译出

Word文档怎么翻译?翻译word文档简单步骤讲解

将文档进行翻译是我们经常遇到的事情,市面上也出现了很多翻译文档的工具,但是使用起来总觉得不是那么好用,一款易上手的工具对我们来说是非常重要的,今天的课堂就是小编给大家分享使用工具将word文档进行翻译的三个小技巧,一起来了解下吧! 文档翻译工具一:在线转换器 1.进入PDF在线转换器页面,在菜单栏中找到文档处理,在弹出的子栏目中找到word在线翻译: 2.通过点击选择文件将需要进行翻译的文件上传至指定区域即可,在自定义转换设置中可以根据自己的需要选择翻译的语种: 3.点击开始翻译,当进度条显示转

文档翻译软件怎么用?怎么翻译Word文档

如何翻译Word文档?跟国外合作的项目发送给中文内容的文件天猫肯定看不明白,为了尊重对方,我们需要将中文的文件翻译成英文的,文件内容那么多,你还在想一句句人工翻译吗?别搞错了,现在翻译文件都在用文档翻译器了好吧,不仅准确率高,而且效率也没什么可挑剔的.下面小编就来为大家介绍一下文档翻译软件的使用方法,帮助你轻松翻译Word文档!具体操作如下:(方法参照文档翻译器)1:打开文档翻译器,在页面中我们可以看到有四种翻译的功能,我们选择文档翻译就好了,不过这个也是默认的操作功能.2:之后上传需要翻译的文

如何翻译PPT文档?PPT文档翻译一招搞定

PPT文档怎么翻译?PPT文件中有需要翻译的内容的时候,你还在一个个的复制进网页中搜索然后进行翻译吗?这个方法已经淘汰了,不仅麻烦,还拉低你的工作效率,今天小编来为大家介绍一个翻译PPT文档的方法,教你摆脱死板的翻译方法,翻译PPT也可以轻松搞定!准备工具:文档翻译器还需要提前准备好需要翻译的PPT文件,当然电脑也少不了,这是一个基本的辅助工具哦.好啦,上面的工作就绪后,开始翻译啦:1:打开文档翻译器后,点击左侧功能栏中的文档翻译功能,之后点击页面内的[点击上传文档]按钮添加要进行翻译的PPT文