La qualité d’aujourd’hui est la productivité de demain — Orange Innovation School mars 2021
-> Comprendre comment intégrer les pratiques de qualité dans le logiciel sans perte sur la productivité ?
-> Quelles pratiques de développement pour améliorer la qualité à long terme du logiciel ?
software organization when it chooses an expedient design or construction approach that increases complexity and is more costly in the long term » - Ward Cunningham
Est-ce une décision business ? 2. Avez vous le temps de refaire cette fonctionnalité ? 3. Donnez-vous carte blanche à l’équipe de développement pour la rembourser ? Temps Fonctionnalités Prise de dette Remboursement
a system must be continually adapted or it becomes progressively less satisfactory. 2. Continuing Growth : the functional content of a system must be continually increased to maintain user satisfaction over its lifetime. 3. Increasing Complexity : as a system evolves, its complexity increase unless work is done to maintain or reduce it. 4. Declining Quality : the quality of a system will appear to be declining unless it is rigorously maintained and adapted to operational environment changes Le logiciel, un objet technique sous tension permanente :
L’équipe n’arrive pas à fournir à temps les fonctionnalités L’équipe génère de la « dette technique » pour accélérer Il faut prendre le temps de résorber la dette
fi n du sprint La vélocité n’est pas bonne, il reste beaucoup de user story L’équipe génère de la « dette technique » pour accélérer Il faut résorber la dette au début du sprint suivant
pratiques agile et crafts n’ont pas pour objectif d’offrir une réduction des temps de développement, mais de maintenir dans le temps la productivité de l’équipe.
symptômes Les bugs, régressions fonctionnelles, un code dif fi cile à maintenir sont des symptômes L’absence de pratiques, une culture technique défaillante, des équipes techniques sous pression sont les causes Sans traiter les cause, les symptômes ne feront que réapparaitre.
les organisations qui conçoivent des systèmes [...] tendent inévitablement à produire des designs qui sont des copies de la structure de communication de leur organisation. » Les RH sont les premiers architects de votre système d’information
des charges qui part en production « It is not stack-holder knowledge but developer’s ignorance that get deployed in production » Client Chef de projet fonctionnel Chef de projet technique Solution Architecte Architect logiciel Développeurs Jeu du téléphone, Enterprise Edition™ - Alberto Brandolini
meilleur à estimer les temps de développement Vous devez améliorer la prédictibilité de vos développement L’excellence technique permet d’assurer une meilleure prédictibilité des développements futur.
Code management Deployment automation Unit Testing Integrated tests Infra As Code Coding standard Version Control L’intégration continue permet d’aligner l’ensemble des pratiques
en niveau accélérée des équipes de développement 2. Moins de défaut dans le code livré 3. Evite les code reviews bloquantes 4. Limite votre bus factor Le pair programming, un gain de temps énorme