Skip to content
This repository was archived by the owner on Sep 24, 2022. It is now read-only.
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions toolchain/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# toolchain
This folder is the holding place for planning documentation for The Good Docs Toolchain, a project to create a collection of tools to make authoring technical documentation easier.
56 changes: 56 additions & 0 deletions toolchain/personae.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
title: The Good Docs Toolchain
---

This document summarizes the personae for The Good Docs Toolchain, a collection of tools designed to help users create better technical documentation.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As per meeting discussion, it appears "personas" is more commonly used than "personae". Find and replace in rest of doc. Filename should change too.


The following are the primary types of users (i.e. personae) targeted by this toolchain. Each has a number of distinct needs, as outlined in the below sections.

# Tech writer

The **Tech Writer** is an individual whose primary role is authoring technical documentation. These may be volunteers in open source projects or employees in commercial organizations. They will typically have a certain level of technical proficiency, although this will range from a simple understanding of technical concepts to full proficiency with tools such as the command line.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The **Tech Writer** is an individual whose primary role is authoring technical documentation. These may be volunteers in open source projects or employees in commercial organizations. They will typically have a certain level of technical proficiency, although this will range from a simple understanding of technical concepts to full proficiency with tools such as the command line.
The **Tech Writer** is an individual whose primary role is authoring technical documentation. They can be volunteers in open source projects or employees in commercial organizations. They typically have a certain level of technical proficiency, although this ranges from a simple understanding of technical concepts to full proficiency with tools such as the command line.


As a tech writer...

- I want to use a simple tool to manage docs-as-code so I can concentrate on writing.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd split "simple tool for docs-as-code" from "concentrate on writing", as they are two interdependent tasks, each deserving their own bullet point.
The reason you want docs-as-code is to efficiently manage and publish docs.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd also maybe remove "simple" as that's quite an assumption, I certainly don't want a "simple" toolchain, I want a "comprehensive" one…

- I want to have access to spell/grammar check so I can take advantage of existing tools.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want to have access to spell/grammar check so I can take advantage of existing tools.
- I want to have access to spelling and grammar checking so I can take advantage of existing tools.

I'm not sure about the taking advantage bit. How does having access to linting enable this? Personally (as a technical writer) I want to have access to spelling and grammar checking to reduce the mental burden of doing it manually, as well as to catch inadvertent errors before they are committed.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd generalise this too, more along the lines of what @Loquacity says…

Suggested change
- I want to have access to spell/grammar check so I can take advantage of existing tools.
I want to have access to spelling/grammar and/or linting tools, or integrate existing options and tools

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are more things offered by Google Docs and other editors which are either provided on on the wish list which I think should be mentioned:

  • What You See Is What You Get (WYSIWYG) editing.
  • auto-complete and type ahead recommendations
  • auto-correct
  • checking against a style guide (this is provided by the grammarly plugin)

- I want to have the option to use the editor of my choice so I don't have to learn something new.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I want to ensure consistency across documentation of the content I add/edit, and not have to worry about themes/formatting when I add content.
    (This means, say for example, I have to add a table for the page I’m editing. If the rest of the the tables in the documentation are to a specific formatting/styled theme, such should ideally be automatically rendered when I’m adding my table.) - not sure if this point is valid here, but this is a common issue I’ve had to come across when editing pages of an organization in different platforms, like the website, Confluence repo etc.)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean WYSIWYG editing?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not just to avoid learning something new (most writers I suspect are not averse to this, generally), but more about using existing and familiar tools. I also think there's something deeply personal about a writer's editor: we spend a lot of time setting them up, and tend to hang on to them once we have one we like. Not sure how to encapsulate all that in a user story though 😂

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For me this whole project has been about integration, and I appreciate this isn't always possible, but maybe the toolchain is more about "glue" than new tools.


# Developer

Often times **Developers** are called on to document the code or application they've created. In business this may be a matter of convenience, where in open source projects there may simply not be anyone else available. But in either case this is a secondary task added to their main roles, often without enough thought given to the effort required to produce something of quality. These individuals are (obviously) very technically savvy, although this doesn't preclude them from wanting to use GUI tools.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Often times **Developers** are called on to document the code or application they've created. In business this may be a matter of convenience, where in open source projects there may simply not be anyone else available. But in either case this is a secondary task added to their main roles, often without enough thought given to the effort required to produce something of quality. These individuals are (obviously) very technically savvy, although this doesn't preclude them from wanting to use GUI tools.
**Developers** are often called on to document the code or application they've created. In business this may be a matter of convenience, where in open source projects there may not be anyone else available. But in either case this is a secondary task added to their main roles, often without enough thought given to the effort required to produce something of quality. These individuals are very technically knowledgeable, although this doesn't preclude them from wanting to use GUI tools, or other assistance to write well.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a dissenting opinion in the world of engineering that all engineers should always be documenting... and that it isn't a nice to have or optional. But it is something that should be part of what engineers do. That is my point-of-view and maybe not the good-docs project?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1 to @mgan59 . It takes a village to raise good docs. Engineers, should have a significant role to play if quality docs are to be created efficiently.


As a developer...

- I want help in deciding what form the required documentation should take so I don't need to learn technical writing theory.
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is good and to build here -- there are lots of types of documentation and tooling that developers are unaware of... I'm a huge fan of ADRS: Architecture Decisions Records which are often over-looked. There are multiple forms of the RFC format that has been adopted by React, Rust-Lang.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want help in deciding what form the required documentation should take so I don't need to learn technical writing theory.
- I want templates and guides to help structure the documentation I'm to create so I don't need to learn technical writing theory.

- I want help to stage the required documentation so I don't need to create everything from scratch.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want help to stage the required documentation so I don't need to create everything from scratch.
- I want guides and templates to help me get started with documentation so I don't need to create everything from scratch.

I think of staging as being a thing you do to preview work, not as a starting point.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Loquacity I think the templates and guides go in the prior use case.
I agree with @acpkendo that there is a separate case for publishing (which in this case is being called staging).


# Reviewer

**Reviewers** can take many forms, from technical leads and delivery managers responsible for the solution as a whole to subject matter experts who may be getting their first look at the solution they themselves will use. The reviewer's role is to look over the documentation and provide *feedback* to be incorporated back into the material.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
**Reviewers** can take many forms, from technical leads and delivery managers responsible for the solution as a whole to subject matter experts who may be getting their first look at the solution they themselves will use. The reviewer's role is to look over the documentation and provide *feedback* to be incorporated back into the material.
**Reviewers** can take many forms, from technical leads and delivery managers responsible for the solution, to subject matter experts who may be getting their first look at the solution they themselves will use. The reviewer's role is to look over the documentation and provide feedback to be incorporated into the content.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we need to clarify the difference between a technical and non-technical reviewer here too.


As a reviewer...

- I want to look review the documentation in its final presentation so I can better visualize how it's used.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I want to be able to look at / review the documentation in its final presentation so I can better visualize how it's used.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure how much this is needed, and again I think integrating with existing tools is the better option… detect an SSG config file, setup a build task… Want HTML, use pandoc or equivelant, etc etc

- I want the ability to easily add comments to it so the review process is easy to track.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want the ability to easily add comments to it so the review process is easy to track.
- I want the ability to easily add comments to the content so the review process is easy to track.


As a technical reviewer...

- I want the ability to make corrections directly in the documentation's source so I don't need to go through the review process.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hrm. Do they?

Also, what about "I want access to a test version of the product being documented, so that I can ensure the steps in the documentation are accurate".

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an interesting statement. I think there can be some cases where someone may want to change docs and avoid a PR.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But at the same-time, if changes are happening for a specific version or have massive impact, those changes should go through a review process. so just a caveat.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm inclined to drop this requirement:
I don't think we have defined a technical reviewer sufficiently to call them out yet.
And I'm not sure why a technical reviewer should be able to change the source without the original author knowing about the change (which I how I interpret this statement).


# Marketing

While **Marketing** reviewer are the same as technical reviewers in many ways (and many of the same needs will apply), they are also looking after the company's branding, and therefore may have additional requirements.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would put these under the reviewers heading, and split reviewers into categories.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
While **Marketing** reviewer are the same as technical reviewers in many ways (and many of the same needs will apply), they are also looking after the company's branding, and therefore may have additional requirements.
**Marketing** reviewers are similar to technical reviewers in many ways, and many of the same needs will apply. However, they are also looking after the company's branding, and therefore have additional requirements.

I don't think this is necessarily true. They're closer to non-technical reviewers in my experience.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as I was touching on, there is a growing demand for mar-tech professionals that are front-end developers that can integrate into design-teams.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd suggest here to expanding this as to be inclusive of MarTech which includes growth-hackers. The trend in marketing is evolving and using again things like Storybook change the way Marketing organizations will operate in the future. And having an easy iterative design-tooling to rapidly prototype the marketing collateral is important.


As a marketing reviewer...

- I want the ability to comment on the look-and-feel of the deliverables, so I can ensure they're in line with the brand.

# Technology decision-maker

The **Technology Decision Maker** may weigh in on the documentation as a
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing a description here. I'm guessing it's someone like a development manager or product owner?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think Product-Owner / Product-Designers are missing here as I'd mentioned on the call the idea of design-system tooling like - storybook docs. And think technology decision-maker could be part of the Developer section.


As a technology decision maker...

- I want to provide feedback on the approach to the deliverable(s), to ensure it's meeting expectations as part of the overall solution.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want to provide feedback on the approach to the deliverable(s), to ensure it's meeting expectations as part of the overall solution.
- I want to provide feedback on the approach to the documentation, to ensure it's meeting expectations as part of the overall product.

- I want to enforce the docs-as-code approach, to ensure it's in line with my high-level strategy for the product(s).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- I want to enforce the docs-as-code approach, to ensure it's in line with my high-level strategy for the product(s).
- I want to encourage the docs-as-code approach, to ensure it's in line with my high-level strategy for the product.

"Enforce" seems a little heavy handed. I'm also not entirely certain this is true. Most managers/POs don't understand or particularly care about docs as code (in my experience).

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kinda like this statement -- I think that we should draw a line in the sand from a values-perspective. That doc-as-code is the future for building scale-able and inclusive teams.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think there are a few more personas worth calling out, which I've been listing in my tech writing pattern presentations:
A developer, with a deep understanding of the software being described.
A product manager, who has a holistic view of the application and it’s roadmap.
A software user, able to explain the application within the context of the application’s domain.
An “expert newbie”. Some of the best feedback comes from new users who get stuck.
An educator, who understands the principles of learning.
An information architect, who understands how to structure material.
A software support person, who learns all the pain points of users.
A researcher, who proactively identifies pain points and market opportunities.
A writer, who writes clearly and concisely with good grammar.
Translators, for translating to target languages.
A DevOps person, who can set up doc build pipelines.
A community builder, and coordinator, who can inspire collective action, capture offers of help, and help all these different personas to collaborate together.