Un tableau de bord analytique pour auditer l'historique Git d'un projet, identifier les risques de départ (churn) des développeurs et évaluer le Bus Factor de la base de code.
L'outil applique des modèles d'analyse de survie (issus de la recherche médicale) à l'ingénierie logicielle pour comprendre de façon déterministe quelles habitudes de travail mènent à l'abandon d'un projet.
1. Ingénierie des données et NLP
- Extraction de l'historique complet d'un dépôt Git local ou distant.
- Nettoyage des bots et résolution des identités multiples (emails).
- NLP : Évaluation du sentiment (positif/négatif) des messages de commit et détection heuristique de code généré par IA.
2. Analyse Exploratoire (EDA)
- Étude de la rétention des contributeurs par cohortes trimestrielles.
- Matrice de corrélation des comportements (travail de nuit, régularité, ratio fix/feature).
- Mesure du "Time-to-Onboarding" (temps d'adaptation des nouveaux).
3. Modélisation Statistique & Machine Learning
- Courbes de Kaplan-Meier : Probabilité de survie globale du projet et par profils.
- Modèle de Cox (Proportional Hazards & Time-Varying) : Isole l'impact mathématique de chaque habitude de travail sur le risque de départ.
- Modèles Ensemblistes : Utilisation de Random Survival Forests (RSF) et Gradient Boosting Survival Analysis (GBSA) pour capturer les interactions non-linéaires.
- Explicabilité : Extraction de la cause principale de risque pour chaque développeur (SHAP-like).
4. Gouvernance et Prescriptions
- Bus Factor & Zones mortes : Identifie les fichiers critiques maintenus par une seule personne, et les fichiers dont l'unique auteur a déjà quitté le projet.
- Réseau de Contagion : Modélise sous forme de graphe la propagation du risque d'abandon entre développeurs travaillant sur les mêmes fichiers.
- Alerte Burnout : Repère les pics d'activité extrêmes suivis d'une chute brutale.
- Générateur de binômes : Propose les meilleurs "co-auteurs" pour faire du pair-programming avec un développeur à risque.
- Exports CSV : Téléchargement instantané des recommandations RH/Tech pour l'équipe de management.
git clone https://github.com/votre-compte/git-survival.git
cd git-survival
pip install -r requirements.txtstreamlit run src/dashboard.pySaisissez l'URL d'un dépôt Git dans l'interface et lancez l'analyse. L'extraction est sauvegardée localement (cache .parquet) pour des chargements ultérieurs instantanés, même après redémarrage du serveur.
- Données & Backend :
pandas,numpy,pyarrow(cache) - Extraction Git :
GitPython,PyDriller - NLP :
textblob - Machine Learning & Stats :
lifelines,scikit-survival - Interface & Visualisation :
streamlit,plotly