Modern Technical Writing: An Introduction to Software Documentation
Rate it:
Open Preview
5%
Flag icon
Exceptional technical writers are force multipliers within the software industry. Great documentation makes new hires productive in days instead of weeks, prevents thousands of calls to customer support, is the difference between crippling downtime and rock solid stability, and inspires true, fervent love of development platforms.
9%
Flag icon
Identify what the audience actually needs to know, and include only that.
11%
Flag icon
Technical writers, first and foremost, are testers and researchers. Your job is to know what people want to achieve and precisely how to achieve it. Communicating that knowledge is the last step of the process and really shouldn't comprise more than 10% of your time.
12%
Flag icon
Your testing should be centered around making you smarter. Once you have a complete grasp of how something works, you can stop. Unlike a tester, you don't have to go any further.
13%
Flag icon
The learning process is time-consuming, so don't be discouraged if your measurable output is essentially nil for days or even weeks after moving onto a new project.
14%
Flag icon
Talking to people is an art. A tester might want to gripe about a useless or buggy feature, whereas a developer might anxiously justify architectural decisions. A product manager probably wants to discuss long-term vision and will be upset if you didn't schedule a meeting, whereas a salesperson might be perfectly happy to chat about user frustrations from adjacent bathroom stalls. A good rule of thumb is to treat everyone as busy individuals whose time is valuable, but another rule of thumb is to break this rule and be more of a jerk if an essential employee isn't giving you the information ...more
19%
Flag icon
Users are people who just want to achieve something with an application, whether it's resizing an image, creating a spreadsheet, or sending an email. Users are typically concerned with inputs and outputs.
20%
Flag icon
Administrators install and configure applications. I'm not just talking about server administrators or people with administrator permissions on a computer, but anyone whose concerns are setup and maintenance. How much disk space does the application server fill over time? Where are the logs located? How do you recover data in the event of a crash? What's the simplest way to perform backups?
21%
Flag icon
Developers extend applications or interfaces with code. They want to improve some aspect of an existing application or build something new. More than anything, they need reference materials, short tutorials, and code samples.
22%
Flag icon
What is this product? Why would anyone want it? These two questions are incredibly challenging for the average technical writer, a group of people much more focused on how than what or why.
23%
Flag icon
How does this product fit into a broader ecosystem, if at all? Does it have any dependencies? The answer to this question can be a single sentence, an architecture diagram, or a complex discussion of the various components necessary to create a coherent product stack.
24%
Flag icon
How do I install the product? What are the basic configuration options, if any?
25%
Flag icon
What does a simple, start to finish operation look like? This section can be anything from a pictorial walkthrough to a functional code sample—to be clear, not just a couple snippets—but whatever it is, it should take the user from nothing to something. It should be meaty enough to convince readers that they've learned something.
29%
Flag icon
Whenever possible, don't write from memory. Verify content as you write it. If the documentation involves shell commands or code snippets, copy and paste them after validating that they work.
30%
Flag icon
Bias towards including headers, tables, lists, diagrams, and images. These additions make your writing more approachable and simpler to scan than paragraph after paragraph of prose.
31%
Flag icon
One of the most important functions of a technical writer is to record changes to a product. Good change logs convince people to upgrade, inspire confidence in the direction of a product, and help developers take advantage of new features.
32%
Flag icon
More than anything else, change logs should be terse, minimalist, and eminently scannable.
34%
Flag icon
Hosting your content on a website gives you the power to fix inaccuracies almost instantly and keep your content in sync with the latest software release.
34%
Flag icon
Shipping an HTML help system with the software itself is barely better than PDFs.
36%
Flag icon
people really will contribute if you just let them.
37%
Flag icon
Publishing should not be a special event. It should not be challenging. It shouldn't require anything more than a quick sanity check and a glance at the build log. Something about your process is broken if you need more than a minute to verify that content is ready to post to a production website.
38%
Flag icon
Even simple automation is effective, like a Cron job that checks out and builds the documentation every hour, writes the build log, and posts the resultant content to an internal staging server.
45%
Flag icon
Documentation with any sort of lifespan needs to be kept in version control, which Word's DOCX file format (a compressed collection of XML files) actively opposes. Documentation should live online, and Word's abysmal HTML export is totally unsuitable for creating websites. You have to style content in Word as you write it, rather than taking advantage of the natural separation of content and style, of HTML and CSS.
55%
Flag icon
If you have the opportunity to store your documentation in the same repository as its corresponding product source code, strongly consider doing so. The approach has some real appeal: Documentation and code branches stay in sync. Developers are more likely to contribute if they don't have to clone a separate repository. Of course, this approach also has some cons: If a repository is large (e.g. 2 GB), checking out the entire repository just to access the 40 KB ./docs directory can dramatically slow down documentation builds. Onerous commit hooks and pull request submission policies, designed ...more
57%
Flag icon
The core idea here is that you should break your writing into bite-sized pieces, often called topics, none of which overlap in content. Doing so means that if things change—and things always change—you only have to update the documentation in one place. Many topics are short, whereas others are quite long. What topics should be is relatively complete in their discussion of a particular subject.
58%
Flag icon
for the most part, linking liberally, arranging topics in a sensible way, and trying to adhere to a single source model is a good idea.
58%
Flag icon
The worst duplication sin of all is to store similar copies of the same documentation in version control. The root cause here is typically the desire to have one version for coworkers and another for customers, and it inevitably leads to a maintenance nightmare.
63%
Flag icon
Find a designer and ask for help with colors, typefaces, font sizes, page width, and spacing. This customization is your chance to differentiate your content from the thousands of ugly, disorganized sites of the world, so don't just use the default theme. If you don't have the skills to do this customization yourself, you might need to hire someone. It's that important.
67%
Flag icon
If you aren't keeping an eye on documentation metrics, you're making a huge mistake. User research is wonderful, but knowing exactly which pages are most popular, your site's bounce rate, and common behavioral flows are all invaluable. Create a Google Analytics account, add the provided tracking code to your static site theme, and check the numbers regularly.
98%
Flag icon
Learn everything about a subject. Write down exactly what an audience needs to know and no more. Make the content beautiful, discoverable, scannable, and searchable. Consider everything a draft, and iterate relentlessly. Make contribution simple.