KucherenkoSerhiy commented on issue #612:
URL:
https://github.com/apache/incubator-devlake-website/issues/612#issuecomment-1699995512
WIP
## 1. Introduction
A typical team of developers works with `pull requests`, `deployments`, and
`issues` (a.k.a. Bugs for deployment).
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 `issues` per `deploys` does the team have? (a.k.a. [Change
Failure Rate](docs/Metrics/CFR.md))
- How fast are these `issues` solved? (a.k.a. [Median Time to
Restore](docs/Metrics/MTTR.md))
All these questions/metrics are based on either `pull requests`,
`deployments`, or `issues`.
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 as on
a greenfield)
- There may be multiple teams
This is where the `project` concept comes into 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
`issues`.

## 3. As a team lead, how many DevLake projects do I need?
Because of its simplicity, the concept is flexible: you decide how to
arrange `pull requests`, `deployments`, and `issues`
either by your specific projects, by teams, technology, or any other way.
Let's consider an example:
- There is 1 team working on 2 projects
- The first project consists of 3 repositories with one of them working most
of the time
- The second project only has 2 repos worked equal time among them

Note that:
- If instead there were 2 separate teams, the structure would remain the
same. The only thing to consider changing is the name of the project
- The same applies to any other way of arranging the projects
- It does not matter if a particular repository it touched more than the
others. Why? The answer is in the section below
### 3.1. What am I looking for with DORA?
TODO: Explain right and wrong ways to use DORA
## 4. How do we organize projects when there is data from multiple
connection(s)?
TODO
### 4.1. Webhooks
TODO
## 5. How do I know if the data of a project is successfully collected?
TODO
## 6. How can I observe metrics by project?
TODO
--
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]