From 5386e3a435a22be396236442f3fa35532b777f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 16 Jan 2023 15:42:14 -0600 Subject: [PATCH 01/31] add KSv2 file --- contributingGuides/KSv2.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 contributingGuides/KSv2.md diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md new file mode 100644 index 000000000000..e51e2252c021 --- /dev/null +++ b/contributingGuides/KSv2.md @@ -0,0 +1,14 @@ +In Expensify we have an engineering prioritization process called "Kernel Scheduler v2" (KSv2). This system prioritizes tasks based on time priorities: + +Hourly: If a Github issue has the Hourly label, the assignee should update it *at least* once an hour + +Daily: If a Github issue has the Daily label, the assignee should update it *at least* once a day + +Weekly: If a Github issue has the Weekly label, the assignee should update it *at least* once a week + +Monthly: If a Github issue has the Monthly label, the assignee should update it *at least* once a month. + +If a GitHub issue has the Overdue label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). + +You can install the KSv2 extension from here. Every day, before you start working on things, go to the K2 dashboard. At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! + From 070a166b121e8ebca7842f318030cbd7c5365452 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 16 Jan 2023 15:43:51 -0600 Subject: [PATCH 02/31] format text in markdown --- contributingGuides/KSv2.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index e51e2252c021..6616a81f2dad 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -1,14 +1,14 @@ In Expensify we have an engineering prioritization process called "Kernel Scheduler v2" (KSv2). This system prioritizes tasks based on time priorities: -Hourly: If a Github issue has the Hourly label, the assignee should update it *at least* once an hour +**Hourly**: If a Github issue has the `Hourly` label, the assignee should update it *at least* once an hour -Daily: If a Github issue has the Daily label, the assignee should update it *at least* once a day +**Daily**: If a Github issue has the `Daily` label, the assignee should update it *at least* once a day -Weekly: If a Github issue has the Weekly label, the assignee should update it *at least* once a week +**Weekly**: If a Github issue has the `Weekly` label, the assignee should update it *at least* once a week -Monthly: If a Github issue has the Monthly label, the assignee should update it *at least* once a month. +**Monthly**: If a Github issue has the `Monthly` label, the assignee should update it *at least* once a month. -If a GitHub issue has the Overdue label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). +If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). You can install the KSv2 extension from here. Every day, before you start working on things, go to the K2 dashboard. At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! From a3393c2de6ca661e9b3cff10200075855a9acb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 16 Jan 2023 16:29:32 -0600 Subject: [PATCH 03/31] link k2 repo --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 6616a81f2dad..767c397896c8 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -10,5 +10,5 @@ In Expensify we have an engineering prioritization process called "Kernel Schedu If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). -You can install the KSv2 extension from here. Every day, before you start working on things, go to the K2 dashboard. At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! +You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on things, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! From 60d8f12a1b83e6dcfbbe7acae4b3ad9dd6079c0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 16 Jan 2023 17:05:31 -0600 Subject: [PATCH 04/31] add header --- contributingGuides/KSv2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 767c397896c8..9bfbf295bbd8 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -1,3 +1,5 @@ +# K2v2 + In Expensify we have an engineering prioritization process called "Kernel Scheduler v2" (KSv2). This system prioritizes tasks based on time priorities: **Hourly**: If a Github issue has the `Hourly` label, the assignee should update it *at least* once an hour From 34dc6d81f3a5c9938b70c513c2634bb74a5bfcc9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 16 Jan 2023 17:13:46 -0600 Subject: [PATCH 05/31] add sub-header Installation --- contributingGuides/KSv2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 9bfbf295bbd8..c8bed214608b 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -12,5 +12,7 @@ In Expensify we have an engineering prioritization process called "Kernel Schedu If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). +## Installation + You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on things, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! From 7c52ca22a3750382aae13d3b16293a4111fe6f1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 11:23:13 -0600 Subject: [PATCH 06/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 9bfbf295bbd8..b48ecd2bce52 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -12,5 +12,5 @@ In Expensify we have an engineering prioritization process called "Kernel Schedu If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). -You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on things, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues and anything with red text is overdue. Take time to address each overdue issue. That's it! +You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From f374db867183df01e436fd83f4afa9b716f99ef2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 11:23:29 -0600 Subject: [PATCH 07/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index b48ecd2bce52..cddad2b88791 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -1,4 +1,4 @@ -# K2v2 +# KSv2 In Expensify we have an engineering prioritization process called "Kernel Scheduler v2" (KSv2). This system prioritizes tasks based on time priorities: From 6c1bcea1ec6602521f54130e654c5e4e4e924e61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 11:45:40 -0600 Subject: [PATCH 08/31] re-write first sentence --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index cddad2b88791..692ef817017f 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -1,6 +1,6 @@ # KSv2 -In Expensify we have an engineering prioritization process called "Kernel Scheduler v2" (KSv2). This system prioritizes tasks based on time priorities: +In Expensify, we have a task prioritization process called "Kernel Scheduler v2" (KSv2) that organizes GH issues based on their time urgency: **Hourly**: If a Github issue has the `Hourly` label, the assignee should update it *at least* once an hour From 0be2676fa7511b5ddf4e3e6a9c8e01f1c0f1e8da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 12:08:35 -0600 Subject: [PATCH 09/31] update first paragraph based on an existing SO --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 692ef817017f..014b582f2e76 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -1,6 +1,6 @@ # KSv2 -In Expensify, we have a task prioritization process called "Kernel Scheduler v2" (KSv2) that organizes GH issues based on their time urgency: +In Expensify, we use a prioritization system called called "Kernel Scheduler v2" (KSv2) to help us keep aligned on how frequently GitHub issues should be worked on, depending on their time priority: **Hourly**: If a Github issue has the `Hourly` label, the assignee should update it *at least* once an hour From 14eb88f5a62d0b4c19d565515c1d985f64144d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 12:14:24 -0600 Subject: [PATCH 10/31] explain the k2 dashboard --- contributingGuides/KSv2.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 014b582f2e76..402c773ba1ec 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -10,6 +10,12 @@ In Expensify, we use a prioritization system called called "Kernel Scheduler v2" **Monthly**: If a Github issue has the `Monthly` label, the assignee should update it *at least* once a month. +To help surface the issues that need the most #urgency, we've built a custom extension to use in GitHub. It looks like this: + + + +In the dashboard, you can see all your issues broken down from urgent to least urgent. Issues will also change color depending on other factors - eg, if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. + If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From 08559aeb702fdb103da1389bbfcf1fa78f1a0b5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Tue, 17 Jan 2023 12:15:12 -0600 Subject: [PATCH 11/31] add sub-headers --- contributingGuides/KSv2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 402c773ba1ec..1ba87fd343aa 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -10,6 +10,8 @@ In Expensify, we use a prioritization system called called "Kernel Scheduler v2" **Monthly**: If a Github issue has the `Monthly` label, the assignee should update it *at least* once a month. +## Dashboard + To help surface the issues that need the most #urgency, we've built a custom extension to use in GitHub. It looks like this: @@ -18,5 +20,7 @@ In the dashboard, you can see all your issues broken down from urgent to least u If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). +## Installation + You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From 2f0c21eb9e937d622225a76b543bcd100dec1aa6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 09:59:31 -0600 Subject: [PATCH 12/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 1ba87fd343aa..ebff738ef91a 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -24,3 +24,7 @@ If a GitHub issue has the `Overdue` label, it means that it hasn't been updated You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! +## Why is it called "Kernel Scheduler v2?" +KSv2 is a shout-out to Windows 95 improving the kernel scheduler used in Windows 3.1. In Windows 3.1, if a program was in the foreground, it was given 100% of the CPU time. This meant that if you watched a background application like the clock, it wouldn't update its time until the foreground application was no longer in the foreground. Then the clock could "catch up" and update to show the current time. Windows 95 made it so that background applications could update by dedicating a small amount of the foreground CPU usage as "spare cycles" for background apps to use. This meant that the clock could now update in real-time, even though it was running in the background. + +We brought the same thinking to GitHub priority. A monthly issue is like the "background app". Rather than never getting any work done on it ever, we say that it should have _something_ done on it once a month. It doesn't need to be closed or completed, but it should have something done to it. That way most of a developer's bandwidth can be used on the high-priority items that are hourly and daily, yet still, make some progress on weekly and monthly issues. From 385a27e2ac3f8820ac551e3e19d178c84232afc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 09:59:40 -0600 Subject: [PATCH 13/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index ebff738ef91a..dcd08b0c06d5 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -16,7 +16,7 @@ To help surface the issues that need the most #urgency, we've built a custom ext -In the dashboard, you can see all your issues broken down from urgent to least urgent. Issues will also change color depending on other factors - eg, if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. +In the dashboard, you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). From 0c424aad80345f96876c2ce6e3b8e5442b69f795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 10:30:27 -0600 Subject: [PATCH 14/31] update dashboard image and add PR reviewer explanation --- contributingGuides/KSv2.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index dcd08b0c06d5..a87f0006a0d9 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -12,11 +12,13 @@ In Expensify, we use a prioritization system called called "Kernel Scheduler v2" ## Dashboard -To help surface the issues that need the most #urgency, we've built a custom extension to use in GitHub. It looks like this: +To help surface the issues and PRs that need the most #urgency, we've built a custom extension to use in GitHub. It looks like this: - + -In the dashboard, you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. +In the dashboard, you can first see the PRs assigned to you as Reviewer. An engineer should review other people's code before working on their own code. + +Then you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). From 50cacab5497ff0b08c5af290c3e6236d8f5dcf8f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 10:31:28 -0600 Subject: [PATCH 15/31] format a few words --- contributingGuides/KSv2.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index a87f0006a0d9..2b886cde9fe0 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -12,11 +12,11 @@ In Expensify, we use a prioritization system called called "Kernel Scheduler v2" ## Dashboard -To help surface the issues and PRs that need the most #urgency, we've built a custom extension to use in GitHub. It looks like this: +To help surface the issues and PRs that need the most `#urgency`, we've built a custom extension to use in GitHub. It looks like this: -In the dashboard, you can first see the PRs assigned to you as Reviewer. An engineer should review other people's code before working on their own code. +In the dashboard, you can first see the PRs assigned to you as `Reviewer`. An engineer should review other people's code before working on their own code. Then you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. From 6f69293ec758fd7fa07daf5387fb0c9b7daaf0c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 10:39:45 -0600 Subject: [PATCH 16/31] add your PR section and sub-headers --- contributingGuides/KSv2.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 2b886cde9fe0..9300b50a8a36 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -16,12 +16,22 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a +## Pull Requests for review + In the dashboard, you can first see the PRs assigned to you as `Reviewer`. An engineer should review other people's code before working on their own code. +## Issues assigned to you + Then you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). +## Your Pull Requests + +After the issues section you will find your PRs: + + + ## Installation You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From 3f2abf77cc5fbca5045049be19016e2b7a610e33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sat, 21 Jan 2023 10:43:28 -0600 Subject: [PATCH 17/31] add WAQ section --- contributingGuides/KSv2.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 9300b50a8a36..83dd9417c155 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -28,10 +28,16 @@ If a GitHub issue has the `Overdue` label, it means that it hasn't been updated ## Your Pull Requests -After the issues section you will find your PRs: - +After the issues section you will find a section that lists your created PRs. + +## WAQ issues + + + +The dashboard also shows a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are). + ## Installation You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From e453188f9278fbc3d0e8e8312c65a3f364461f5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 23 Jan 2023 23:02:21 -0600 Subject: [PATCH 18/31] update wording --- contributingGuides/KSv2.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 83dd9417c155..eb8cb7929265 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -18,25 +18,25 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a ## Pull Requests for review -In the dashboard, you can first see the PRs assigned to you as `Reviewer`. An engineer should review other people's code before working on their own code. +In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As part of our engineering guidelines, an engineer (internal or external) should review other people's code before working on their own code. ## Issues assigned to you -Then you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. +In the next section you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). ## Your Pull Requests - +After the issues section you will find a section that lists your created PRs: -After the issues section you will find a section that lists your created PRs. + ## WAQ issues - +The dashboard also shows a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are): -The dashboard also shows a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are). + ## Installation From a6a7a3d1468f3fe6de6407886978381ad2d87488 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 23 Jan 2023 23:20:53 -0600 Subject: [PATCH 19/31] add explanation for label buttons and reviewer checklist --- contributingGuides/KSv2.md | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index eb8cb7929265..4f8592beedcf 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -16,28 +16,40 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a -## Pull Requests for review +### Pull Requests for review In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As part of our engineering guidelines, an engineer (internal or external) should review other people's code before working on their own code. -## Issues assigned to you +### Issues assigned to you In the next section you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). -## Your Pull Requests +### Your Pull Requests After the issues section you will find a section that lists your created PRs: -## WAQ issues +### WAQ issues The dashboard also shows a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are): +## Label buttons + +On the right side of GitHub issues, you’ll find buttons for the most common labels. Some of these labels are only for internal use, but there are other labels that can be used for public repos: + + + +## Reviewer Checklist button + +Additionally the extension provides a button that facilitates the creation of the Reviewer Checklist into a new comment: + + + ## Installation You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! From abb87b00fb6df269d18e636b987d5191098ae80e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:49:21 -0500 Subject: [PATCH 20/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 4f8592beedcf..4fec6006a586 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -22,7 +22,7 @@ In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As pa ### Issues assigned to you -In the next section you can see all issues assigned to you, prioritized from most urgent to least urgent. Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. +In the next section you can see all issues assigned to you, prioritized from most urgent (on the left) to least urgent (on the right). Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). From d9a61871941fb626cf08cd531ac1909633d073f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:49:47 -0500 Subject: [PATCH 21/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 4fec6006a586..c7625d3f6fc4 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -24,7 +24,7 @@ In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As pa In the next section you can see all issues assigned to you, prioritized from most urgent (on the left) to least urgent (on the right). Issues will also change color depending on other factors - e.g. if they have "HOLD" in the title or if they have the `Overdue`, `Planning`, or `Waiting for copy` labels applied. -If a GitHub issue has the `Overdue` label, it means that it hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). +If a GitHub issue has the `Overdue` label, the text will be red. This means that the issue hasn't been updated in the amount of time allotted for an update (ex - A weekly issue becomes overdue if it hasn't been updated in a week). ### Your Pull Requests From fc65b92480bb30e6b24228074bb977e0a7640cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:49:56 -0500 Subject: [PATCH 22/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index c7625d3f6fc4..40c14bdcd9a7 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -28,7 +28,7 @@ If a GitHub issue has the `Overdue` label, the text will be red. This means that ### Your Pull Requests -After the issues section you will find a section that lists your created PRs: +After the issues section you will find a section that lists the PRs you've created. From cac6bc508e1c1eff7a94481b16983e77a1d08855 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:50:05 -0500 Subject: [PATCH 23/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 40c14bdcd9a7..88390977062c 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -34,7 +34,7 @@ After the issues section you will find a section that lists the PRs you've creat ### WAQ issues -The dashboard also shows a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are): +This section displays a list of open issues in the App repo which are not on hold and don't have PRs yet, all ordered by their age (and grouped by how many weeks old they are): From 649610275ff58149cbe8dd97b148fff2849490fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:50:22 -0500 Subject: [PATCH 24/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 88390977062c..3148bc7f301b 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -40,7 +40,7 @@ This section displays a list of open issues in the App repo which are not on hol ## Label buttons -On the right side of GitHub issues, you’ll find buttons for the most common labels. Some of these labels are only for internal use, but there are other labels that can be used for public repos: +The page for a GitHub issue will have buttons on the right side for the most common labels. Some of these labels are only for internal use, but there are other labels that can be used for public repos: From 54cc432d24fbe5d1e3832f95a20609f9386e7018 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:50:34 -0500 Subject: [PATCH 25/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 3148bc7f301b..e0e5a10742e0 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -46,7 +46,7 @@ The page for a GitHub issue will have buttons on the right side for the most com ## Reviewer Checklist button -Additionally the extension provides a button that facilitates the creation of the Reviewer Checklist into a new comment: +Additionally, the extension provides a button that facilitates the creation of the Reviewer Checklist into a new comment: From 2fecd2acbf5987aa9a49bd6d11d1008290baefb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:51:08 -0500 Subject: [PATCH 26/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index e0e5a10742e0..b78c9554c455 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -52,7 +52,12 @@ Additionally, the extension provides a button that facilitates the creation of t ## Installation -You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). As a best practice, before you start working on assigned tasks, go to the [K2 dashboard](https://github.com/Expensify/Expensify#k2). At the top of the page, it lists all your assigned issues organized by priority. Anything with red text is overdue - make sure to address these first. That's it! +You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). + +## Best Practices +- Look at the dashboard every day +- Look at the dashboard first before you start any work +- Work your way down from the top to the bottom (look at PRs you need to review first > provide updates for issues assigned to you > check the progress on PRs you've written > find something new to work on) ## Why is it called "Kernel Scheduler v2?" KSv2 is a shout-out to Windows 95 improving the kernel scheduler used in Windows 3.1. In Windows 3.1, if a program was in the foreground, it was given 100% of the CPU time. This meant that if you watched a background application like the clock, it wouldn't update its time until the foreground application was no longer in the foreground. Then the clock could "catch up" and update to show the current time. Windows 95 made it so that background applications could update by dedicating a small amount of the foreground CPU usage as "spare cycles" for background apps to use. This meant that the clock could now update in real-time, even though it was running in the background. From 501bbbaf71af1d9992314461ac81e7957c8010c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Sun, 29 Jan 2023 21:51:55 -0500 Subject: [PATCH 27/31] Update contributingGuides/KSv2.md Co-authored-by: Tim Golen --- contributingGuides/KSv2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index b78c9554c455..5aa0621fb8ef 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -16,6 +16,8 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a +Once you have the extension installed, you can access it by going to https://github.com/Expensify/Expensify#k2 or clicking on the K2 tab at the top of a repo (between pull requests and GH actions). + ### Pull Requests for review In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As part of our engineering guidelines, an engineer (internal or external) should review other people's code before working on their own code. From 3e5f93ad602ad12566685004bce029d21098da23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 30 Jan 2023 10:33:31 -0500 Subject: [PATCH 28/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 5aa0621fb8ef..0c84642847d3 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -57,8 +57,7 @@ Additionally, the extension provides a button that facilitates the creation of t You can install the KSv2 extension from [here](https://github.com/Expensify/k2-extension/). ## Best Practices -- Look at the dashboard every day -- Look at the dashboard first before you start any work +- Look at the dashboard every day, before you start any work - Work your way down from the top to the bottom (look at PRs you need to review first > provide updates for issues assigned to you > check the progress on PRs you've written > find something new to work on) ## Why is it called "Kernel Scheduler v2?" From 439f5d7e18a1f17191dcd640daabe32bbe140385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 30 Jan 2023 10:34:20 -0500 Subject: [PATCH 29/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 0c84642847d3..ce0cadd69c0b 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -58,7 +58,11 @@ You can install the KSv2 extension from [here](https://github.com/Expensify/k2-e ## Best Practices - Look at the dashboard every day, before you start any work -- Work your way down from the top to the bottom (look at PRs you need to review first > provide updates for issues assigned to you > check the progress on PRs you've written > find something new to work on) +- Work your way down from the top to the bottom + 1. Look at PRs you need to review first + 2. Next, provide updates for issues assigned to you + 3. Check the progress on PRs you've written + 4. Finally, find something new to work on ## Why is it called "Kernel Scheduler v2?" KSv2 is a shout-out to Windows 95 improving the kernel scheduler used in Windows 3.1. In Windows 3.1, if a program was in the foreground, it was given 100% of the CPU time. This meant that if you watched a background application like the clock, it wouldn't update its time until the foreground application was no longer in the foreground. Then the clock could "catch up" and update to show the current time. Windows 95 made it so that background applications could update by dedicating a small amount of the foreground CPU usage as "spare cycles" for background apps to use. This meant that the clock could now update in real-time, even though it was running in the background. From b1745bc9c69e36ba3fbc369cd1d4d37954ebdb76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 30 Jan 2023 10:36:14 -0500 Subject: [PATCH 30/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index ce0cadd69c0b..74d582bd8ef8 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -16,7 +16,7 @@ To help surface the issues and PRs that need the most `#urgency`, we've built a -Once you have the extension installed, you can access it by going to https://github.com/Expensify/Expensify#k2 or clicking on the K2 tab at the top of a repo (between pull requests and GH actions). +Once you have the extension installed, you can access it by going to https://github.com/Expensify/Expensify#k2 or clicking on the K2 tab at the top of a repo (between pull requests and GH actions). You'll have to create a Personal Access Token in GitHub ([here](https://github.com/settings/tokens)) and enter that in the K2 dashboard the first time you open it, so that your K2 extension can automatically pull data about your GitHub account. ### Pull Requests for review From 05e4ef500c8dcc2f7553cf0ac61404f4c511edf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Ch=C3=A1vez?= Date: Mon, 30 Jan 2023 10:36:43 -0500 Subject: [PATCH 31/31] Update contributingGuides/KSv2.md Co-authored-by: Alex Beaman --- contributingGuides/KSv2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributingGuides/KSv2.md b/contributingGuides/KSv2.md index 74d582bd8ef8..056cb09df12c 100644 --- a/contributingGuides/KSv2.md +++ b/contributingGuides/KSv2.md @@ -20,7 +20,7 @@ Once you have the extension installed, you can access it by going to https://git ### Pull Requests for review -In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As part of our engineering guidelines, an engineer (internal or external) should review other people's code before working on their own code. +In the dashboard, you can first see the PRs assigned to you as `Reviewer`. As part of our engineering guidelines, an engineer (internal or external) should review other people's code before working on their own code. This helps unblock others so that everyone can be as efficient as possible getting stuff done. ### Issues assigned to you