Présentation / Sensibilisation à la qualité logicielle, à l'assurance qualité et au contrôle du code des applications.
Cette présentation est le premier chapitre introductif du thème. Elle rappelle les principaux écueils que rencontre tout projet de développement informatique.
2. Hello!
Je suis Sylvain Leroy
Vous pouvez me trouver sur :
sylvain.leroy@tocea.com / @sleroy0
about.me/sylvain_leroy
2007
Ingénieur
Recherche
Informatique
2011
Création
Société Tocea
2014
Acquisition Tocea
Groupe Metrixware
CTO Tocea
2015
Acquisition Echoes
Groupe Metrixware
CTO MetrixwareProjet Recherche
3. Ma Société
▧ Assistance Qualité / Recette
applications
▧ Modernisation automatique d’
applications
▧ Offre Intégration Usine
Logicielle
▧ Formateurs Bonnes Pratiques
/Cleancode / Qualité / Devops
▧ Distributeur Outils de
qualité de code
(Optimyth)
▧ Komea Dashboard
(Pilotage développements
par la
qualité/productivité)
▧ Offres Cobol/Mainframe
4. Concepts abordés
Outillage
Sonar, Kiuwan, Jenkins,
Jacoco, Cobertura, Nexus,
Artifactory, Docker, Puppet,
Komea
Contrôle de la
qualité logicielle
Processus et mesure de la
qualité des développements
logiciels
Assurance Qualité
Performance du processus
de développement et
risques sur la qualité
logicielle
Tests
Couverture du code
TU, Acceptation,
Intégration, Smoking Tests,
Performance.
Pré-requis Projet de
développement
Checklist outillage et
méthodologies
Méthodologie
CleanCode, Continuous
Delivery, TDD, BDD
6. Plan :
1. A la quête du logiciel parfait
2. L’assurance (qualité) tout risque
3. La qualité logicielle ?
4. Les défauts, évaluation indirecte de la satisfaction
client
5. L’industrialisation du processus de développement
6. Le contrôle de la qualité logicielle
8. Les projets informatiques échouent!
Gartner institute
▧ 74% échouent
▧ 51% dépassent du budget
Oxford University
(Saur & Cuthbertson 2003)
▧ 16% réussis
▧ 74% remis en question
▧ 10% abandonnés
Tata Consultancy 2007
▧ 62% ne tiennent pas les délais
▧ 49% dépassent leur budget
▧ 47% ont des coûts de
maintenance important
▧ 41% n’ont pas démontré le ROI
attendu / valeur ajoutée
▧ 33% vont à l’encontre des enjeux
Standish Group
1994 1996 1998 2000 2002 2004 2009
Succès 16% 27% 26% 28% 34% 29% 32%
Echecs 31% 40% 28% 23% 15% 18% 24%
Remis en question 53% 33% 46% 49% 51% 53% 44%
Si les ingénieurs du génie civil construisaient les bâtiments avec le même soin que
les ingénieurs informatiques avec leurs logiciels, le premier pic-vert venu serait la fin
de la civilisation telle que nous la connaissons.
“TOP 10 Reasons Why Systems Projects Fail”, Dr. Paul Dorsey
9. Si les projets n’échouent pas,
ils peuvent encore être annulés
Patterns of Software System Failures and Success, Casper Jones, 2015
10. Pourquoi les projets échouent ?
▧ Manque d’implication des utilisateurs
▧ Manque de transparence (lean management)
▧ Échelles de temps longues ou irréalistes
▧ Pas d’exigences ou de qualité pauvre
▧ Mauvaise gestion
▧ Développement technique de qualité pauvre
▧ Peu de tests
▧ Pas d’assurance qualité
▧ Méthodologie de développement inadéquate
▧ Faibles compétences techniques, expérience ou du
domaine
▧ ...
11. Et si le marché était impitoyable ?
▧ Les logiciels sont toujours plus complexes
▧ Les Changements sont continus et perpétuels
▧ Le Marché ultra fluctuant
▧ Les logiciels conçus à large échelle sont désormais la
norme
▧ Les travailleurs peu qualifiés ne sont pas la réponse à la
demande de création de produits high-tech.
▧ L’industrie logicielle a besoin de leaders techniques et ils
ne vont pas apparaître tous seuls
▧ Les projets vivent et meurent à cause des Technologies ,
des Humains et des Processus
▧ Réaliser un projet de développement logiciel c’est plus que
coder, c’est au moins 10 étapes, des exigences au support
officiel.
12. “Parce que les logiciels finissent par
ressembler aux organisations qui les ont
produites
Loi de Conway, 1968
organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations