The process for creating and maintaining GitLab product documentation depends on whether the
documentation is associated with:
The process for creating and maintaining GitLab product documentation allows
anyone to contribute a merge request or create an issue for GitLab's
documentation.
-[A new feature or feature enhancement](#for-a-product-change).
Delivered for a specific milestone and associated with specific code changes. This documentation
has the highest priority.
NOTE: **Note:**
Documentation updates relating to new features or feature enhancements must
use the [feature workflow process](https://about.gitlab.com/handbook/engineering/ux/technical-writing/workflow/#for-a-product-change) described in the GitLab Handbook.
-[Changes outside a specific milestone](#for-all-other-documentation).
## Who updates the docs?
It is usually not associated with a specific code change and has a lower priority.
*Anyone* can contribute! You can create a merge request for documentation when:
Documentation is not usually required when a "backstage feature" is added or changed, and does not
directly affect the way that any user or administrator interacts with GitLab.
- You find errors or other room for improvement in existing documentation.
- You have an idea for all-new documentation that would help a GitLab user or administrator to
accomplish their work with GitLab.
## Documentation labels
...
...
@@ -32,372 +33,17 @@ The following are also added by members of the Technical Writing team:
`docs::` prefix. For example, `~docs::improvement`.
- The `~Technical Writing`[team label](../contributing/issue_workflow.md#team-labels).
## For a product change
This documentation is required for any new or changed feature and is:
- Created or updated as part of feature development, almost always in the same merge request as the
feature code. Including documentation in the same merge request as the code eliminates the
possibility that code and documentation get out of sync.
- Required with the delivery of a feature for a specific milestone as part of GitLab's
[definition of done](../contributing/merge_request_workflow.md#definition-of-done).
- Often linked from the release post.
### Roles and responsibilities
Documentation for specific milestones involves the:
- Developer of a feature or enhancement.
- Product Manager for the group delivering the new feature or feature enhancement.
- Technical Writer assigned to the group.
Each role is described below.
#### Developers
Developers are the primary author of documentation for a feature or feature enhancement. They are
responsible for:
- Developing initial content required for a feature.
- Liaising with their Product Manager to understand what documentation must be delivered, and when.
- Requesting technical reviews from other developers within their group.
- Requesting documentation reviews from the Technical Writer
[assigned to the DevOps stage group](https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments)
that is delivering the new feature or feature enhancements.
TIP: **Tip:**
Community Contributors can ask for additional help from GitLab team members.
##### Authoring
Because the documentation is an essential part of the product, if a ~feature issue also contains the
~documentation label, you must ship the new or updated documentation with the code of the feature.
Technical Writers are happy to help, as requested and planned on an issue-by-issue basis.
For feature issues requiring documentation, follow the process below unless otherwise agreed with
the Product Manager and Technical Writer for a given issue:
- Include any new and edited documentation, either in:
- The merge request introducing the code.
- A separate merge request raised around the same time.
- Use the [documentation requirements](#documentation-requirements) developed by the Product Manager
in the issue and discuss any further documentation plans or ideas as needed.
If the new or changed documentation requires extensive collaboration or conversation, a
separate, linked issue can be used for the planning process.
- Use the [Documentation guidelines](index.md), as well as other resources linked from there,
including:
- Documentation [Structure and template](structure.md) page.