diff --git a/proposals/project-management/README.md b/proposals/project-management/README.md index 3feb20a5a..8e0a08e8a 100644 --- a/proposals/project-management/README.md +++ b/proposals/project-management/README.md @@ -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 - 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 on whether 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 whether or not it is a complex one that requires thorough analysis. + 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. Other related issues, user stories, or previous discussions can 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 one or more Pull Requests to the Editor's Draft. In that stage, the issue is moved to "In Review". The Pull Request(s) can be merged asynchronously based on 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. @@ -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 (this project is now deleted and an up to date one is available at ) -- 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. diff --git a/proposals/project-management/kanbanidea.drawio b/proposals/project-management/kanbanidea.drawio index 08e9fff97..4abaca89b 100644 --- a/proposals/project-management/kanbanidea.drawio +++ b/proposals/project-management/kanbanidea.drawio @@ -1 +1 @@ -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==7Vtbd5s4EP4t++Cz7YN9EFfzmDiXpifJZuN02/RNBhmrwYgK+ZZfvxIIGxCJk9jYbps8OEgahPTNfKPRIFpGbzw/pzAeXREfhS1d8+ct46Sl611H57+iYpFV2JqsCCj2syqwqujjRyQrNVk7wT5KSoKMkJDhuFzpkShCHivVQUrJrCw2JGH5qTEMkFLR92Co1n7FPhvJWejaqv4TwsFIPtkFbtYwhrmslExG0CezQpVx2jJ6lBCWXY3nPRQK6HJYsvvOnmhdjouiiL3kBmdhm4Ojb/gfu+0B8PWf4PJm0DazXqYwnMj5ysGyRQ4AJZPIR6ITrWUcz0aYoX4MPdE64xrndSM2DnkJ8EsfJqNUVhSGOAx7JCSUlyMS8TuO1UHLeUwRZWheqJKTOEdkjBhdcBHZqptax8pukialGxLi2UpBoCvrRgXlGLYjDUMaRbDsfQUcv5DYvQJHYz2OXP+xuPQIjRBdDyUlDDJMIl50BfIpo4BpiUsxcWBp9RiXdLANwG2rY9olxNtupwsUzHXD6Bh6Deyu3XH1zZGn7WMbty3N/3EJhvGVj44fTtvWeuSRzxkti4SyEQlIBMPTVe3xysYFZiuZS0JiWfkDMbaQ7glOGCkri6NLF98ERzpWXryXlEkLJ/NSaSFLT6onIRPqoWfmnftCSAPEnpOTmhMgPKttikJub9Oy26tTl7z1hmA+5qWVGEaFlJpZ7iIbqbyrovTlMN5uB0CxA63DyxdJwsu61qMIMq7hp70bWE/JbZDJKcNkqp5Lr/FcttYQfbqHQZ85ZgX28NJ9oWXFHVHIqXPAlDN3Qzndsjpa4Q+ULAvoFQJm81MIqHQL7Lcx+YhSuCiIxUIgebnHAIb2qnFV5PlFNoKtuhX3MPjxRlt/C6825seuVxoA3mjolnaYhl4d104MfanlPRl2yaxXVr7OsAtmvTLyrRu2+VLP3wgDXmtvVsWsu2vMrSxumM0bG1D3nbqI1q7IVMRofIfPf77wvrVbFIvrKYb894YSD/kTKgK6D3fHJx/3Hs6BqguxaraiOw3olumGX2KB2oCT9ks56W6blBvpJx93wfRNYfpHSYKD6DB2KNX8iqXu9Xdr1EANw6x0dxdlXiGgKEkOEDnD3TdyebxaQC71qwVXWkGNT5aVoYEht0x+7XFo0syVgAR7MDySDWPs+6kfqcO4rIVivspHQzgJ2Ybg50GSXbOVBjVQ641BrSYBLwkUyxlHEEYejoKWbqfzHVB+FYgrGPmpNjChmOEky/j96irJ+dCtZmoN3c5r1qnJbExN1l4XSNB6VaD79gVSf3HQ2kyG8NVRazWUkhnmZnc9aiBqpKsx1+3iUazGVcJ+SOIQ82ELJ+qFkOIhFmK9FJ8h5iv4/qNS03xiY7uLZWj8H74b3foeetQR7AEP0uug7eyVczsLSnVH5VwtHlvPEG7mEh2FBfYyvDr1MSP0b85c7YTCIdu7dathlmXsPczq/koGvuO0oPvChSg3w8YTiFbVgEy70slLU4hqV1a1q4bfe+nq1shdcvf2tLd3uhpuFSJn73TNB1AA7WaS3naLfk5Qojq53yYENx1bBb+pfVLt2qdi3z0ogwUKp3dqsLWY7XfP0kT89FxYtH6l2FtOr3bY6kv0a1KrsEs4QOFb3QhFCX6Eg7Q/AbPcUPHOreOWdaJoXFXDc6al8GN5pE4+slU8tlbHm7bW6VquWWJOTvYNV2y3ttP8fjIcJmjTxbUWG/uPpd1znvtAWJcvWgXa3SM1C3yovMvfA2yDdw4n3mZEa55LaqbFyQ5otcT8qmmWoyQR+hDHH8/UiGBExoNJsj4aqI+r1qnr9VGWW42ybKBGDG5NwOA2FmSpURYQcPcgQwGh+LHuTdOhweo4SiCmxmHAUmFVjoS8Bdd+9G//LnbhWWSftK3FPLj4cl0TvPa5i09T+9pdytht7hzWux6xfCTZSiK6ThglD6hyILiZc9imY3bc4l955TdVVdURwNgCAW6u58b9/OJ6aIX39AHo3/3oc42isjesY5T6uz9MV6DqoKz8KPy6Lc02FDQbx6dh//Lx0u/6wHuIEjcwaxSUrwJJDKOSXuyfE/GVxLGXAXMk1rlg8EHL0u75v48pVtqQRKw9hGMcLjLRTyicIqGzQnumBtEK9HhebMgeKloiQscwLLRNIcWQ/+eah2xCxVcpz8p5MH5KZCYRFo2mlkVvWsjDQkTbfPrpu0LlTkLjEYxkl3pWJyy2LY1UVC/tNG/D3CdH8klaPtW0hVHe2ZD3nz9JWpswifSzmcJjZoT65YEt++JzGTxg3p3oM7PptjSqktwAeg9Buka0K3pMzxcIFRYvPhZG6iOP0PTVaJuNMDcg8bY/vR1HmOEcn6psQZfPyhWGU5IbhgSyKjg+TuIQLnLxEEfiNNJfeBzzdQBGWd4mN9g8mpFHmUI0FRLSzDlrMkvPZJ5yRjtIeLjVdRZoTqerOoi6b2q2kSaq9Q/6u3949w9/kH84MKfAre5lTsFu6PBGrVOo+87u3Sm8O4Xf0SncnbXEWxGumYh3fmj+wVD9Q1c9ZeI0FDFMP4Or7/3R93Pc9S7Ob+/uyHWdc7gYxyESO770VHl21u4OJXUfAu7vBV9NBlDRzNOxm62knpyal1VbOmHHi6sP1rPE4Oqjf+P0fw== \ No newline at end of file +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 \ No newline at end of file diff --git a/proposals/project-management/lifecycle.drawio.png b/proposals/project-management/lifecycle.drawio.png index 0ded9b72d..06e1ab517 100644 Binary files a/proposals/project-management/lifecycle.drawio.png and b/proposals/project-management/lifecycle.drawio.png differ