From 464aab1aad9e0f7d8d4621d9caa5dfbec9f7dff7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Benesch?= <14031765+herrbenesch@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:46:11 +0200 Subject: [PATCH 1/8] Add how we work document --- how_we_work.md | 90 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 90 insertions(+) create mode 100644 how_we_work.md diff --git a/how_we_work.md b/how_we_work.md new file mode 100644 index 0000000..f52f2da --- /dev/null +++ b/how_we_work.md @@ -0,0 +1,90 @@ +# Documents & Artifacts + +## Kanban board + +The Kanban board is the main tool of communication between stakeholders and the different product development units. +The Kanban board is owned by the product management team. + +Engineers are responsible for maintaining cards on the Kanban board once they have pulled them into the backlog. Stories are always assigned when they are in progress, but never while they are in the backlog. + +All work that is done in either product, design or engineering should be reflected on the board. Stakeholders may have tickets on the board too. + +## New feature tickets + +The requirements engineering and conception of new features is owned by the product and design team. + +## Growth opportunity + +Anything that can help a department (not only product related) to improve their performance and the performance of our business. + +Growth opportunities should align with our long term product vision. + +Depending on the complexity those opportunities might be developed in small increments prioritizing value delivery. + +## OKR initiatives + +Strategic initiatives developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. + +They are prioritized over anything else to ensure the success of our OKRs. + +OKR initiatives should be in line with our long-term product vision. + +## Operational hiccups + +Operational hiccups are issues that disturb a stakeholders operation or hinder their ability to exercise their responsibilities. They usually require some kind of technical support or facilitation and should have some level of urgency similar to bugs but are outside of the engineering responsibilities. + +## Bugs + +Bugs are owned by the engineering team as they affect the platform's stability. + +Bugs must have some kind of urgency. They are not prioritized by product, but triaged by engineering, based on what bug will kill our business first. Triage is handled by a designated senior engineer. Bugs are assigned to an engineer at all times but can be reassigned. + +A bug ticket should have an average resolution rate of less than a week. + +Bugs may be closed or converted into a story, if there is no longer a high urgency and no impact on the stability of the platform. Updates on bug tickets, especially closure without resolution, need to be communicated with product proactively. + +## Tech debt + +Engineering leads are responsible for the stability of the platform and the development velocity, and consequently for when and what technical debt needs to be handled. + +Work on technical debt must always be proactively communicated with the product team and documented in a ticket. Tech debt tickets must be pulled into the backlog in a refinement meeting, as they bind resources and take up significant space in the engineering backlog. + +## Platform announcement Slack channel + +Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel #platform-announcements. This channel serves as a changelog for all employees. + +# Meetings & Collaboration + +##Agile principles + +Make work visible +Meaningful & actionable conversations +Decisions are made, where the work is done +Regularly reflect on how we work together + +## Stakeholder Meetings + +Stakeholder meetings are held weekly to discuss the product roadmap, upcoming features, and any blockers that need to be resolved or questions that need to be answered. It is the best path to discuss new ideas and to align on the product's direction. The product manager will relate work to the OKR progress and stakeholders will come prepared with issues/ideas and data, adding their topics to this document: Stakeholder Meeting Platform +The meeting is led by the Product Manager and attended by key stakeholders and an engineering lead. + +## Refinement Meetings + +Refinement meetings are held weekly and are the handover point from the Product Team to the Engineering Team. The product manager presents problems, opportunities, and priorities to the Engineering Team. Engineers ask questions and either pull the issue into the backlog or push it back to the product team for further refinement. +The meeting is led by the product manager and attended by the product and engineering team. + +## Standups + +Standups are held daily and are the heartbeat of the team (Engineering, Content, Product). They are used to update the team on the progress of ongoing tasks and blockers. Standups are not for problem-solving, but for identifying issues that need to be solved later during the day. +Standups are led by the respective Team Lead going through the Kanban board and attended by the entire team and, optionally, by people who have been closely working with the respective team. + +## Retrospectives + +Retrospectives are held every month with the Engineering, Product and Design Team. Stakeholders may join optionally or can be invited if they have been highly involved with a project. + +## Review + +We have a continuous development and deployment process and therefore no regular review meeting. However, reviews are an integral part of the development process. Engineers are responsible to include key stakeholders or product into the solution building and review process. + +We strictly prioritize closing open work over everything else. Therefore, any party that has been requested to review a feature is expected to make time within a business day. + +Client-facing features may require a scheduled deployment coordinated with our clients by CSM. From a4d14075e4eabcc63d9d98592486db6a348f75ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Benesch?= <14031765+herrbenesch@users.noreply.github.com> Date: Mon, 26 Aug 2024 10:55:12 +0200 Subject: [PATCH 2/8] Some improvements --- how_we_work.md => product_development.md | 50 +++++++++++++----------- 1 file changed, 28 insertions(+), 22 deletions(-) rename how_we_work.md => product_development.md (85%) diff --git a/how_we_work.md b/product_development.md similarity index 85% rename from how_we_work.md rename to product_development.md index f52f2da..b007b3f 100644 --- a/how_we_work.md +++ b/product_development.md @@ -1,19 +1,22 @@ -# Documents & Artifacts +# Product development -## Kanban board +## Documents & Artifacts + +### Kanban board The Kanban board is the main tool of communication between stakeholders and the different product development units. + The Kanban board is owned by the product management team. Engineers are responsible for maintaining cards on the Kanban board once they have pulled them into the backlog. Stories are always assigned when they are in progress, but never while they are in the backlog. All work that is done in either product, design or engineering should be reflected on the board. Stakeholders may have tickets on the board too. -## New feature tickets +### New feature tickets The requirements engineering and conception of new features is owned by the product and design team. -## Growth opportunity +### Growth opportunity Anything that can help a department (not only product related) to improve their performance and the performance of our business. @@ -21,7 +24,7 @@ Growth opportunities should align with our long term product vision. Depending on the complexity those opportunities might be developed in small increments prioritizing value delivery. -## OKR initiatives +### OKR initiatives Strategic initiatives developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. @@ -29,11 +32,11 @@ They are prioritized over anything else to ensure the success of our OKRs. OKR initiatives should be in line with our long-term product vision. -## Operational hiccups +### Operational hiccups Operational hiccups are issues that disturb a stakeholders operation or hinder their ability to exercise their responsibilities. They usually require some kind of technical support or facilitation and should have some level of urgency similar to bugs but are outside of the engineering responsibilities. -## Bugs +### Bugs Bugs are owned by the engineering team as they affect the platform's stability. @@ -43,45 +46,48 @@ A bug ticket should have an average resolution rate of less than a week. Bugs may be closed or converted into a story, if there is no longer a high urgency and no impact on the stability of the platform. Updates on bug tickets, especially closure without resolution, need to be communicated with product proactively. -## Tech debt +### Tech debt Engineering leads are responsible for the stability of the platform and the development velocity, and consequently for when and what technical debt needs to be handled. Work on technical debt must always be proactively communicated with the product team and documented in a ticket. Tech debt tickets must be pulled into the backlog in a refinement meeting, as they bind resources and take up significant space in the engineering backlog. -## Platform announcement Slack channel +### Platform announcement Slack channel + +Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel [#platform-announcements](https://voiio.slack.com/archives/C02BXK6R16V). This channel serves as a changelog for all employees. -Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel #platform-announcements. This channel serves as a changelog for all employees. +## Meetings & Collaboration -# Meetings & Collaboration +### Agile principles -##Agile principles +* Make work visible +* Meaningful & actionable conversations +* Decisions are made, where the work is done +* Regularly reflect on how we work together -Make work visible -Meaningful & actionable conversations -Decisions are made, where the work is done -Regularly reflect on how we work together +### Stakeholder Meetings -## Stakeholder Meetings +Stakeholder meetings are held weekly to discuss the product roadmap, upcoming features, and any blockers that need to be resolved or questions that need to be answered. It is the best path to discuss new ideas and to align on the product's direction. The product manager will relate work to the OKR progress and stakeholders will come prepared with issues/ideas and data, adding their topics to this document: [Stakeholder Meeting Platform](https://docs.google.com/document/d/1uhX68whx9T56unUlEUdyjUdq_dOJpHwO7Ycv892hqA8/edit) -Stakeholder meetings are held weekly to discuss the product roadmap, upcoming features, and any blockers that need to be resolved or questions that need to be answered. It is the best path to discuss new ideas and to align on the product's direction. The product manager will relate work to the OKR progress and stakeholders will come prepared with issues/ideas and data, adding their topics to this document: Stakeholder Meeting Platform The meeting is led by the Product Manager and attended by key stakeholders and an engineering lead. -## Refinement Meetings +### Refinement Meetings Refinement meetings are held weekly and are the handover point from the Product Team to the Engineering Team. The product manager presents problems, opportunities, and priorities to the Engineering Team. Engineers ask questions and either pull the issue into the backlog or push it back to the product team for further refinement. + The meeting is led by the product manager and attended by the product and engineering team. -## Standups +### Standups Standups are held daily and are the heartbeat of the team (Engineering, Content, Product). They are used to update the team on the progress of ongoing tasks and blockers. Standups are not for problem-solving, but for identifying issues that need to be solved later during the day. + Standups are led by the respective Team Lead going through the Kanban board and attended by the entire team and, optionally, by people who have been closely working with the respective team. -## Retrospectives +### Retrospectives Retrospectives are held every month with the Engineering, Product and Design Team. Stakeholders may join optionally or can be invited if they have been highly involved with a project. -## Review +### Review We have a continuous development and deployment process and therefore no regular review meeting. However, reviews are an integral part of the development process. Engineers are responsible to include key stakeholders or product into the solution building and review process. From f8eaabccb3173e0494d3fdcc48f46799233bc7aa Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Tue, 3 Sep 2024 11:06:10 +0200 Subject: [PATCH 3/8] Address review comments --- product_development.md | 66 ++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 22 deletions(-) diff --git a/product_development.md b/product_development.md index b007b3f..22e9a29 100644 --- a/product_development.md +++ b/product_development.md @@ -12,29 +12,43 @@ Engineers are responsible for maintaining cards on the Kanban board once they ha All work that is done in either product, design or engineering should be reflected on the board. Stakeholders may have tickets on the board too. +### OKR initiatives + +Strategic initiatives developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. + +They are prioritized over anything else to ensure the success of our OKRs. + +OKR initiatives should be in line with our long-term product vision. + +OKR initiatives are usually tracking in a separate lane on the Kanban board. + ### New feature tickets -The requirements engineering and conception of new features is owned by the product and design team. +New features are the result of analysis or research based user demand. +The product and design team owns the requirements engineering and conception of new features. +They are responsible for creating tickets that are ready to be pulled into the backlog. ### Growth opportunity Anything that can help a department (not only product related) to improve their performance and the performance of our business. +They should be accompanied by metrics, their current state, and the projected state after the implementation of the growth opportunity. + +E.g: Feature A will boost KPI B from 10% to 20% and will increase revenue by 10%. Growth opportunities should align with our long term product vision. Depending on the complexity those opportunities might be developed in small increments prioritizing value delivery. -### OKR initiatives - -Strategic initiatives developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. - -They are prioritized over anything else to ensure the success of our OKRs. - -OKR initiatives should be in line with our long-term product vision. +Growth opportunity are owned by a stakeholder and prioritized via the stakeholder meeting. +The product team is responsible to ensure that the ticket is ready to be pulled into the backlog. ### Operational hiccups -Operational hiccups are issues that disturb a stakeholders operation or hinder their ability to exercise their responsibilities. They usually require some kind of technical support or facilitation and should have some level of urgency similar to bugs but are outside of the engineering responsibilities. +Operational hiccups are issues that disturb a stakeholders operation or hinder their ability to exercise their responsibilities. +They usually require some kind of technical support or facilitation and should have some level of urgency similar to bugs. + +Operational hiccups are owned by a stakeholder and prioritized via the stakeholder meeting. +The product team is responsible to ensure that the ticket is ready to be pulled into the backlog. ### Bugs @@ -42,9 +56,10 @@ Bugs are owned by the engineering team as they affect the platform's stability. Bugs must have some kind of urgency. They are not prioritized by product, but triaged by engineering, based on what bug will kill our business first. Triage is handled by a designated senior engineer. Bugs are assigned to an engineer at all times but can be reassigned. -A bug ticket should have an average resolution rate of less than a week. +A bug ticket should have an average resolution rate of less than a week and no more than two weeks. -Bugs may be closed or converted into a story, if there is no longer a high urgency and no impact on the stability of the platform. Updates on bug tickets, especially closure without resolution, need to be communicated with product proactively. +Bugs may be closed or converted into a technical dept ticket, if there is no longer a high urgency and no impact on the stability of the platform. +Updates on bug tickets, especially closure without resolution, need to be communicated with product proactively. ### Tech debt @@ -54,16 +69,22 @@ Work on technical debt must always be proactively communicated with the product ### Platform announcement Slack channel -Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel [#platform-announcements](https://voiio.slack.com/archives/C02BXK6R16V). This channel serves as a changelog for all employees. +Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel [#platform-announcements](https://voiio.slack.com/archives/C02BXK6R16V). +This channel serves as a changelog for all employees and should include ever change the platform's experience, e.g. + +* new features, +* bug fixes, +* content updates, +* etc. ## Meetings & Collaboration ### Agile principles -* Make work visible -* Meaningful & actionable conversations -* Decisions are made, where the work is done -* Regularly reflect on how we work together +* Make work visible. +* Meaningful & actionable conversations. +* Don't ask for permission. Decisions are made, where the work is done. +* Regularly reflect on how we work together. ### Stakeholder Meetings @@ -73,24 +94,25 @@ The meeting is led by the Product Manager and attended by key stakeholders and a ### Refinement Meetings -Refinement meetings are held weekly and are the handover point from the Product Team to the Engineering Team. The product manager presents problems, opportunities, and priorities to the Engineering Team. Engineers ask questions and either pull the issue into the backlog or push it back to the product team for further refinement. +Refinement meetings are held weekly and are the handover point from the product team to the engineering team. The product manager presents problems, opportunities, and priorities to the engineering team. Engineers ask questions and either pull the issue into the backlog or push it back to the product team for further refinement. The meeting is led by the product manager and attended by the product and engineering team. -### Standups +### Dailies -Standups are held daily and are the heartbeat of the team (Engineering, Content, Product). They are used to update the team on the progress of ongoing tasks and blockers. Standups are not for problem-solving, but for identifying issues that need to be solved later during the day. +Dailies are held daily and are the heartbeat of the team (engineering, content, product). They are used to update the team on the progress of ongoing tasks and blockers. Standups are not for problem-solving, but for identifying issues that need to be solved later during the day. -Standups are led by the respective Team Lead going through the Kanban board and attended by the entire team and, optionally, by people who have been closely working with the respective team. +Dailies are led by the respective team lead going through the Kanban board and attended by the entire team and, optionally, by people who have been closely working with the respective team. ### Retrospectives -Retrospectives are held every month with the Engineering, Product and Design Team. Stakeholders may join optionally or can be invited if they have been highly involved with a project. +Retrospectives are held every month with the engineering, product and design team. Stakeholders may join optionally or can be invited if they have been highly involved with a project. ### Review We have a continuous development and deployment process and therefore no regular review meeting. However, reviews are an integral part of the development process. Engineers are responsible to include key stakeholders or product into the solution building and review process. -We strictly prioritize closing open work over everything else. Therefore, any party that has been requested to review a feature is expected to make time within a business day. +We strictly prioritize closing open work over everything else. +Therefore, reviewing and supporting ongoing projects is expected to be done within a business day. Client-facing features may require a scheduled deployment coordinated with our clients by CSM. From bd377f98c1b2fa77429c9fb98f420eea1c43e33f Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Tue, 3 Sep 2024 14:57:48 +0200 Subject: [PATCH 4/8] Apply suggestions from code review --- product_development.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/product_development.md b/product_development.md index 22e9a29..0a1f91c 100644 --- a/product_development.md +++ b/product_development.md @@ -14,18 +14,18 @@ All work that is done in either product, design or engineering should be reflect ### OKR initiatives -Strategic initiatives developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. +Strategic initiatives are developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. They are prioritized over anything else to ensure the success of our OKRs. OKR initiatives should be in line with our long-term product vision. -OKR initiatives are usually tracking in a separate lane on the Kanban board. +OKR initiatives are usually tracked in a separate lane on the Kanban board. ### New feature tickets New features are the result of analysis or research based user demand. -The product and design team owns the requirements engineering and conception of new features. +The product and design teams own the requirements engineering and conception of new features. They are responsible for creating tickets that are ready to be pulled into the backlog. ### Growth opportunity @@ -39,7 +39,7 @@ Growth opportunities should align with our long term product vision. Depending on the complexity those opportunities might be developed in small increments prioritizing value delivery. -Growth opportunity are owned by a stakeholder and prioritized via the stakeholder meeting. +Growth opportunities are owned by a stakeholder and prioritized via the stakeholder meeting. The product team is responsible to ensure that the ticket is ready to be pulled into the backlog. ### Operational hiccups @@ -58,7 +58,7 @@ Bugs must have some kind of urgency. They are not prioritized by product, but tr A bug ticket should have an average resolution rate of less than a week and no more than two weeks. -Bugs may be closed or converted into a technical dept ticket, if there is no longer a high urgency and no impact on the stability of the platform. +Bugs may be closed or converted into a technical debt ticket, if there is no longer a high urgency and no impact on the stability of the platform. Updates on bug tickets, especially closure without resolution, need to be communicated with product proactively. ### Tech debt @@ -70,7 +70,7 @@ Work on technical debt must always be proactively communicated with the product ### Platform announcement Slack channel Product, Design, Engineering, and Content team members post every change to go live on the platform into the Slack channel [#platform-announcements](https://voiio.slack.com/archives/C02BXK6R16V). -This channel serves as a changelog for all employees and should include ever change the platform's experience, e.g. +This channel serves as a changelog for all employees and should include every change to the platform's experience, e.g. * new features, * bug fixes, From 58c450dae532a243369a54d270f5305e14e15870 Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 5 Sep 2024 14:33:27 +0200 Subject: [PATCH 5/8] Apply suggestions from code review Co-authored-by: mostafa-anm --- product_development.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/product_development.md b/product_development.md index 0a1f91c..400fabf 100644 --- a/product_development.md +++ b/product_development.md @@ -86,13 +86,13 @@ This channel serves as a changelog for all employees and should include every ch * Don't ask for permission. Decisions are made, where the work is done. * Regularly reflect on how we work together. -### Stakeholder Meetings +### Stakeholder meetings Stakeholder meetings are held weekly to discuss the product roadmap, upcoming features, and any blockers that need to be resolved or questions that need to be answered. It is the best path to discuss new ideas and to align on the product's direction. The product manager will relate work to the OKR progress and stakeholders will come prepared with issues/ideas and data, adding their topics to this document: [Stakeholder Meeting Platform](https://docs.google.com/document/d/1uhX68whx9T56unUlEUdyjUdq_dOJpHwO7Ycv892hqA8/edit) The meeting is led by the Product Manager and attended by key stakeholders and an engineering lead. -### Refinement Meetings +### Refinement meetings Refinement meetings are held weekly and are the handover point from the product team to the engineering team. The product manager presents problems, opportunities, and priorities to the engineering team. Engineers ask questions and either pull the issue into the backlog or push it back to the product team for further refinement. From a2cc249f52a12f60831484ea2360b312ad51a10b Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 5 Sep 2024 14:45:31 +0200 Subject: [PATCH 6/8] Update product_development.md --- product_development.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/product_development.md b/product_development.md index 400fabf..2639681 100644 --- a/product_development.md +++ b/product_development.md @@ -12,6 +12,8 @@ Engineers are responsible for maintaining cards on the Kanban board once they ha All work that is done in either product, design or engineering should be reflected on the board. Stakeholders may have tickets on the board too. +Priorities or urgencies are sorted top to bottom. + ### OKR initiatives Strategic initiatives are developed with a department and prioritized in close coordination with an objective owner. Those initiatives could be features and also research tasks, surveys, content work and more. From 39ba41a29eb7ac6801a06ce51ba5dfc82f37af7d Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Thu, 5 Sep 2024 21:46:26 +0200 Subject: [PATCH 7/8] Update product_development.md --- product_development.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/product_development.md b/product_development.md index 2639681..4f0686e 100644 --- a/product_development.md +++ b/product_development.md @@ -118,3 +118,8 @@ We strictly prioritize closing open work over everything else. Therefore, reviewing and supporting ongoing projects is expected to be done within a business day. Client-facing features may require a scheduled deployment coordinated with our clients by CSM. + + +### Development Kick-Off + +To prevent ticket ping pong, a kick-off is an optional short meeting, that can be scheduled by an engineer when they pick up new work. Its discussion should be reflected in the ticket. We aim for great tickets, but sometimes we miss. From 56a1fefee7dc8b3aafec737b33b3dee0f76e6eb4 Mon Sep 17 00:00:00 2001 From: Johannes Maron Date: Wed, 18 Sep 2024 19:08:02 +0200 Subject: [PATCH 8/8] Fix typo --- product_development.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/product_development.md b/product_development.md index 4f0686e..2253425 100644 --- a/product_development.md +++ b/product_development.md @@ -26,7 +26,7 @@ OKR initiatives are usually tracked in a separate lane on the Kanban board. ### New feature tickets -New features are the result of analysis or research based user demand. +New features are the result of analysis or research, based on user demand. The product and design teams own the requirements engineering and conception of new features. They are responsible for creating tickets that are ready to be pulled into the backlog.