Startrekzky commented on code in PR #637: URL: https://github.com/apache/incubator-devlake-website/pull/637#discussion_r1314855502
########## docs/_temp/Installation.md: ########## @@ -0,0 +1,135 @@ +--- +title: "How to Organize Devlake Projects" +sidebar_position: 1 +description: > + How to Organize Devlake Projects +--- + +## 1. Introduction +A typical team of developers works with `pull requests`, `deployments`, and `incidents` inside boards. + +Based on such, we want to measure their productivity and stability. This is how [DORA](docs/DORA.md) does that: +- Productivity: + - How many times does the team `deploy`? (a.k.a. [Deployment Frequency](docs/Metrics/DeploymentFrequency.md)) + - How fast are the `pull requests` resolved? (a.k.a. [Lead Time](docs/Metrics/LeadTimeForChanges.md)) +- Stability: + - How many `incidents` per `deploys` does the team have? (a.k.a. [Change Failure Rate](docs/Metrics/CFR.md)) + - How fast are these `incidents` solved? (a.k.a. [Median Time to Restore](docs/Metrics/MTTR.md)) + +All these questions/metrics are based on either `pull requests`, `deployments`, or `incidents`. + +But when we scale this up, a few problems arise: +- A team usually works with multiple `repositories` +- A team also might work on different projects, and we want to measure these projects separately (e.g. it is not the same to work on a big old legacy than on a greenfield) +- There may be multiple teams +- A `board` contains incidents of multiple teams or projects +- A `repository` is managed by multiple teams or projects, e.g. a monorepo +- A `pipeline` can trigger deployments in multiple repositories +- Some organizations want to measure DORA based on projects, and some want to measure it by teams + +This is where the `project` concept comes to play. + +## 2. What is a DevLake project? +In the real world, a project is something being built and/or researched to solve some problem or to open new grounds. +In software development, a project is just a grouping of something. In DevLake, a `project` is a grouping of `pull requests`, `deployments`, or `incidents`. + + Review Comment: I came up with a simple version of the project pic, it introduced the idea of domains, i.e. `repos`, `boards` and `cicd_scopes` based on the original pic. What do you think? <img width="1297" alt="project" src="https://github.com/apache/incubator-devlake-website/assets/14050754/e570b8da-5cdb-4715-bde5-373b30bfb311"> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
