La qualité : une question de survie

Les tests sont sacrifiés sur l'autel du time to market et de la réduction des coûts. La mauvaise qualité des applications risque de plomber les projets informatiques. La prise en compte de la qualité tout au long du cycle de vie de l'application est la clé pour réussir le passage à l'ère industrielle du développement logiciel.
envoyer
par mail
imprimer
l'article
partager sur Viadeo
partager sur Facebook
partager sur LinkedIn
partager sur Scoopeo
partager sur Technorati
partager sur Digg
partager sur Delicious
partager sur Google
partager sur Myspace
partager sur Yahoo!

Aujourd'hui, selon The Standish Group, à peine un peu plus d'un tiers des projets informatiques réussissent, c'est-à-dire sont livrés dans les temps, respectent les budgets impartis et répondent aux attentes des utilisateurs. Quelle industrie pourrait se permettre un taux de réussite aussi faible ? Même quand ils ne mettent pas en danger des vies humaines ou qu'ils ne provoquent pas la faillite de sociétés, les incidents logiciels ont des conséquences désastreuses, amplifiées par l'importance prise par l'informatique dans les entreprises : perte du chiffre d'affaires, destruction de l'image de marque, réclamation de compensation, baisse de productivité… Les exemples ne manquent pas : les erreurs logicielles coûteraient 60 milliards de dollars par an à l'économie étatsuniennes, selon le Nist (National Institute of Standards and Technology), et d'après Gartner, 40 % du temps d'indisponibilité non planifié serait dû à des problèmes applicatifs. D'autre part, on trouverait entre cinq à 15 défauts toutes les 1 000 lignes de code…

Des phases de tests trop souvent sacrifiées

Depuis quarante ans, le génie logiciel cherche à améliorer l'activité du développement : programmation structurée, Case (Computer-Aided Software Engineering), OOP (Object Oriented Programming), MDD (Model Driven Development), ALM (Application Lifecycle Management), SOA, agilité… En vain. Le développement logiciel n'arrive pas à atteindre la Qualité Totale mise enœuvre dans l'industrie. Tout se joue avec trois curseurs : coût, délai et qualité. Dans un contexte concurrentiel où le délai de mise sur le marché (time to market) fait la loi et où la réduction des coûts s'impose, c'est souvent la phase finale qui est sacrifiée, à savoir les tests.

Mauvais calcul, car alors ce sont les utilisateurs qui détecteront les problèmes. Selon Forrester, le coût de correction d'un défaut repéré lors des spécifications est multiplié par deux s'il est décelé lors de la conception, par 10 lors du développement, par 50 lors du test et par 100 en production ! Alors que le Nist révèle que 70 % des défauts seraient introduits pendant la phase de spécification et de conception, contre moins de 20 % pendant le codage et les tests unitaires. Il faut donc prendre en compte la qualité le plus tôt possible en amont et la suivre tout au long du cycle de vie. Cette tendance se traduit depuis quelques années sous différentes formes. Au niveau de l'équipe de test, il existe des référentiels, des outils, des métriques, des normes et des certifications spécifiques au métier du test logiciel (TMap, ISO, TMMi, TPI…).

D'autre part, la gestion du cycle de vie des applications (ALM) cherche à piloter les différentes phases du développement (tests compris) et à faire collaborer les intervenants. Une démarche qui améliore la qualité du développement. Dans des contextes particuliers, les pratiques agiles peuvent contribuer à la qualité. Enfin, au niveau de l'entreprise, la gestion de la qualité se retrouve dans des démarches d'amélioration des processus (CMMi, Cobit, Spice…).

Pour Jean-Pierre Corniou, DGA de SIA Conseil, “ les outils et les méthodes existent. Il “ suffit ” de les appliquer ! Le vrai sujet est de bannir l'urgence. Les délais irréalistes imposés par les maîtrises d'ouvrage, les dérapages par rapport aux plannings conduisent à sacrifier les phases de validation et de tests. Or elles sont essentielles. Il faut protéger le budget et le délai de ces phases, quitte à abaisser le niveau de sophistication fonctionnelle. ” Pour réussir son passage à l'ère industrielle, le développement d'application devra intégrer cette composante. Les entreprises qui auront pris en compte la qualité sauront se rendre indispensables et survivront en ces périodes troubles. ?

publicité
à lire aussi
SUR LES MÊMES THÈMES
Sécurisez vos applications Web dès leur conception
Google annonce Android 2.0 et livre un nouveau SDK
Le noyau de Symbian est désormais open source
Surveiller ses bureaux... avec un routeur Cisco
Téléphoner via Firefox va devenir banal
Un concours de développement d’applications mobiles ouvert aux étudiants
Nokia met à la disposition des développeurs un kit pour OVI
Palm ouvrira en septembre une boutique en ligne pour le Pre