Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 10 additions & 24 deletions proposals/project-management/README.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
# WoT Project Management Process

> [!NOTE]
> [!NOTE]
> Proposal Status: Accepted

The main question to answer is "How do we organize the work?".
We want to have one place to look for the list of "work" to do in a short period.
To do that, a prioritization should happen and should be aligned with use cases and requirements.
To do that, a prioritization should happen and should be aligned with user stories, use cases and requirements.
This allows us to limit the load of a person per 1-2 week time frame and thus prioritize certain issues/topics.

## Current Process

- We have a table in a GitHub project managed by the TD TF
- We have a table in a GitHub project managed by the TD TF. See <https://github.com/orgs/w3c/projects/80>
- Once the TF is comfortable with the approach, no other information is needed. Until then, the lifecycle diagram below represents how the work goes through over time.

![lifecycle](./lifecycle.drawio.png)

- **Step 0:** An issue shows up.
- **Step 1:** The TF acts fast to categorize and refine it. The steps are detailed below and reflected also in the sorting table example towards the end. Step 2, 3 or 4 is picked based on categorization in this step. The initial categorization can happen outside of the calls but issues that need thorough analysis and refinement would typically in a meeting.
1. **Left Path:** The issue is identified to have Use Case relevant content where a deeper understanding is needed. In **Step 2** It is moved to the Use Cases repository.
2. **Right Path:** The issue is created by the Use Cases TF. In **Step 3** the TD TF analyzes it, which can result in smaller issues, more description etc. This is also reflected in the sorting table. Note that this is closely related with the [Use Cases Process](https://github.com/w3c/wot-usecases/blob/main/Process.md) where the result of the gap analysis and feature definition are the inputs to this point.
3. **Middle Path:** The issue is identified to be handled by the TF alone. These are issues about tooling, editorial fixes, etc. The TF labels it and moves it to the relevant column in the sorting table.
- Note: During the refinement of an issue (understanding, labeling) in step 3 or step 4, it is placed in a column in the sorting table based on the category. Categories such as `bindings`, `data mapping`, `tooling`, which are [work items](https://github.com/w3c/wot/blob/main/planning/ThingDescription/work-items.md) (big topics), are separate a columns. Categories such as `editorial`, `bug` are grouped in one column called `other`.
- **Step 0:** An issue shows up. It can be using the user story template or the blank template.
- **Step 1:** Depending if the issue is a user story or not, a different path is taken.
1. **Right Path:** If the issue is a user story, it needs to be checked if it is a complex one that requires thorough analysis or not.
2. **Middle Path:** If the issue is about TF tasks or simple fixes, it will be handled by the TF participants based on the category.
- **Step 2:** If the user story is complex to realize, it needs a thorough analysis. There can be other related issues, user stories or previous discussions, which make it difficult to specify the feature with a single Pull Request. These are typically significant features.
- **Step 3:** An analysis document is created following [the template](../../planning/work-items/analysis/analysis-mytopic.template.md).
- **Step 4:** The issue is assigned to one or more persons based on who is most suited, has more motivation etc. but not based on their availability.
- **Step 5:** Based on people's availabilities and priorities set by the TF and WG as a whole, the issue is moved to "in progress". This indicates that this issue is being addressed by one or more persons and is part of the agenda until resolved.
- Note: We need further discussion on how we prioritize items.
- **Step 6:** The result of the work happens in a Pull Request to the Editor's Draft. In that stage, the issue is moved to "In Review". The Pull Request can be merged asynchronously based on the agreement in the [WG Policy](https://github.com/w3c/wot/blob/main/policies/async-decision.md). Once it is merged, it is part of the Editor's Draft and the issue is closed and removed from the board.
- **Step 6:** The result of the work happens in a Pull Request (or multiple) to the Editor's Draft. In that stage, the issue is moved to "In Review". The Pull Request can be merged asynchronously based on the agreement in the [WG Policy](https://github.com/w3c/wot/blob/main/policies/async-decision.md). Once it is merged, it is part of the Editor's Draft and the issue is closed and removed from the board.
- **Step 7:** Based on the nature of the change , it can require implementations to demonstrate implementability.
- **Step 8:** If the change is an RFC assertion, we need to show its implementability before it can be in the final REC.
- **Step 9:** If not, it can be in the REC without any further effort. Note that in both cases the WG needs to reach consensus or in the case of REC-track documents, the entire W3C needs to support it as part of the deliverable.
Expand All @@ -44,17 +44,3 @@ The lifecycle is also reflected in a table below. The example below can be consi
## To Do

- Create issue templates for necessary items

## Archive

### Opinions

- Ege Korkan:
- Ideally, we should discuss our requirements and what people want to see. Mandating a mechanism that the moderators like but is disliked by everyone else should be avoided.
- The goal is to make it more systematic than "copy-pasting the agenda, look into issues and PRs"
- The process for generating features from use cases should be taken into account
- We can use a tool like GitHub Projects. A premature example is available at <https://github.com/orgs/w3c/projects/31> (this project is now deleted and an up to date one is available at <https://github.com/orgs/w3c/projects/80>)
- Mahda Noura: Only assigning an issue is not enough, because the number can increase and we can lose oversight/prioritization.
- Cristiano Aguzzi: Assigning should happen when you know that person can do it in 1-2 weeks.
- Jan Romann: Splitting issues definitely helps. We should limit the workload of an issue in the beginning or use checkboxes per small item and open a "spinoff" issue.
- Kazuyuki Ashimura: We should think of what we have been doing so far.
2 changes: 1 addition & 1 deletion proposals/project-management/kanbanidea.drawio
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="Electron" modified="2024-05-29T12:35:47.100Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="ivot4zG4uFqBIJ-uujVq" version="20.8.16" type="device" pages="2"><diagram id="wFE0QG_FPsp0jaGvCLVb" name="Kanban">7ZvbctowEIafhktmfALjy4SEpDNNmpZ0ci2wYqsxliuLmPTpu7Jl8IEQkxYsz/iCwVqd1r++7KykMDCnq80NQ5F/R10cDAzN3QzMq4Fh6KZmwZewvGUW2x5nBo8RVzbaGebkD5ZGTVrXxMVxqSGnNOAkKhuXNAzxkpdsiDGalJs906A8a4Q8XDPMlyioW5+Iy/3M6ujOzn6LiefnM2sT6fgK5Y2lIfaRS5OCybwemFNGKc+eVpspDoR4uS5Zv9k7tVvHGA55kw7a8+xhlNx85/g+/ubfzu614WJoZKO8omAtX1g6y99yBRhdhy4Wg2gD8zLxCcfzCC1FbQJrDjafrwIo6fAYc0ZftkqZYJETYMbx5l3P9a0eABKmK8zZGzTZlFmQCOl5OdktiJ7L7hcWw8qNSELgbYfe6QQPUqojZLNqsv0MYwqv6P6bfM805HPZ91xy2k3VPJWYo04w6CgH4bim2xRx7FEGQRQ41IbwuYfoIqaOiRd2A05HMTrtLtBp2srROanpdtEdCqt6tk6h0wUKRyPlKMw9KAj3JYTyA6Mew3HcARarqrbOoq53AUbbVA/GeradwvgDvxKcdADFqqbto2h2AUVHvQ2MXt/BZHERsRcSevD0VWSOyhNZlfaERNLFL3HAYGgBWuBAahbHIJ+h6bCHGQcw9uWCwZPH07fLLHGEwpKM499rsedPBRrG6YnHhRhDizZpNy2tSKS3osrStGxA2bM6BckNuT+PhMNkshbeg1R7gC3zKzensgewlj4NXMzKpyaHURoVVkiyV2DmqD84Yx830BeQfKSR5G5HoahGbClPjRwoRZSEPHV+dDkYXcnhZmhFAkHIA2YrFAq2DO0OUMdMeIOW/prhG+Ha1UR0IUHwlMOi/x9Qa4cY4z2kWntI/UQIgKKE9UNwLYW53bkEyxbTUH/f11MjPu4Rb7Bpqh6RqIG43SHEjfYQt3vEj0d8b75xfsSdHvEmiE96xI9H3Jwogfi4Q4i3mKg4PeINTtSqp+VqJCpih9AZxtsL44XL857xxowrkqmofE6iThgvrW2PeEPEFclU9APcKMd4i2Hc6BlvcONSvVJVJFUxO8R4i3Hc7Bk/nnFFUpVuhPFzkWz1JDe4jaz+z4Ea0droUS6i3N9XNjkGVJJk/UC+qhDJWd5xIEc6NeL9Zc4n9o+WczbGobj74UfatPDzGfP6Lw==</diagram><diagram id="vpyX57xqZwnOaFDzbV58" name="Lifecycle">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</diagram></mxfile>
<mxfile host="Electron" modified="2025-05-20T13:47:24.559Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/20.8.16 Chrome/106.0.5249.199 Electron/21.4.0 Safari/537.36" etag="XHd9oVqfwRGJ7ra5CnPC" version="20.8.16" type="device" pages="2"><diagram id="wFE0QG_FPsp0jaGvCLVb" name="Kanban">7Ztdb9owFIZ/DZdI+QRy2dJCJ61dNzb12hA38RrizDEN3a/fceJAPigL3SCOlAtE/Dp2Tl4/tY7tMjCn6+2coci/py4OBobmbgfmzcAwdHuswZdQ3qSiTaxM8RhxpbYXFuQ3zm+U6oa4OC7dyCkNOInK4oqGIV7xkoYYo0n5tmcalJ8aIQ/XhMUKBXX1ibjcz1RHd/b6HSaez3fvJwNfo/xmKcQ+cmlSkMzbgTlllPLsar2d4kC4l/uStZu9U7sLjOGQN2mgPc8e7WT+leOH+It/N3vQhsuhkfXyioKNfGEZLH/LHWB0E7pYdKINzOvEJxwvIrQStQkMOmg+XwdQ0uEy5oy+7JwyQamHKSN/xYzjbUGSYc8xXWPO3uCWbZmFnKG8nOwHRM9t9wuDYeUikhB4u673PsGFtOoE26yabT/CmML7uP9m3zMN+UK2vZSd46ZunstMuxMMOspBOKr5NkUce5TBJAocakP4PMDsIh4dEy/sBpyOYnSOu0CnOVaOzknNt6vuUFj1s3UKnS5QaNvKUZhHUDDuUwjlR0Y9huO4AyxWXW2dRV2veaogjGNTPRjr2XYK4zf8SnDSARSrnraPotkFFB31FjB6fQWTzYuIvZDQg6vPInNUnsiqtWckki5/ig0GQwvQEgfSszgG+wxNhzXMKIC+r5cMrjyevl2mxBEKSzaOfm3Emj81aBinOx5Xog8t2qbNtLQikdGKKkvTsg5ly+ojSC7k8XwnHB4ma+E9SLUFaFlcuZyORABj6dPAxay8a3IcJbswQpK9AjMn/cEZh7iBtoDkdxpJ7vYUimrEVnLXyIFSREnI0+Dt64F9I7uboTUJBCGPmK1RKHAztHtAHTMRDVr5G4bnIrSbiWhCguAph0X/P6DWNjFGB0i1DpD6gSkAihLWv4JrKcztPiQYtpiG+vuxnhvxUY94g0VTdYtEDcTHHULcaA/xcY/46YgfzDcuj7jTI94E8UmP+OmImxMlEB91CPEWExWnR7zBjlp1t1yNREWsEDrDeHvTeOHwvGe8MeOKZCoq75OoM42XxrZHvCHiimQq+hFulGO8xWnc6BlvcOJSPVJVJFUxO8R4i/O42TN+OuOKpCrdmMYvRbLVk9zgNLL6PwdqzNZGj3IR5f68ssk2oJIk60fyVYVIzvKOIznSuRHvD3M+sH60nIsxDsX9Dz/SWwu/nzFv/wA=</diagram><diagram id="vpyX57xqZwnOaFDzbV58" name="Lifecycle">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</diagram></mxfile>
Binary file modified proposals/project-management/lifecycle.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading