From cdec9258eed2da4da15bb37d178abf2ef12d11d8 Mon Sep 17 00:00:00 2001 From: Manfred Touron <94029+moul@users.noreply.github.com> Date: Sun, 1 Oct 2023 10:23:39 +0200 Subject: [PATCH 1/2] feat: workflows/criteria-based.md --- docs/engineering/workflows/criteria-based.md | 38 ++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 docs/engineering/workflows/criteria-based.md diff --git a/docs/engineering/workflows/criteria-based.md b/docs/engineering/workflows/criteria-based.md new file mode 100644 index 0000000..248f492 --- /dev/null +++ b/docs/engineering/workflows/criteria-based.md @@ -0,0 +1,38 @@ +# Criteria-Based Workflow + +This workflow serves projects or tasks that can be evaluated against clear, quantifiable criteria. It's especially beneficial for engagements where the objective is crystal clear, be it fixing a known bug, optimizing performance, or enhancing quality. + +## Principles + +- **Start with Measurement**: Every task begins with a clear, quantifiable metric, usually in the form of a unit test or benchmark. +- **Visibility**: Integrate benchmarks into the continuous integration system, ensuring that results are easily accessible and automated. +- **Iterative Enhancement**: The workflow is centered on continuous improvement against the defined criteria. +- **Open Collaboration**: Anyone can participate, given the clear and objective nature of the criteria. + +## Stages & Steps + +1. **Benchmark Creation**: + * Start by defining the measurable criteria — a unit test, performance benchmark, or quality metric. + * Integrate this benchmark into the continuous integration system, ensuring it's visible and runs automatically. + +2. **Initiate Work**: + * Open a Pull Request (PR) that includes the new criteria or benchmark. + * The first commit should ideally show the current status and mark the PR as red, indicating that it does not meet the criteria. + +3. **Development & Iteration**: + * Work on the task aiming to satisfy the set criteria. This could be fixing a known bug, optimizing for better performance, or any other quality improvement. + * Make incremental commits. Each commit should attempt to get the PR closer to the green status, indicating that the set criteria are being met. + +4. **Review & Verification**: + * Upon meeting the criteria (PR turns green), submit the changes for review. + * Reviewers should ensure not only that the criteria are met but also that the broader goals of the project remain aligned. + +5. **Merge & Documentation**: + * Once reviewed and approved, merge the PR. + * Document the improvements, changes, and the benchmark results. + +## Recommendations + +* **Constant Feedback Loop**: Regularly check the benchmark results to ensure alignment with the set criteria. +* **Engage the Community**: Given the clear nature of criteria, encourage community members to participate, contribute, and provide feedback. +* **Broaden Horizons**: While the focus is on meeting the set criteria, always consider the broader implications of changes to ensure the overall health of the project. From 3c95f826bedc3abe1ab3e1028f9a8d47fc80c0f2 Mon Sep 17 00:00:00 2001 From: moul <94029+moul@users.noreply.github.com> Date: Sun, 1 Oct 2023 10:56:23 +0200 Subject: [PATCH 2/2] chore: fixup Signed-off-by: moul <94029+moul@users.noreply.github.com> --- docs/engineering/workflows/criteria-based.md | 54 +++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/docs/engineering/workflows/criteria-based.md b/docs/engineering/workflows/criteria-based.md index 248f492..31ee566 100644 --- a/docs/engineering/workflows/criteria-based.md +++ b/docs/engineering/workflows/criteria-based.md @@ -1,38 +1,42 @@ # Criteria-Based Workflow -This workflow serves projects or tasks that can be evaluated against clear, quantifiable criteria. It's especially beneficial for engagements where the objective is crystal clear, be it fixing a known bug, optimizing performance, or enhancing quality. +This workflow excels in environments demanding precise, measurable objectives +such as bug fixes, performance boosts, tool-score augmentations, or KPI-driven +assignments. -## Principles +It's the perfect gateway for new contributors, whether they're +external aspirants aiming to prove their mettle or internal team members +venturing into unfamiliar project territory. + +The clarity of the tasks diminishes +risks and downplays the necessity for premature feedback. -- **Start with Measurement**: Every task begins with a clear, quantifiable metric, usually in the form of a unit test or benchmark. -- **Visibility**: Integrate benchmarks into the continuous integration system, ensuring that results are easily accessible and automated. -- **Iterative Enhancement**: The workflow is centered on continuous improvement against the defined criteria. -- **Open Collaboration**: Anyone can participate, given the clear and objective nature of the criteria. +## Principles -## Stages & Steps +- **Metrics First**: Initiate with unambiguous benchmarks, like unit tests. +- **Automated Transparency**: Integrate benchmarks into the CI system for accessible, automated outcomes. +- **Stepwise Enhancement**: Prioritize continuous betterment aligned with benchmarks. +- **Open Collaboration**: The definitive nature invites broad participation. -1. **Benchmark Creation**: - * Start by defining the measurable criteria — a unit test, performance benchmark, or quality metric. - * Integrate this benchmark into the continuous integration system, ensuring it's visible and runs automatically. +## Stages -2. **Initiate Work**: - * Open a Pull Request (PR) that includes the new criteria or benchmark. - * The first commit should ideally show the current status and mark the PR as red, indicating that it does not meet the criteria. +1. **Benchmark Onboarding**: + * Craft the metric—be it a unit test or performance indicator—and blend it into the CI system. + * Trigger a PR that reflects the metric's starting position, typically flagged in red. -3. **Development & Iteration**: - * Work on the task aiming to satisfy the set criteria. This could be fixing a known bug, optimizing for better performance, or any other quality improvement. - * Make incremental commits. Each commit should attempt to get the PR closer to the green status, indicating that the set criteria are being met. +2. **Iterative Progression**: + * Commit towards fulfilling the defined criteria with regular contributions. Each entry should steer the PR closer to a green metric standing. + * As possible, use a progress bar (or an equivalent visual aid) within the PR's README to transparently trace advancements. -4. **Review & Verification**: - * Upon meeting the criteria (PR turns green), submit the changes for review. - * Reviewers should ensure not only that the criteria are met but also that the broader goals of the project remain aligned. +3. **Assessment & Alignment**: + * Once the criteria are achieved, launch a review to ensure alterations resonate with the project's broader ambitions. -5. **Merge & Documentation**: - * Once reviewed and approved, merge the PR. - * Document the improvements, changes, and the benchmark results. +4. **Consolidation & Chronicle**: + * Post validation, integrate the PR. + * Document the journey, capturing improvements and benchmark evolutions. ## Recommendations -* **Constant Feedback Loop**: Regularly check the benchmark results to ensure alignment with the set criteria. -* **Engage the Community**: Given the clear nature of criteria, encourage community members to participate, contribute, and provide feedback. -* **Broaden Horizons**: While the focus is on meeting the set criteria, always consider the broader implications of changes to ensure the overall health of the project. +* **Ongoing Feedback Loop**: Consistently assess benchmark outcomes. +* **Engage & Enrich**: Encourage wide community involvement, capitalizing on the clarity of tasks. +* **Holistic Vision**: Beyond benchmarks, always account for the project's expansive implications.