Prédiction de délai dynamique dans le développement logiciel agile
une nouvelle méthode pour prédire les retards dans les projets agiles en utilisant des données en temps réel.
― 10 min lire
Table des matières
- Le problème avec les modèles statiques
- Comprendre les modèles de retard
- Proposition de modèle dynamique
- Avantages de la prédiction des retards
- Collecte et analyse des données
- Identification des modèles de retard
- Construction du modèle bayésien
- Évaluation du modèle
- Résultats clés
- Implications pour la gestion de projet
- Directions de recherche future
- Conclusion
- Source originale
- Liens de référence
Dans le développement logiciel, surtout dans des environnements agiles, les projets font souvent face à des retards qui peuvent affecter leur succès. Les méthodes agiles impliquent de travailler en courtes cycles, permettant aux équipes de réagir rapidement aux changements dans les exigences ou les conditions du marché. Cependant, la nature dynamique de ces projets rend difficile la prévision précise des retards. Les modèles traditionnels d'estimation de l'effort et du temps tendent à être statiques. Ils se basent sur des données initiales, qui ne changent pas à mesure que le projet avance. Cet article présente une nouvelle façon de prévoir les retards en utilisant une approche dynamique qui apprend des progrès du projet et des changements dans la performance de l'équipe.
Le problème avec les modèles statiques
Beaucoup de modèles existants pour prédire les retards dans le développement logiciel collectent des données au début d'un projet et ne s'ajustent pas au fil de l'avancement. Cette approche statique peut bien fonctionner dans des projets traditionnels où tout est planifié à l'avance, mais elle échoue dans des Projets Agiles. Les projets agiles peuvent changer de direction en fonction des retours des utilisateurs et des besoins changeants, ce qui signifie que les facteurs qui affectent le timing du projet peuvent également changer.
Par exemple, dans les projets agiles, appelés "épopées", les équipes progressent à travers de courtes cycles, appelés sprints. L'équipe peut rencontrer de nouvelles informations ou des défis, ce qui peut affecter leurs estimations sur le temps nécessaire pour terminer les tâches. Les modèles statiques ne peuvent pas tenir compte de ces changements, ce qui entraîne des inexactitudes dans les estimations de retard.
Comprendre les modèles de retard
Des recherches dans d'autres domaines, comme le transport, ont montré que les retards suivent souvent certains modèles. Par exemple, les retards dans les horaires de train peuvent se produire de manière prévisible sur la base de données historiques. En identifiant ces modèles, les industries du transport peuvent mieux prévoir les retards futurs. La question se pose : ces modèles de retard peuvent-ils être appliqués au développement logiciel pour améliorer les prévisions ?
L'approche discutée ici propose qu'en identifiant les modèles de retard récurrents dans les projets logiciels, les équipes peuvent obtenir des informations sur la façon de prédire les retards futurs plus précisément. Cet article introduit un Modèle dynamique qui utilise ces modèles avec des techniques de Modélisation bayésienne, une méthode statistique qui permet d'apprendre continuellement à partir des données.
Proposition de modèle dynamique
Le modèle dynamique proposé cherche à prédire continuellement les retards globaux du projet en ajustant ses estimations au fil du temps. Il utilise le contexte de la situation actuelle du projet et apprend des performances des équipes impliquées. Ce modèle met à jour ses prédictions après chaque jalon important, prenant en compte les derniers résultats et les changements survenus dans le projet.
En utilisant des données réelles de milliers de projets agiles, ce modèle a été testé pour voir à quel point il pouvait prédire les retards par rapport aux méthodes traditionnelles. Les résultats montrent que le modèle dynamique améliore significativement la Précision prédictive et peut s'adapter à la progression du projet.
Avantages de la prédiction des retards
Les prédictions de retards sont cruciales pour les chefs de projet. Connaitre les retards potentiels permet aux équipes de prendre des mesures proactives pour gérer les risques, ajuster les plans et réduire les chances que les retards s'aggravent. Les méthodes traditionnelles échouent souvent à capturer la nature fluide des projets agiles, menant à des occasions manquées pour une action rapide.
En utilisant le modèle dynamique, les chefs de projet peuvent mieux comprendre quand les retards peuvent survenir et les facteurs qui y contribuent. Ces informations peuvent éclairer la prise de décision et aider les équipes à allouer les ressources plus efficacement.
Collecte et analyse des données
Pour développer le modèle dynamique, des données étendues ont été collectées à partir d'un grand échantillon de projets agiles. Cela incluait des informations sur le calendrier de chaque projet, le nombre de tâches complétées et les retards associés. Les données ont été nettoyées pour garantir leur précision, en se concentrant sur les projets ayant terminé un minimum de itérations.
En utilisant cet ensemble de données, les chercheurs ont identifié divers facteurs qui contribuent aux retards, y compris l'expérience de l'équipe, les dépendances externes et la complexité des tâches. En analysant ces données, l'équipe a pu identifier des modèles de retard qui se répètent à travers différents projets.
Identification des modèles de retard
La prochaine étape a été de catégoriser les modèles de retard identifiés. Quatre principaux modèles de retard ont été reconnus parmi les projets étudiés :
Pic de retard initial avec récupération : Certains projets ont commencé avec un retard significatif mais ont montré une amélioration au fil du temps à mesure que l'équipe s'adaptait.
Performance constante avec retards tardifs : D'autres projets ont maintenu un progrès régulier au départ mais ont rencontré des problèmes imprévus plus tard, entraînant des retards proches de la date limite du projet.
Augmentation progressive des retards : Un autre modèle a montré des projets qui ont commencé lentement mais ont réussi à récupérer au fur et à mesure.
Retards fluctuant : Certains projets ont présenté un modèle de retards et de récupérations, indiquant un besoin de dynamiques d'équipe plus stables.
Ces modèles soulignent l'importance d'une surveillance continue et d'une évaluation tout au long du processus de développement logiciel. En reconnaissant ces modèles, les chefs de projet peuvent développer des stratégies pour résoudre efficacement des problèmes de retard spécifiques.
Construction du modèle bayésien
La modélisation bayésienne a été choisie pour sa capacité à incorporer de nouvelles informations au fil du temps. Cette méthode permet au modèle de mettre à jour ses croyances sur les retards en fonction des données observées du projet. Le modèle a été conçu avec trois composants :
Vraisemblance : Ce composant capture la probabilité d'observer des données actuelles basées sur la performance précédente.
Priors : Ce sont des hypothèses initiales sur les facteurs affectant les retards avant que des données spécifiques au projet soient prises en compte.
Postérieur : C'est la croyance mise à jour qui combine les informations antérieures avec de nouvelles données pour fournir une estimation en temps réel des probabilités de retard.
En appliquant ce modèle, les prédictions sont devenues plus précises à mesure que de nouvelles données devenaient disponibles.
Évaluation du modèle
Le modèle dynamique a été évalué par rapport aux modèles statiques traditionnels pour évaluer sa performance. Il a été testé en utilisant des données de divers projets agiles et comparé dans trois modes différents : global, itératif global et dynamique.
Les résultats ont montré des améliorations significatives de la précision prédictive avec le modèle dynamique. Les évaluations ont indiqué que l'approche dynamique surpassait systématiquement les modèles globaux et globaux itératifs, en particulier pendant les premières phases des projets.
De plus, les prédictions du modèle bayésien sont devenues plus certaines et précises au fil du temps, renforçant la valeur de l'adaptation des estimations au fur et à mesure que le projet progresse.
Résultats clés
Les modèles de retard sont utiles : Les modèles identifiés se sont révélés être des indicateurs précieux pour le retard global du projet. Cela suggère que reconnaître les tendances historiques de retard peut aider à prédire des revers futurs.
Les modèles dynamiques fonctionnent mieux : Le modèle dynamique a surpassé les méthodes traditionnelles, offrant des améliorations significatives en précision prédictive. Cela indique que les projets agiles bénéficient de modèles qui s'adaptent au fil du temps.
Apprendre des données est crucial : La capacité du modèle bayésien à mettre à jour ses prédictions en fonction de nouvelles informations a permis une compréhension plus nuancée des retards. Cette adaptabilité en fait un outil puissant pour les chefs de projet.
L'intervention précoce compte : La capacité à améliorer les prédictions à des jalons plus tôt offre aux équipes une chance d'agir avant que les problèmes ne s'aggravent. Cette approche proactive peut être essentielle pour gérer efficacement les retards.
Implications pour la gestion de projet
Les conclusions de cette recherche ont plusieurs implications importantes pour la gestion de projet dans des environnements agiles. D'abord, cela souligne la nécessité d'une surveillance continue et d'une évaluation de l'avancement du projet. Les équipes agiles devraient suivre non seulement les taux d'achèvement mais aussi les facteurs qui peuvent mener à des retards.
Ensuite, la capacité à identifier des modèles de retards encourage les équipes à rechercher des problèmes récurrents dans leurs processus de développement. En comprenant ces modèles, les équipes peuvent développer des stratégies ciblées pour réduire les retards et améliorer l'efficacité.
Enfin, l'utilisation de modèles dynamiques illustre l'importance de la flexibilité dans l'estimation des projets. Dans un environnement en rapide changement, les équipes peuvent bénéficier de la capacité à adapter leurs prévisions en fonction des développements en cours du projet.
Directions de recherche future
Cette étude ouvre plusieurs voies pour la recherche future. Comprendre les relations causales derrière les modèles de retard et les facteurs de risque pourrait fournir des aperçus plus profonds sur la dynamique des projets. Les études futures pourraient se concentrer sur l'identification non seulement de ce qui existe comme modèles, mais pourquoi ils se produisent et comment les équipes peuvent atténuer leur impact.
De plus, explorer les effets systémiques, comme les variations saisonnières ou les événements externes impactant les délais des projets, pourrait aider à affiner encore plus les modèles de prédiction.
Enfin, rechercher comment les retards peuvent se propager entre des projets interdépendants pourrait mener à une compréhension plus complète de la gestion de projet dans des environnements interconnectés.
Conclusion
En conclusion, prédire efficacement les retards dans le développement logiciel agile est essentiel pour une gestion de projet réussie. L'étude démontre que les modèles dynamiques qui utilisent des modèles de retard et l'apprentissage bayésien offrent des avantages significatifs par rapport aux méthodes traditionnelles et statiques. À mesure que la nature du développement logiciel continue d'évoluer, utiliser des modèles adaptables et réactifs sera crucial pour permettre aux équipes de naviguer dans les incertitudes et d'atteindre leurs objectifs.
En apprenant continuellement à partir des données du projet et en reconnaissant les modèles de retard, les équipes peuvent prendre des mesures proactives pour gérer les risques et améliorer leur performance de livraison. Mettre l'accent sur ces stratégies sera crucial pour les organisations cherchant à réussir dans le paysage de développement rapide d'aujourd'hui.
Titre: Dynamic Prediction of Delays in Software Projects using Delay Patterns and Bayesian Modeling
Résumé: Modern agile software projects are subject to constant change, making it essential to re-asses overall delay risk throughout the project life cycle. Existing effort estimation models are static and not able to incorporate changes occurring during project execution. In this paper, we propose a dynamic model for continuously predicting overall delay using delay patterns and Bayesian modeling. The model incorporates the context of the project phase and learns from changes in team performance over time. We apply the approach to real-world data from 4,040 epics and 270 teams at ING. An empirical evaluation of our approach and comparison to the state-of-the-art demonstrate significant improvements in predictive accuracy. The dynamic model consistently outperforms static approaches and the state-of-the-art, even during early project phases.
Auteurs: Elvan Kula, Eric Greuter, Arie van Deursen, Georgios Gousios
Dernière mise à jour: 2023-10-02 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2309.12449
Source PDF: https://arxiv.org/pdf/2309.12449
Licence: https://creativecommons.org/licenses/by-sa/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.
Liens de référence
- https://oda.oslomet.no/oda-xmlui/bitstream/handle/10642/8325/j%25C3%25B8rgensen-evaluation-2019.pdf?sequence=1&isAllowed=y
- https://online.stat.psu.edu/stat415/lesson/23/23.2
- https://www.nature.com/articles/s41598-020-75538-z
- https://www.sciencedirect.com/science/article/pii/S2210970619300794
- https://www.sciencedirect.com/science/article/abs/pii/S0376871612000439
- https://diagnprognres.biomedcentral.com/articles/10.1186/s41512-020-00090-3
- https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0157104
- https://studycorgi.com/risk-management-is-a-dynamic-and-continuous-process/
- https://dl.acm.org/doi/abs/10.1145/1868328.1868342?casa_token=UniFObDBmAAAAAAA%3AuNq57vPeD_QWNI9agU6XfV3qzrAz78Kl4JA8pTNsWqe81D3lc59-MOKlM4kNgUkxTTypWWTRpHZd
- https://towardsdatascience.com/how-to-apply-k-means-clustering-to-time-series-data-28d04a8f7da3
- https://stats.stackexchange.com/questions/337439/clustering-customers-by-their-orders-sequence-patterns
- https://stats.stackexchange.com/questions/131281/dynamic-time-warping-clustering
- https://rdatamining.wordpress.com/2011/08/23/time-series-analysis-and-mining-with-r/
- https://dl.acm.org/doi/abs/10.1145/3397271.3401182?casa_token=pppzyAgAnQ8AAAAA%3A6CURL6EgZ1qdHy_1XUs8OaME5HIKJGlQQ6Eh10T8_joAdAlqHX6aJ0mKRVdkjPKzDSf7iojqXv1O
- https://mc-stan.org/
- https://www.sthda.com/english/wiki/kruskal-wallis-test-in-r
- https://asana.com/resources/story-points