kubeshop / tracetest

🔭 Tracetest - Build integration and end-to-end tests in minutes, instead of days, using OpenTelemetry and trace-based testing.
https://docs.tracetest.io/
Other
989 stars 71 forks source link

[Plan] Standard Development Process #2037

Open xoscar opened 1 year ago

xoscar commented 1 year ago

Writing an Epic

Creating epic has become a way for the team to group a bunch of work that needs to be completed in order to reach a specific goal, but we don't have a clear standard on how to write them and what information belongs in the epic.

Let's define what we want to achieve with an epic:

Now, let's talk about tasks:

Where to technical details? Technical details like architectural designs, how-tos, or other things like that, should be defined in outside sources, scoped to specific tasks, or part of epics discussions/comments. But always linked back to tasks that can be easily found by team members.

What is the final goal of all of this?

  1. Everyone shares the same vision of the project(s)
  2. Team members have clarity on what work needs to be done and how to prioritize tasks
  3. The work is defined in a way where the context and info are spread to avoid one person doing everything
  4. Having a clear line of requirements, top to bottom
  5. Allowing the technical team to understand the full scope/goal of the project and focus on the hows after that
  6. Provide visibility on the project's progress

Calls, planning, grooming

Ideally, we want to aim to have efficient meetings, with clear agendas and time-boxed to not go over time. This is to encourage the following dynamics:

  1. Prefer async communication
  2. Avoid unnecessary meetings
  3. Remove distractions and have more focus time
  4. Self-management of time

Branching, Development, Releases

This is still a work in process, but here are some of the goals:

  1. Be always safe to merge into the main banch
  2. Prefer feature flags, merging to main than long-living branches
  3. Automate the rollback process
  4. Usage of the release checklist
  5. Introduction of Gitflow or Trunk based development
  6. Have a defined release cadence
xoscar commented 1 year ago

https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development

xoscar commented 1 year ago