Présentation sur la méthodologie projet, historique et innovation des logiciels Métiers.
Cette conférence a été réalisée dans le cadre des Rencontres du Logiciel Métier #1 organisées par la société 2LE et ses partenaires le 23 novembre 2023 à la SIM de Mulhouse.
2. 2023
Sommaire
• Intro : Historique de l’industrie informatique
• Méthodologie logicielle à travers les Âges
• Apollo 11
• Méthode en V
• XP
• Scrum
• Manifeste agile
• Innovation en méthodologie
• Software Craftsmanship
• Water Scrum Fall
• #NoEstimates
• Révolution Devops
9. 2023
Evolution des méthodes de développement
1969 1996 2001 2009
1999
1980
Apollo
11
XP : eXtreme
Programming
Manifeste
agile
Méthode
en V
Scrum
Manifeste
Software
Craftsmanship
10. 2023
Apollo 11
•Invention du concept de
« Génie Logiciel » par
Margaret Hamilton
• Process rigoureux
• Techniques de conception
modulaire
• Documentation
• Tests rigoureux
12. 2023
Méthode en V
Principaux problèmes :
● Énorme risque sur la qualité des spécifications
● Pas de prise en compte des changements dans le cycle
● Aucune garantie de qualité au niveau profond
● Innovation ? Force de proposition ?
14. 2023
Scrum
● Importance des timebox et itération
● Langage commun
● Imprédictibilité
● Intégration du Product Owner
Problèmes principaux :
● Water-Scrum-fall
● Pas de guide de pratique de développement
16. 2023
Manifeste agile
1. Notre principale priorité est de satisfaire le client en livrant rapidement et régulièrement des
solutions qui apportent de la valeur.
2. Accueillez chaleureusement les changements de besoins, même tardifs dans le développement.
Les processus agiles tirent parti du changement pour renforcer l’avantage concurrentiel du client.
3. Livrez souvent des solutions opérationnelles, à une fréquence allant de quelques semaines à
quelques mois, avec une préférence pour les échelles de temps les plus courtes.
4. Les personnes en charge du métier ou des affaires et les personnes en charge de la réalisation
doivent travailler ensemble chaque jour, tout au long du projet.
5. Construisez les projets à partir de personnes motivées. Donnez-leur l’environnement et le soutien
dont elles ont besoin et faites-leur confiance pour mener à bien le travail.
6. La conversation en face à face est la méthode la plus efficace et la plus économique pour donner
des informations à une équipe de réalisation, et pour échanger des informations à l’intérieur de l’
équipe.
17. 2023
Manifeste agile
7. La disponibilité de solutions opérationnelles est la principale mesure d’avancement.
8. Les processus agiles encouragent à respecter un rythme soutenable lors de la
réalisation. Les commanditaires, les réalisateurs et les utilisateurs devraient pouvoir
maintenir indéfiniment un rythme constant.
9. Porter continuellement attention à l’excellence technique et à la qualité de la
conception renforce l’agilité.
10. La simplicité – l’art de maximiser la quantité de travail qu’on ne fait pas – est
essentielle.
11. Les meilleures architectures, les meilleures spécifications de besoins, et les meilleures
conceptions émergent d’équipes auto-organisées.
12. À intervalles réguliers, l’équipe réfléchit aux façons de devenir plus efficace, puis
modifie son comportement et l’ajuste en conséquence.
20. 2023
Quelques lois fondamentales
• Loi de Humphrey : Les utilisateurs ne savent pas ce qu'ils veulent tant
qu'ils ne voient pas le logiciel en état de marche
• Loi de Hofstadter : Cela prend toujours plus de temps que prévu,
même en tenant compte de la loi de Hofstadter. -Douglas Hofstadter
• Loi de Parkinson : Les travaux s’étendent de manière à occuper le
temps disponible pour leur achèvement
23. 2023
Software Craftsmanship
Pas seulement des logiciels opérationnels, mais
aussi des logiciels bien conçus.
Pas seulement l'adaptation aux changements,
mais aussi l'ajout constant de valeur.
Pas seulement les individus et leurs interactions,
mais aussi une communauté professionnelle.
Pas seulement la collaboration avec les clients,
mais aussi des partenariats productifs.
Qualité du code
✔ Tests automatiques
✔ Utilisation du vocabulaire métier dans le code
✔ Conception simple
Code amélioré en continu
✔ Testable
✔ Exécutable
✔ Refactorisé si nécessaire
Pair programming / Mentorat
✔ Partage de connaissances
✔ Discussions, nouvelles idées
✔ Apprendre de ses échecs
Pa de travail « à la chaîne »
✔ Devoir de conseil envers les clients
✔ Savoir dire non pour le bien du projet
✔ Client intégré tout au long du projet
24. 2023
#NoEstimates
Les bases du mouvement :
• Mouvement amorcé en 2012 par Woody Zuill
• Remise en question de l'efficacité d'utiliser des estimations pour prédire le coût
et le calendrier d'un projet
• Trop de variables complexes qui impactent l'exactitude d'une estimation,
rendant les estimations inutiles
Comment fonctionne le #NoEstimates ?
• Ne pas investir de temps et d’argent dans une estimation mais commencer tout
de suite la User Stories amenant le plus de valeur ajoutée
• Puis continuer par la user Story suivant
• Travailler par User Stories permet de modifier par l’usage le besoin initial
• Compter le nombre de User Stories à réaliser et non le temps estimé pour
chacune
25. 2023
#NoEstimates
Arguments pour le #NoEstimates : Les estimations sont …
• plus une habitude qu’une pratique efficace et bénéfique
• toujours inexactes et donc inutiles
• souvent gonflées par les développeurs, encourageant la méfiance
entre les membres de l'équipe, les gestionnaires et les clients
• faites au moment du processus de développement où nous en
savons le moins sur ce qui est réellement à faire
Arguments pour le #Estimates :
• Pas d’estimation = pas de financement
• Améliorer les estimations au lieu de les abandonner
• Estimer le futur à partir des expériences du passé pour plus de
précision
27. 2023
Révolution Devops
7 mesures :
1. Investissement organisationnel
2. Expérience et efficacité des chefs d'équipe
3. Livraison continue
4. La capacité des différentes disciplines (développement, opérations et
infosec) à obtenir des résultats gagnant-gagnant
5. La performance organisationnelle
6. Douleur de déploiement
7. Pratiques de gestion Lean