Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

The highest-level goals for this doc are to:

  • Propose a structure and linking for spaces in Confluence

  • Propose templates / needed information for different types of pages

STATUS: Draft - open for comments

The doc is open for comments. Eventually we want to get to “living document”. This can be modified and moved forward but you have to want to propose changes, not just whine about it (wink)

Resources:

Context

Engineering themes/squads/teams currently organize themselves on the wiki in a lot of different ways which makes it difficult to discover information about other squads and hinders cross team communication and collaboration.

Inspired by Confluence’s own page on how to write better documentation and a lot of grief of not being able to find anything in Confluence, how can we improve our docs and organization to make docs less of a dirty word?

… documentation comes in all shapes and sizes, internal and external. Different types of docs require different voice, tone, formatting, contributors, audience, and content.

Organizational Proposals

  1. The edX space operates as the highest level directory and has links to departments and theme spaces for discoverability.

  2. Departments & Functions - Departments and functions each get their own space. They contain docs that are helpful across team/theme/org boundaries (e.g. Brand, UX, HR, Data Engineering) like reference, end-user docs, and projects scoped to the department (e.g. brand guidelines, HR reference, architecture docs). Note that some of these spaces (e.g. Brand, Engineering) should inherently be public, while others (e.g. HR, IT, Eng-internal) should be internal only. Spaces should clearly identify the audience, in the space title or landing page and have access rights set accordingly.

  3. Themes - Themes also each get their own space, linked from the edX space for visibility. They are a cross-functional organization of resources around a theme (e.g. Content, Engagement).

    1. Themes should link to the teams on a theme for discoverability.

    2. Projects may also be created as pages on a theme level for cross-team (but theme-internal) projects.

  4. Teams - Teams get their own spaces for internal documentation and collaboration. Internally they may do what they please but should be linked from the owning theme and have some basic external-facing info (see further down the page in Teams to see what should be in a team space).

  5. Projects - Projects of sufficient complexity should be entered into Confluence, establishing a landing page for schedules/docs/decisions. They may either get their own spaces or be a page/folder under a specific Team/Theme, whichever is the appropriate owner or provides appropriate access rights.

  6. Working Groups - Groups or initiatives that don’t have clear functional or theme owners (e.g. Security Working Group, DEI, Hackathon). Like projects, they may chose to create their own spaces or exist as a page tree under an appropriate owner (probably edX, except for function-specific groups like Security Working Group).

Rationale -

  • Having a highest-level space act as a directory makes other parts of the org discoverable. Structuring our docs like we structure our organization helps enforce mental models that make traversing the docs (and org) easier.

  • Continuing to use department/function spaces allows functional docs (e.g. engineering, HR) to be broadly accessible across the org and to control internal/external access.

  • Docs and access rights are most commonly scoped to a space. Allowing for the creation of more spaces allows individual teams/projects/themes to internally organize in the best way for them.

  • Use of linking allows for discovery of disconnected spaces.

  • Providing “external” info on each project/team allows for outside project/team members to understand how to interact with or contact the project/team.

Sample Doc Hierarchy

Example map. Highest-level bullets are spaces. Sub bullets are pages/folders. Elements in brackets are placeholders for actual themes/teams/projects.

  • edX

    • Departments & Functions → Links to ENG, IT, HR, etc.

    • Working Groups →links to Hackathon, DEI, etc.

    • Themes → links to Content, Engagement, etc.

  • [ Department - e.g. ENG ]

    • Reference docs & folders as appropriate

  • [ Theme - e.g. Content ]

    • Teams → links to team spaces, e.g. [ Team 1 ], [ Team 2 ]

    • Projects → link to project spaces

  • [ Team - e.g. Aurora ]

    • Projects → pages or links to pages the team owns

  • [ Project - e.g. Enhanced Staff Grader ]

Teams / Working Groups

Team pages are used for organizing groups of people (this applies both to teams/squads and working groups). Their landing page (e.g. /wiki/spaces/PT/pages/1054113880 ) is used for outside-team members to learn about and contact the team. Internally, they may structure their docs however they like, following previously documented guidance for docs that have a broader audience. The template of required fields:

  1. Membership - Who is on the team?

  2. Past names - What are past names for the team?

  3. Contact info - How does the team preferred to be contacted by people outside their team?

  4. Docs - Where does the team store in-progress or other internal documentation?

  5. Links - Utilize page bookmarks for helpful links like retro boards, slack channels, Jira board.

Rationale - Particularly with lots of team/org changes, tracking who is where, who owns what, and how to contact them have been repeated refrains. By clearly indicating who is on teams, what the team used to be called, and how to contact, we remove having to have a mental model of how the org has evolved.

Projects

Project pages are for centralizing information about a project. They should be viewed as the source of truth for decisions/docs surrounding a project or feature.

Projects should exist a the lowest level of access to still be accessed by all stakeholders (a project for a team may exist in a team’s project folder, but a project with multiple on-theme teams should exist at the theme project level).

Project pages should answer the following:

  1. Problem definition/summary - What is the project trying to accomplish?

  2. Membership - Who (individuals or teams) is working on the project and who has the final say on project decisions?

  3. Doc links - Relevant links to Jira epics/features, design docs, etc. This is where canonical info lives and should be seen as source of truth.

Rationale - A consistent issue with collaboration/communication is having a clear, centralized location for docs and decisions. Teams are small enough where they might be able to keep it all “in their heads” but, for cross-team projects, we need better ways of organizing multiple minds. This removes the difficulty with discovering different docs and worrying whether they’re out of date. Identifying the key decision maker also removes the ambiguity of wondering who has the final say on a design decision.

  • No labels