Added team docs

Sven Heidemann 2021-11-25 09:01:16 +01:00
parent 3f6b9ee333
commit 224ede32ac
4 changed files with 296 additions and 6 deletions

@ -1,3 +1,197 @@
# Entwicklung # Entwicklung
Inhalte folgeden bald. 1. [Einrichtung](#einrichtung)
* [VS Code](#vs-code)
2. [Versionierung](#versionierung)
3. [Branches](#branches)
4. [Pull Requests](#pull-requests)
## Einrichtung
Generelle werden folgende abhängigkeiten benötigt:
* [Python][python]
* [Pip][pip]
Nach der Installation von Python und Pip können wir nun das Projekt einrichten.
Dazu öffnen Sie bitte ein Terminal ein und navigieren mit dem Befehl ```cd``` zu einem Ordner, in dem Sie das Projekt ablegen wollen.
Nachdem Sie dies gemacht haben, holen Sie sich die Projekt Dateien mit folgendem Befehl:
```sh
git clone https://git.sh-edraft.de/sh-edraft.de/sh_gismo.git
```
Nun müssen Sie in den Ordner des Projektes gehen.
```sh
cd sh_gismo
```
Dort erstellen und aktivieren Sie ein VirtualEnv von Python:
```sh
# erstellen:
python -m venv venv
# aktivieren:
# linux:
source venv/bin/activate
# windows:
.\venv\Scripts\activate
```
Nun richten Sie die IDE ein, die Sie verwenden wollen.
### VS Code
Um adequat mit Python arbeiten zu können benötigen Sie ein paar Extensions:
* [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
* [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
* [Python Docstring Generator](https://marketplace.visualstudio.com/items?itemName=njpwerner.autodocstring)
* [Python Indent](https://marketplace.visualstudio.com/items?itemName=KevinRose.vsc-python-indent)
* [Python Test Explorer for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=LittleFoxTeam.vscode-python-test-adapter)
* [python-snippets](https://marketplace.visualstudio.com/items?itemName=cstrap.python-snippets)
* [Importmagic](https://marketplace.visualstudio.com/items?itemName=brainfit.vscode-importmagic)
Sie sollten für ```Importmagic``` ein Keyboard Shortcut anlegen:
```text
ImportMagic: Resolve Import -> Alt+Enter
```
VS Code sollten Sie dann einmal neustarten und die Entwicklung kann ab dann losgehen.
## Versionierung
Major.Minor.Micro
Major wird nur geändert, wenn der neue Stand nicht Kompatibel mit dem alten Stand ist.
Minor wird bei jeder neuen Funktion erhöht.
Micro wird bei kleinen Änderungen oder Patches erhöht.
### Stories
Jede Story bekommt eine Version, anhand der sie auch Identifierzeit werden kann.
Es wird während der Entwicklungsphase eine Kennung mit dem Stadium angehangen.
Sobald das MVP (Minimum Viable Product, Minimum Viable Product ist die einfachste Konfiguration eines Produkts, die ein Benutzer testen und bewerten kann) bereitsteht, wird die Entwicklungsphase verlassen und ein Release 1.0 erstellt.
Ab dem Zeitpunkt fallen die Prefixe für Stories weg.
Stadien:
* Alpha
* Beta
Bsp.:
```text
A-0.6.1 - Beschreibung
B-0.13.4 - Beschreibung
1.0.2 - Beschreibung
```
### Developmental releases
Für Versionen die sich noch in der Entwicklung befinden, jedoch schonmal gebaut werden müssen, wird ein ```devN``` angehangen.
Bsp.:
```text
1.2.3.dev1
1.2.3.dev2
1.2.3.dev3
```
### Pre-releases
Für Versionen, die getestet werden müssen, wird ein ```rcN``` angehangen.
Wenn Fehler aufreten, werden diese im Rahmen des nächsten rc gefixed. Es wird darauf verzichtet andere Versionsänderungen vorzunehmen.
Bsp.:
```text
1.2.0.rc1
1.2.0.rc2
1.2.0.rc3
```
### Post-releases
Für Änderungen, die kleinere Fehler beheben, jedoch keinen weiteren Einfluss auf das Produkt haben wird ein ```postN``` angehangen.
## Branches
Alle Änderungen am Code werden auf externen Branches zum ```master``` bearbeitet.
Es wird für jeden Sprint ein Branch erstellt.
Es wird für jede Story ein Branch erstellt, sobald diese bearbeitet wird (nicht vorher!). Dieser Branch basiert auf den Branch des Sprints.
Minor Stories also Stories, dessen Version aus zwei ziffen besteht bekommen ebenfalls ein Branch.
Micro Stories die auf der Minor Story basieren werden von de, Branch der Minor Story abgewandelt.
Bevor die Minor Story wieder auf den Branch des Sprints geführt werden kann, MÜSSEN alle Micro Stories beendet und in den Branch der Micro Story eingefügt sein!
Nach bearbeitung einer Story wird ein [Pull Request](#pull-requests) erstellt. Dieser beantragt das Einfügen der Story in den Sprint.
Das ganze sollte dann so aussehen:
* Sprint: Alpha
* Minor Story: A-0.10
* Micro Story: A-0.10.1
```text
master
|
\
|\
| \
| \
| Alpha
| |
| \
| |\
| | \
| | \
| | A-0.10
| | |
| | \
| | |\
| | | \
| | | \
| | | A-0.10.1
| | | |
| | | /
| | | /
| | | /
| | |/
| | /
| | |
| | /
| | /
| | /
| |/
| /
| |
| /
| /
| /
|/
/
|
```
## Pull Requests
Pull Requests werden erstellt, wenn ein Branch in einen anderen eingefügt werden kann.
Die Pull Requests finden Sie [hier][pr].
Pull Requests werden erst überprüft. Dazu setzt sich ein Erfahrener Entwickler mit dem Entwickler des Branches zusammen und geht alle Änderungen durch.
Dabei werden letzte Änderungen vorschlagen, damit z.B. Toter Code nicht weiter übermittelt wird.
Sobald das Code Review Erfolgreich war, werden die Branches gemerged.
Danach wird der Branch gelöscht welcher gemerged wurde.
<!-- LINKS -->
[pip-url]: https://pip.sh-edraft.de
[python]: https://www.python.org/
[pip]: https://pypi.org/project/pip/
[pr]: https://git.sh-edraft.de/sh-edraft.de/sh_gismo/pulls

65
Mitarbeit.md Normal file

@ -0,0 +1,65 @@
# Mitarbeit
1. [Ablauf](#ablauf)
2. [Projektaufbau](#projektaufbau)
3. [Meetings](#meetings)
* [Wöchentlich](#wöchentliche-besprechung)
* [Monatlich](#monatliche-besprechung)
4. [Entwicklung](Entwicklung)
5. [Tests](#tests)
## Ablauf
Jedes mal, wenn Sie am Projekt arbeiten, müssen Sie die Arbeitszeiten [hier](clockify) eintragen.
Dabei wählen Sie immer das Projekt ```sh_gismo``` und die Aufgabe an die Sie arbeiten.
In der Beschreibung beschreiben kurz und genau woran Sie arbeiten.
## Projektaufbau
Der Bot wird in Sprints entwickelt. Jeder Sprint beinhaltet festgelegte Issues, welche bearbeitet werden müssen.
Vor einem Sprint wird genau geplant welche Issues das sind und ggf. werden diese durch weitere Issues ergänzt.
[Hier](Issues) wird erklärt wie Sie Issues erstellen.
Der Sprint besteht aus einem [Meilenstein](milestone) und einem [Projekt](project). Issues werden dem Sprint bei Meilenstein & Projekt zugewiesen.
Jedes Issues muss angemessen Sortiert werden, dazu werden entsprechende Tags vergeben.
Am Ende eines Sprints muss eine Besprechung mit dem gesamten Team stattfinden, um letzte Probleme und Fragen zu besprechen.
## Meetings
Meetings werden vom [Scrum Master](Team#leitung) geplant und Umgesetzt.
Die Besprechungen finden [hier](talk) statt
### Wöchentliche Besprechung
Einmal in der Woche sollte ein Meeting stattfinden.
Es können alle Teammitglieder an diesem Meeting teilnehmen.
In diesem Meeting muss von allen Teilnehmern angesprochen werden, was man in der Woche erreicht hat, wo man Fragen hat und ob man Probleme hat.
Das Meeting darf jedoch nicht länger als ca. 15 gehen, 20 Minuten wäre so ziemlich die Obergrenze.
Der Scrum Master bestimmt die Reihenfolge in denen die Teilnehmer sprechen.
### Monatliche Besprechung
Einmal im Monat sollte eine Besprechung stattfinden.
An dieser Besprechung können alle Teilnehmen, die Leitung ist hingegen dazu verpflichtet.
Teil dieser Besprechung ist es der Stand des Projektes angesichts des laufenden Sprints. Es muss besprochen werden, ob die Stories angemessen aufgebaut sind und ob es angemessen Fortschritt gibt.
Ebenso wird über neue Isssues Diskutiert um einen laufenden Prozess zu schaffen, in dem auch zukünfitge Sprint vorbereitet werden.
Issues, die schonmal für die nächsten Sprint geplant werden bekommen den Tag ```next-version```.
## Tests
Inhalte kommen bald.
<!-- links -->
[clockify]: https://clockify.me/tracker
[milestone]: https://git.sh-edraft.de/sh-edraft.de/sh_gismo/milestones
[project]: https://git.sh-edraft.de/sh-edraft.de/sh_gismo/projects
[talk]: https://cloud.sh-edraft.de/index.php/call/iqa9afxf

@ -12,8 +12,10 @@ Dabei bietet er viele Funktionen:
## Erkunden ## Erkunden
1. [Startseite](Startseite) * [Startseite](Startseite)
2. [Fehler melden](Issues#fehler-melden) * [Fehler melden](Issues#fehler-melden)
3. [Neue Funktion vorschlagen](Issues#neue-funktion-vorschlagen) * [Neue Funktion vorschlagen](Issues#neue-funktion-vorschlagen)
4. [Befehle](Befehle) * [Team](Team)
5. [Einstieg in die Entwicklung](Entwicklung) * [Mitarbeiten](Mitarbeit)
* [Befehle](Befehle)
* [Einstieg in die Entwicklung](Entwicklung)

29
Team.md Normal file

@ -0,0 +1,29 @@
# Das Team
* [Leitung](leitung)
* [Entwicklung](leitung)
* [Test](leitung)
## Leitung
* Projektleiter
* Nicht vergeben
* Scrum Master
* [Craft_Mac](https://git.sh-edraft.de/CraftMac)
* Berater
* [DaosYeager](https://git.sh-edraft.de/DaosYeager)
## Entwicklung
* Leitender Entwickler
* [edraft](https://git.sh-edraft.de/edraft)
* Entwickler
* [bianyx](https://git.sh-edraft.de/bianyx)
## Test
* Leitender Tester
* Nicht vergeben
* Tester
* Kükchen
* Momo Sato