Entwicklungs und Arbeitsprozesse - Sawatec/streakify GitHub Wiki
Entwicklungs- und Arbeitsprozesse
Dieser Abschnitt beschreibt die Arbeitsprozesse und Entwicklungsabläufe in unserem Projekt, einschließlich der Branching-Strategie, des Merging-Prozesses, der Sprint-Planung und der Aufgabenverteilung.
Inhaltsverzeichnis
- Branching-Strategie
- Merging und Code-Review
- Sprint-Planung und Aufgabenverteilung
- Issue-Management und Labels
Branching-Strategie
Wir verwenden eine strukturierte Branching-Strategie, um die Entwicklung zu organisieren und die Zusammenarbeit im Team zu erleichtern.
-
Main Branch (
main
)- Enthält die stabile, produktionsreife Version des Codes.
- Nur getesteter und genehmigter Code wird in diesen Branch gemerged.
-
Entwicklungs-Branch (
develop
)- Dieser Branch dient als Integrationszweig, in dem alle neuen Features zusammengeführt und getestet werden, bevor sie in den
main
Branch gelangen.
- Dieser Branch dient als Integrationszweig, in dem alle neuen Features zusammengeführt und getestet werden, bevor sie in den
-
Feature-Branches (
feature/[feature-name]
)- Diese Branches sind für neue Features, die in Entwicklung sind.
- Jeder Feature-Branch wird vom
develop
-Branch abgezweigt und nach Abschluss und Test dorthin zurückgeführt.
-
Bugfix-Branches (
bugfix/[bug-name]
)- Branches zur Behebung von Fehlern oder Problemen im Code.
- Diese Branches werden vom
develop
-Branch abgezweigt und nach Abschluss dorthin zurückgeführt.
-
Hotfix-Branches (
hotfix/[issue-name]
)- Branches für kritische Fehlerbehebungen in der Produktionsumgebung.
- Hotfixes werden direkt in den
main
-Branch gemerged und dann indevelop
synchronisiert.
Merging und Code-Review
-
Code-Review
- Jeder Merge-Request muss von mindestens einem Teammitglied überprüft werden.
- Der Code wird auf Funktionalität, Lesbarkeit und Einhaltung der Standards geprüft.
-
Merge-Richtlinien
- Feature- und Bugfix-Branches werden nur nach erfolgreicher Prüfung und bestandenen Tests in
develop
gemerged. - Hotfixes werden direkt in den
main
-Branch gemerged und sofort deployed, falls erforderlich.
- Feature- und Bugfix-Branches werden nur nach erfolgreicher Prüfung und bestandenen Tests in
-
Automatische Tests
- Vor jedem Merge durchläuft der Code automatisierte Tests in der CI/CD-Pipeline.
- Erst nach bestandenem Testlauf kann der Merge abgeschlossen werden.
Sprint-Planung und Aufgabenverteilung
-
Sprint-Dauer
- Jeder Sprint dauert drei Wochen und hat ein spezifisches Ziel, das am Ende erreicht sein soll.
-
Sprint-Backlog
- Das Team wählt aus dem Produkt-Backlog die User Stories und Aufgaben aus, die im aktuellen Sprint bearbeitet werden.
- Das Sprint-Backlog wird in GitLab als Board visualisiert, um den Fortschritt zu verfolgen.
-
Daily Stand-ups
- Tägliche Meetings zur Abstimmung der Aufgaben, zum Austausch über Fortschritte und zum Beseitigen möglicher Blockaden.
-
Sprint-Review und Retrospektive
- Am Ende jedes Sprints werden die Ergebnisse überprüft und eine Retrospektive durchgeführt, um den Arbeitsprozess kontinuierlich zu verbessern.
Issue-Management und Labels
-
Issue-Erstellung
- Für jede User Story und jeden Task wird ein neues Issue in GitLab erstellt.
- Die Issues werden entsprechend ihrer Priorität und ihres Status gekennzeichnet.
-
Label-System
- Priorität: High Priority, Medium Priority, Low Priority
- Art der Aufgabe: Feature, Bug, Improvement, Documentation
- Status: Open, In Progress, Review, Done
- Bereich: Frontend, Backend, Database, DevOps
-
Meilensteine und Aufgabenpakete
- Jede größere Funktion oder Zielsetzung wird als Meilenstein markiert, um die Fortschritte zu verfolgen.
- Kleinere Aufgaben werden als Child Issues angelegt und den Haupt-Issues zugeordnet.
Hinweis: Diese Prozesse werden kontinuierlich überprüft und angepasst, um eine effiziente und reibungslose Zusammenarbeit im Team zu gewährleisten.