-
Notifications
You must be signed in to change notification settings - Fork 5
RFC-012: internal knowledge base #28
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,132 @@ | ||
| # RFC-012: Internal Knowledge Base | ||
| ## Proposed by | ||
|
|
||
| Ryan Macklin ([@macklin](https://thegooddocs.slack.com/team/U01DYRWG43X)) | ||
|
|
||
| Initially submitted on 24 Aug 2022 | ||
|
|
||
| ## Current status | ||
|
|
||
| - [x] Draft | ||
| - [x] Under discussion | ||
| - [ ] Final comment and voting (until YYYY-MM-DD) {{Add date after selecting this status.}} | ||
| - [ ] Accepted | ||
| - [ ] Rejected | ||
| - [ ] Implemented | ||
| - [ ] Deferred | ||
| - [ ] Withdrawn | ||
|
|
||
| ## Proposal overview | ||
|
|
||
| We need a central knowledge repository for contributors that: | ||
| * Isn't fragmented across different platforms or accounts | ||
| * Is easy for new contributors to access | ||
| * Has a sense of hierarchy | ||
| * Allows contributors to dump critical or needed info in a place that prevents them from becoming a bottleneck | ||
| * Has some sense of discipline/oversight to keep it from becoming disorganized or discordant | ||
|
|
||
| This is internal-facing material, meant to be consumed by members of the Good Docs project. Our template/product users don't need to know this stuff, but there's no reason to hide it. Therefore, we keep all information viewable to the public. | ||
|
|
||
| ## Motivation | ||
|
|
||
| We don't have a good way to share information to use contributors, or a common places where information can live and grow. This was mentioned by multiple people during our recent retrospectives. | ||
|
|
||
| ## Proposal | ||
|
|
||
| We could use a GitLab wiki or repo as a place where contributors can post material or comment on said material with questions, corrections, etc. | ||
|
|
||
| We'd have some guideline on structure, intent, etc. Each core initiative would have a space for their information, along with general information, community resources, etc. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think we need to find a good balance between keeping the information in a place where you would expect it/need it vs. keeping it somewhere where it is discoverable.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Noted |
||
|
|
||
| The KB should be easily visible and searchable for new contributors, especially those who are new to GitLab. We want to avoid situtions where viewing the KB is cumbersome, such as Tina's concerns: "For example, I experienced that many of my Chronologue group members are pretty new to Github (let alone Gitlab), and switching/finding things in different places than their 'home' repo is pretty hard for them." | ||
|
|
||
| Ideally, our docs would make use of our templates—in fact, they would make for great use/test cases. However, we would allow for a "quickly written" status, in cases where information needs to be dumped from someone's mind, but the time/effort cost in polishing isn't currently possible. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agree! |
||
|
|
||
| We'd have a mechanism for checking the freshness of content, though we can defer the details of that until later. That may inculde owners or reviewers listed on individual articles or sections. | ||
|
|
||
| ### GitLab wiki: a.k.a. Do we already have this? | ||
| There's a wiki in GitLab, and [Aaron has release weight information there](https://gitlab.com/tgdp/governance/-/wikis/Guide-to-assigning-weight-scores-to-issues-and-epics-%28release-planning%29). Should we just go with that? Does that make sense for us as a group of groups? | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. In my mind the (a) wiki is the place for this type of information, as it's basically what they were designed for. The tricky part will be where it resides, and slightly related, if there's one for everything or one for each WG (as each repo has its own wiki I believe). I usually favor the "source of truth" approach, which implies we have one wiki to rule them all. Of course, at this point the IA and content strategy becomes super important...
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Noted |
||
|
|
||
| Comment from Aaron: "In my mind the (a) wiki is the place for this type of information, as it's basically what they were designed for. The tricky part will be where it resides, and slightly related, if there's one for everything or one for each WG (as each repo has its own wiki I believe). I usually favor the "source of truth" approach, which implies we have one wiki to rule them all. Of course, at this point the IA and content strategy becomes super important..." | ||
|
|
||
| If we use a wiki, can we keep that wiki to being only for KB material? Ideally, we shouldn't have a wiki oversaturated with multiple purposes? Would it be difficult to use search functionality when looking for KB articles, due to non-KB stuff in the wiki also populating the search results? | ||
|
|
||
| ## Consequences | ||
|
|
||
| We'd have a central place for information. | ||
|
|
||
| Said information though could become out of date without a contributor realizing it, due to the nature of knowledge bases and the bandwidth of contributors. | ||
|
|
||
| We also need to decide on the access control. Having new contributors being able to edit can be great for finding holes in the content, but could also be an issue if contributors put misunderstandings into our KB without others noticing right away. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see this as a blessing and curse as well. Having a stricter format that needs a PR before contributing would prevent these things, I guess.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That gets into drafting the core info on contributing to the KB, which is in the implementation list |
||
|
|
||
| Comment from Tina: "I see this as a blessing and curse as well. Having a stricter format that needs a PR before contributing would prevent these things, I guess." | ||
|
|
||
| This space would also be great for small procedural elements that should be documented, but don't need a full RFC for said documentation (such as the recent "break/restart" process the co-chairs initiated). That way such info isn't lost to the ether due to a lack of documentation procedure for such things. | ||
|
|
||
| ## Links and prior art | ||
|
|
||
| {This section is optional if you want to [link](https://example.com) to other resources.} | ||
|
|
||
|
|
||
| ## Open questions | ||
|
|
||
| {This section is optional and is where you can list questions that won't be resolved by this RFC, including those raised in comments from community members.} | ||
|
|
||
|
|
||
| ## Decisions deferred | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I feel like we should be in the clear about these two things before we settle on a wiki. Seems to important and I guess it is a pain to migrate later on.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added those to the implementation checklist |
||
|
|
||
| None listed | ||
|
|
||
| ## Feedback | ||
|
|
||
| {If you accept feedback from a community member, you will incorporate it into your RFC before it is accepted. | ||
| If you reject feedback, note that rejected feedback here before resolving the conversation.} | ||
|
|
||
| ## Organizational dependencies | ||
|
|
||
| * The tech team would be involved in implementation | ||
| * Content strategy may have thoughts, even with this being internal-facing info | ||
|
|
||
| ## Implementation checklist | ||
|
|
||
| If this proposal is accepted, the following tasks must be completed: | ||
|
|
||
| - [ ] Governance list | ||
| - [ ] Create issues | ||
| - [ ] Sketch timeline | ||
| - [ ] Organization list | ||
| - [ ] Draft the core info on how to use & contribute, so we're all on the same page about it | ||
| - [ ] Ask group leads to dump critical or infrastructure knowledge from their brains or disparate notes into the KB | ||
| - [ ] Scrape the existing GitHub repos and wikis for any project and process information that is relevant to capture in the KB | ||
| - [ ] Comb existing Google drives per working group for relevant info to move into the KB | ||
| - [ ] Draft initial intents/goals behind long-term elements (such as freshness goals & mechanisms) | ||
| - [ ] Technical list | ||
| - [ ] Set the site/wiki/whatever up | ||
| - [ ] Create the initial structure/document tree | ||
| - [ ] Access control (a.k.a. who can edit/update) | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added |
||
|
|
||
| ## Votes | ||
|
|
||
| Votes as per our [decision process](https://thegooddocsproject.dev/decisions/): | ||
|
|
||
| Project steering committee (listed alphabetically by first name): | ||
|
|
||
| - Aaron Peters: | ||
| - Alyssa Rock: | ||
| - Ankita Tripathi: | ||
| - Bryan Klein: | ||
| - Cameron Shorter: | ||
| - Carrie Crowe: | ||
| - Erin McKean: | ||
| - Deanna Thompson: | ||
| - Felicity Brand: | ||
| - Gayathri Krishnaswamy: | ||
| - Morgan Craft: | ||
| - Nelson Guya: | ||
| - Ryan Macklin: | ||
| - Tina Lüdtke: | ||
|
|
||
|
|
||
| Community members who voted (non-binding): | ||
|
|
||
| - {Your name}: {Your vote} | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I agree to some extent.
I can share some experiences from what we did in the Chronologue project to try to preserve knowledge. Spoiler: We are still figuring out how we want to do this sustainably, so your RFC is more than welcome. :)
Approach 1:
Before I joined, I found a wiki in shambles and a running Google Doc with meeting notes.
I updated the wiki with our newest set of assumptions to stomp a fake product out of the ground.
For a while, that was a really good way to do it, as we were just a small group and didn't have as much velocity.
And then more people started coming along and needed to build context, learn how we work, essentially get onboarded.
I found myself explaining a lot of things verbally instead to pointing to the wiki (probably because I wanted to build social rapport).
Approach 2:
To create a more solid point of reference, I started creating a README page to give people an idea how to actually contribute.
As for the wiki, I decided to migrate some content that I deemed was solid enough into a more "permanent" format. For example, in one wiki entry, I explained how the Chronologue telescope works "scientifically". I turned that into a concept in our docs folder.
We try to do that with as much knowledge as we can, and plan on deprecating the wiki eventually for maintenance reasons. I think the wiki failed due to lack of ownership, whereas more permanent files require one or more authors to write something and ideally a PR. It requires more commitment, and therefore, I think the outcome is higher quality.
If that is the best way to do it, well, I don't know.
P.S. I wrote this comment before reading the rest. I am curious what you propose.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ideally, if we all know we have a core space, and are expected to use that space, those overall problems get resolved.