diff --git a/README.md b/README.md index a72b56ab51..b2eb7ccfb4 100644 --- a/README.md +++ b/README.md @@ -29,16 +29,15 @@ Helpdesk - -# Table of contents +Table of Contents +================= - [Overview](#overview) - [Contribute](#contribute) @@ -51,7 +50,7 @@ - [Why is this on Github?](#why-is-this-on-github) - [Meetings](#meetings) - [Daily standup](#daily-standup) - - [Monday all-hands](#monday-all-hands) + - [Tuesday all-hands](#tuesday-all-hands) - [Release meeting](#release-meeting) - [OKR System](#okr-system) - [Assignment](#assignment) @@ -63,14 +62,14 @@ - [Branding](#branding) - [Testnet Directory](#testnet-directory) - [Roles](#roles) - - [Release Manager](#release-manager) - - [Specification Lead and Committee](#specification-lead-and-committee) + - [Tracking Issues](#tracking-issues) + - [Milestones](#milestones) - [Step-by-step Process](#step-by-step-process) - [Github Policy](#github-policy) # Overview -This landing repo as meant as a the best starting place to get a coherent view of how information is organised in this GitHub organization. +This landing repo is intended to be the best starting place to get a coherent view of how information is organised in this GitHub organization. # Contribute @@ -84,7 +83,7 @@ The central repos will have multiple members of the core team with write access, The core team, maintainers and outside contributors are encouraged to follow these general guidelines when contributing to the code repositories: * All contributions should be via pull requests. -* Do not create arbitrary branches or push directly to the central repo `master` or `development` branches +* Do not create arbitrary branches or push directly to the central repo `master` or `development` branches. * Do not force push branches. * Avoid rebasing branches of open PRs to help preserve conversation history. * Authors must always request a review for their PRs, Exception: It does not alter any logic (e.g. comments, dependencies, docs, file organisation), then it may merged once CI checks are complete. @@ -93,13 +92,13 @@ The core team, maintainers and outside contributors are encouraged to follow the * When the maintainer is opening a PRs they must still request review from a core team member. Each repository may have contributing guidelines detailed in their README files. -Maintainer must ensure this contribution section is linked to as the base guideline. +The maintainer must ensure this contribution section is linked to as the base guideline. -Documentation, Project management and other or non-code repositories should try to follow similar PR etiquette if it makes sense but exceptions can be made as changes usually don't require the same level of review. +Documentation, project management and other or non-code repositories should try to follow similar PR etiquette if it makes sense but exceptions can be made as changes usually don't require the same level of review. # Repository Index -This is the set of key repos that +This is the set of key repos to which this document refers: | Repo | Description | Maintainer | | :------------- | :------------- | :-----------: | @@ -122,32 +121,29 @@ Until the Joystream mainnet goes live, a sequence of test networks will be rolle [Acropolis](/testnets/acropolis/README.md) - ## Past Testnets | Network | Started | Ended | Release Plan | | ------------- | ------------- | ----- | ----- | | Athens | 17.04.19 | 24.06.19 | [Link](/testnets/athens/README.md) | -| Sparta | 28.02.19 | 29.03.19 | NA | -| Mesopotamia | 21.12.18 | 28.02.19 | NA | +| Sparta | 28.02.19 | 29.03.19 | N/A | +| Mesopotamia | 21.12.18 | 28.02.19 | N/A |
-## Why is this on Github? +## Why is this on GitHub? -The reason this is placed in public view on Github is two fold +The reason this is placed in public view on GitHub is two fold: -- **Open Invitation:** Serve as an open invitation for anyone who wants to learn, comment and possibly contribute, to the current or future development of the Joystream project. +- **Open Invitation:** Serves as an open invitation for anyone who wants to learn, comment and possibly contribute, to the current or future development of the Joystream project. -- **Best Practices**: Establish best practices which can be replicated by the platform, when it is fully live, in how to collaboratively build and manage the platform using open tools. In particular, the current plan is that the platform has a built in Github equivalent, which thus would allow the use of these conventions. +- **Best Practices**: Establish best practices which can be replicated by the platform, when it is fully live, in how to collaboratively build and manage the platform using open tools. In particular, the current plan is that the platform has a built-in GitHub equivalent, which thus would allow the use of these conventions.
@@ -164,19 +160,19 @@ Meeting itineraries are prepared on a case by case basis, depending on the conte - **Description:** Everyone states, within 1 minute, what they accomplished the prior day, and what the goals are for the day. After this, people can start separate calls which need not be conducted in plenum. - **When:** Every day at 10am (GMT) - **Where:** Zoom -- **Participant:** Core Jsgenesis team _must_ be present, any one else is welcome (join Rocket.Chat for invite). +- **Participant:** Core Jsgenesis team _must_ be present, any one else is welcome (join Telegram for invite). - **Record&Publish:** YES, if no participant objects. -#### Monday all-hands +#### Tuesday all-hands - **Description:** Everyone states individual: 1. **OKR Tracking**: Track your OKRs and OKR assignments 2. **Health Comments:** Any points you wish to discuss related to things like team health, code health, workflow/system health etc. 3. **Weekly Priorities:** Your top 3-5 priorities this week. *Not* the same as your tasks today. 4. **Announcements:** Anything you think should be brought to everyone's attention. -- **When:** Every working Monday at 10am (GMT) +- **When:** Every working Tuesday at 10am (GMT) - **Where:** Zoom -- **Participant:** Core Jsgenesis team _must_ be present, any one else is welcome (join Rocket.Chat for invite). +- **Participant:** Core Jsgenesis team _must_ be present, any one else is welcome (join Telegram for invite). - **Record&Publish:** YES, if no participant objects. #### Release meeting @@ -184,7 +180,7 @@ Meeting itineraries are prepared on a case by case basis, depending on the conte - **Description:** Discussion concerning testnet planning and release. - **When:** On-demand - **Where:** Zoom -- **Participant:** Core release team _must_ be present, any one else is welcome (join Rocket.Chat for invite). +- **Participant:** Core release team _must_ be present, any one else is welcome (join Telegram for invite). - **Record&Publish:** YES, if no participant objects.
@@ -198,7 +194,7 @@ A key result can be _assigned_ to a mix of people or other objectives. The _assi ### OKR types -The OKRs can be classified into two separate families of types, first +The OKRs can be classified into two separate families of types, first: - **Project OKRs**: Project OKRs can run over multiple years and are graded very rarely. They contain the root objectives that require no deeper justification. Every other objective must be justified directly, or indirectly through another key result, by virtue of its relevance to the project OKRs. The current set of such OKRs can be found [below](#project-okrs). @@ -206,7 +202,7 @@ The OKRs can be classified into two separate families of types, first - **Release OKRs**: Releases are planned one after the other on a rolling basis, and the release OKRs correspond to a single release. Only OKRs which have independent objectives are formally referred to as release OKRs, any derivative OKR is not, even if derived at in the context of a release. The current set of such OKRs can be found [below](#release-okrs) -and then second +and then second: - **Group OKRs**: Group OKRs are defined by the set of stakeholders assigned to the key results, and in particular that there is more than one person involved. Typically this could be a set of people working as a team on some topic or problem. In principle, such an OKR can be rationalised by a mix of release and quarterly OKRs, but in practice it will most often just be one or the other. These OKRs should be flexible in time scope, and should be reorganized if circumstances change. The current set of such OKRs can be found [below](#group-okrs). @@ -232,19 +228,19 @@ In order to keep track of whether a key result, and thus the corresponding objec ![alt text](img/KR-Weighting.svg "Key Result ") -Briefly, do a topological sort of the key result graph, where having an objective in the result assignment set counts towards the indegree. Then just do ascending weighted averaging of scores, where key results are simply averaged into objective scores. Importantly, in order to do this, one has to get personal scores on key results, and there are two modes of doing this +Briefly, do a topological sort of the key result graph, where having an objective in the result assignment set counts towards the indegree. Then just do ascending weighted averaging of scores, where key results are simply averaged into objective scores. Importantly, in order to do this, one has to get personal scores on key results, and there are two modes of doing this: - **Naive (n)**: Simply evaluate the key result statement directly based on available data at the time. For example, if the result is `Get $100 in revenue`, and one has $20 so far, then the score would be 0.2. This method is often suitable, but no if partial work is unlikely to have had any real world effects while tracking. - **Estimate of Work Done (ewd)**: Fraction of estimated total hours required that have been completed. This means that, if the estimate of total time required changes, then the score can change, even there is not change in actual hours completed. -The mode used depend on the nature of the key result. +The mode used depends on the nature of the key result. ### Template The template used for recording and tracking OKRs has the following form: -## Objective: `` +## Objective: `` - **Active from:** `` - **KR Measurement Deadline**: `` - **Tracked**: `