20
White Paper Octobre 2009 A CHIEVE I NSIGHT. D ELIVER E XCELLENCE. La valeur business de la qualité logicielle d’une application Lorsqu’une application critique subit une panne, la perte financière est importante et immédiate. Les applications de mauvaise qualité provoquent des dégâts majeurs très visibles ; elles causent également une baisse constante de la performance métier, certes moins visible, mais qui alimente la perte de revenu. Une amélioration mineure de la qualité peut se traduire par des gains significatifs. Pourtant les dirigeants peinent à élaborer un dossier pour justifier les investissements en qualité logicielle. Ce document présente une méthode de mesure de l’impact économique induit par l’amélioration de la qualité logicielle. Dr. Bill Curtis Vice-Président Sénior et Directeur Scientifique, CAST Co-auteur du CMM & Business Process Maturity Model, Sommité reconnue en qualité logicielle

Quelle valeur ajoutée tirer de la qualité technique des applications?

Embed Size (px)

DESCRIPTION

Quand une application critique connait une défaillance, le manque à gagner est souvent énorme et immédiat. Des applications de qualité médiocre peuvent générer des interruptions de service majeures.Pourtant, les DSI peinent à justifier les investissements pour rendre proactive la gestion de la qualité des applications : lorsque les pertes imputables à la mauvaise qualité des logiciels sont calculées à partir des seuls coûts de maintenance et de développement, l'impact de la perte reste quasi invisible. Ce document présente un modèle quantitatif pour mesurer la manière dont la qualité des applications impacte positivement le revenu.

Citation preview

Page 1: Quelle valeur ajoutée tirer de la qualité technique des applications?

White PaperOctobre 2009 A C H I E V E I N S I G H T. D E L I V E R E X C E L L E N C E .

La valeur business de la qualité logicielle d’une application

Lorsqu’une application critique subit une panne, la perte financière est importante et immédiate. Les applications de mauvaise qualité provoquent des dégâts majeurs très visibles ; elles causent également une baisse constante de la performance métier, certes moins visible, mais qui alimente la perte de revenu. Une amélioration mineure de la qualité peut se traduire par des gains significatifs. Pourtant les dirigeants peinent à élaborer un dossier pour justifier les investissements en qualité logicielle. Ce document présente une méthode de mesure de l’impact économique induit par l’amélioration de la qualité logicielle.

Dr. Bill CurtisVice-Président Sénior et Directeur Scientifique, CAST

Co-auteur du CMM & Business Process Maturity Model, Sommité reconnue en qualité logicielle

Page 2: Quelle valeur ajoutée tirer de la qualité technique des applications?
Page 3: Quelle valeur ajoutée tirer de la qualité technique des applications?

La valeur business de la qualité logicielle d’une application Page 1

RésuméDr. Bill Curtis, Vice-Président Senior et Directeur Scientifique de CAST, présente une approche quantitative permettant de mesurer en quoi l’amélioration de la qualité des applications impacte les bénéfices et la réduction des coûts informatiques.

Le constat

• Alorsquelaplupartdesentreprisessontenmesuredequantifierlescoûtsdesinterruptionsdeservicedeleursapplications,ellespeinentàélaborerdesdossierspourjustifierlesinvestissementsenqualitélogicielleàréaliserpourprévenircesdéfaillances.

• Lesbugsenproductionsontrarementimputablesàunemauvaisedéfinitiondesbesoinsfonctionnels,ilssonttropsouventdusàdesdéfautstechniques(non-fonctionnels)quirésultentd’unemauvaiseconceptionetd’unmauvaiscodageetquinedeviennentvisiblesqu’aprèslamiseenproduction.

• Lamauvaisequalitédesapplicationsestlacausedenombreuxproblèmescritiquesquimettentendangerlerevenu:pannesdessystèmesstratégiques,donnéescorrompues,faillesdesécurité,non-conformitésaveclaréglementation,etc.Cesproblèmeséchappentgénéralementàladétectionlorsdelaphasedetests.

• Résultat:lesproblèmesdeperformancemétierdusàunequalitélogicielleinsuffisanteréduisentdefaçonconséquentelavaleuréconomiqueetaugmententlesdépensesinformatiquesduranttoutelavied’uneapplication.

La solution

• Grâceàunerechercheintensiveetàsonexpériencepratiqueacquiseauprèsdeses650clientsdanslemondeentier,CASTaidentifiélescinqdomainesclédequalitélogicielled’uneapplicationlespluscritiquesentermed’impactsurlerevenu,appelésfacteursdesanté.

• L’améliorationdecesfacteursdesantéaunimpactdirectsurl’augmentationdelaproductivitémétier,surl’accélérationdelamisesurlemarché,surl’améliorationdel’expérienceclientetlaréductiondesdépensesinformatiques.C’estunesituationgagnant-gagnant:desbénéficesmétierconséquentstoutenréduisantlesdépensesinformatiques.

Page 4: Quelle valeur ajoutée tirer de la qualité technique des applications?

La valeur business de la qualité logicielle d’une application Page 2

Résumé (suite)• Enmesurantetencontrôlantlesfacteursdesantédèsledébutducyclede

viedel’application,vousgarantissezauxmétiersunelivraisondequalité.Lesproblèmesdequalitédesapplicationssontdécouvertsavantqu’ilsnesetransformentenincidentsmajeurslorsdelamiseproduction;Lescausesdecesdéfautssontidentifiéesetpeuventêtresuppriméesunebonnefoispourtoutes,évitantainsitouteinterruptionimportantedel’activitéetlafrustrationdesclients.

• Unebaissede10%delaperformanced’uneapplicationpeutrapidementsechiffrerenunepertedeproductivitéd’undemi-milliond’eurosenuntrimestre.

• Sidesaméliorationsdelaqualitélogiciellegénèrentuneréductiondureworkde25%paranetpermettentauxéquipesdemaintenancederéduirede60%letempspasséàdéchiffrerlecode,celapermetd’affecterles75000€économisésparapplicationàlacréationdenouvellesfonctionnalités.

Clés à retenir

• Cedocumentproposedesméthodesconcrètespourcalculerlescoûtsmétieretinformatiquesinduitsparunebaissedelaqualitédesapplications.

• Enmesurantetenaméliorantdefaçonproactivelesfacteursdesanté,leséquipesinformatiquespeuventfortementaméliorerlaqualitéetlavaleurbusinessd’uneapplicationtoutenréduisantlescoûts.

• Lorsquedespertesduesàunefaiblequalitédesapplicationsnesontévaluéesqu’enregarddescoûtsdedéveloppementoudemaintenance,leurimpactestinvisible.Toutefois,lorsqu’ellessontévaluéesparrapportauxcoûtsetauxpertesd’opportunitéscommerciales,investirdanslaqualitédesapplicationsdevientuneévidence.

• Lesorganisationsinformatiquespeuventvolontiersutiliserlesexemplesdétaillésfournisdanscelivreblancpourcréerundossierd’investissementirréfutableafind’améliorerlaqualitélogicielledeleursapplicationscritiques.

Page 5: Quelle valeur ajoutée tirer de la qualité technique des applications?

La valeur business de la qualité logicielle d’une application Page 3

Sommaire

I. Pourquoi la qualité logicielle

d’une application métier

est-elle importante ?

II. Comment mesurez-vous

la qualité logicielle d’une

application métier ?

III. Comment les facteurs de santé

affectent-ils la valeur métier ?

IV. Réduire les risques métier

V. Maximiser l’expérience client

VI. Augmenter l’agilité métier

VII. Améliorer la productivité métier

VIII. Augmenter la contribution de

l’informatique

IX. Un exemple de perte de valeur

directement lié à une faible

qualité logicielle

X. La valeur correspondant à

l’amélioration de la qualité

logicielle des applications

I. Pourquoi la qualité logicielle d’une application métier est-elle importante ?

Les activités en ligne prenant une part de plus en plus importante dans l’activité des entreprises, les préoccupations concernant la qualité des applications métier sont passées du service informatique au comité de direction. Les indisponibilités d’un site d’e-commerce se mesurent en ventes perdues. L’échec de l’enregistrement d’un client peut être mesuré en défection de clients. Des données financières corrompues peuvent être mesurées en frais de retraitement. Ces trois incidents se mesurent également en détérioration de l’image de l’entreprise.

Le type de problèmes le plus souvent à l’origine de ces catastrophes ne sont pas des défauts de logique fonctionnelle («ce que l’application est supposée faire»). Ces problèmes sont provoqués par les défauts non-fonctionnels résultant d’une mauvaise conception et d’une mauvaise programmation («la façon dont l’application le fait»). La plupart des défauts fonctionnels sont détectés pendant la phase de tests. Les défauts non fonctionnels sont souvent sous-jacents jusqu’à ce qu’ils soient révélés au cours d’opérations courantes et entraînent des incidents critiques. Comme Diomidis Spinellis le précise dans son ouvrage récent, Code Quality, « ne pas satisfaire à une exigence non fonctionnelle peut être critique, voire catastrophique… les exigences non fonctionnelles sont parfois difficiles à vérifier. Nous ne pouvons pas créer un test pour vérifier la fiabilité du système. »

Alors que la plupart des entreprises sont en mesure de quantifier les coûts des pannes de leurs applications, elles peinent à élaborer des dossiers pour justifier les investissements en qualité logicielle à réaliser pour empêcher ces défaillances. Ce document présente une méthode permettant d’estimer et de mesurer les conséquences des améliorations de la qualité sur la valeur métier. Estimer les bénéfices qu’une organisation réalisera en améliorant la qualité logicielle d’une application nécessite une connaissance approfondie du métier que l’application supporte.

II. Comment mesurez-vous la qualité logicielle d’une application métier ?

La qualité logicielle d’une application correspond, entre autres, à la robustesse de son architecture et au fait que sa conception suive les bonnes pratiques de programmation. Elle ne peut être mesurée au moyen de tests conçus pour

Page 6: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 4

vérifier la justesse fonctionnelle d’une application : l’évaluation de la qualité logicielle concerne les caractéristiques non fonctionnelles d’une application - la structure interne et l’ingénierie du code.

Grâce à une recherche intensive et à son expérience de l’industrie, CAST a identifié les cinq domaines clé de qualité logicielle d’une application les plus critiques en terme d’impact sur le revenu. Ces cinq points, ou ‘facteurs de santé’ sont comparables, mais pas identiques, aux mesures qualitatives d’un logiciel définies dans la norme ISO 9126. Chacun de ces cinq facteurs peut être évalué en mesurant de nombreuses caractéristiques du logiciel et en agrégeant les résultats dans un facteur de santé récapitulatif (cf. tableau 1). Ces facteurs de santé résument la qualité interne d’un logiciel à un niveau pouvant être lié aux résultats et à la valeur métier. Ces facteurs de santé et certains des bénéfices métier sur lesquels ils influent sont résumés dans le tableau 1.

CAST a identifié les cinq domaines

clé de qualité logicielle d’une

application les plus critiques en

terme d’impact sur le revenu.

Tableau 1 - Les facteurs de santé et leurs avantages métier

Health Factor Description Example business benefits

Transférabilité Caractéristiques permettant à de nouvelles équipes ou à de nouveaux entrants de comprendre et de travailler rapidement sur une application

• Réduit l’inefficacité due au transfert entre les équipes • Réduit les courbes d’apprentissage• Réduit la dépendance envers les prestataires

Évolutivité Caractéristiques qui rende une application plus simple et plus rapide à modifier

• Améliore l’agilité métier en répondant au marché ou aux clients• Réduit le coût de possession en réduisant l’effort de modification

Robustesse Caractéristiques affectant la stabilité d’une application et la probabilité d’introduire des défauts en la modifiant

• Améliore la disponibilité des services métier• Réduit le risque de pertes dû à un dysfonctionnement opérationnel• Réduit le coût de possession d’une application en réduisant le rework

Performance Caractéristiques affectant la performance d’une application

• Réduit le risque de perdre des clients à cause d’un service de faible qualité ou de temps de réponse dégradés

• Améliore la productivité des utilisateurs de l’application• Augmente la rapidité de prise de décisions et de transmission

d’informations • Améliore la capacité d’adapter une application à la croissance de

l’activité d’une entreprise

Sécurité Caractéristiques affectant la capacité d’une application à prévenir toute intrusion non autorisée

• améliore la protection des informations sensibles • réduit le risque de perte de confiance des clients ou de

dommages financiers • augmente la conformité réglementaire en matière de sécurité

Page 7: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 5

III. Comment les facteurs de santé affectent-ils la valeur métier ?

Les coûts de la mauvaise qualité logicielle d’une application peuvent être évalués par rapport à cinq objectifs business principaux :

•Réduirelesrisques

•Augmenterl’agilité

•Améliorerlaproductivité

•Optimiserlacontributiondel’informatiqueaumétier

•Améliorerl’expérienceclient

La qualité logicielle des applications métier est cruciale pour obtenir de bons résultats informatiques. Ces résultats, à leur tour, affectent un grand nombre de résultats métier indispensables pour réaliser les objectifs business. Cette chaîne de création de valeur entre les facteurs de santé et les objectifs business est représentée de droite à gauche sur la figure 1. Ces relations sont multiples puisque les facteurs de santé et les objectifs informatiques interagissent de plusieurs façons avec les résultats et les objectifs business.

Figure 1. Relations entre les facteurs de santé et les objectifs business

La qualité logicielle des applications

métier est cruciale pour obtenir

de bons résultats informatiques

qui, à leur tour, affectent un

grand nombre de résultats métier

indispensables pour réaliser les

objectifs business.

Maximiser la disponibilité métierMinimiser la dégradation du service

Minimiser la perte de revenuMinimiser les pénalités

Minimiser les coûts des clientsMinimiser la reconstruction de données

Minimiser les pannes involontairesMaximiser la protection des informations

Maximiser la confiance des clientsMaximiser la fidélité client

Maximiser la conformité réglementaireAccélérer les mises sur le marché

Améliorer le temps de réponse aux clientsPermettre la personnalisation de masse

Soutenir la croissance de l’activitéAccélérer la réactivité

Accélérer la récupération des informationsAugmenter les nouvelles fonctionnalités

Augmenter la disponibilité des ressourcesRéduire le coût de possession

Réduire les coûts opérationnelsRéduire la dépendance au fournisseur

Réduire les défauts existants

Réduire les nouveaux défauts

Améliorer la stabilité

Garantir l’intégrité architecturale

Réduire les défauts de sécuritéGarantir la conformitéavec les règles de programmationAméliorer la performance

Réduire la complexité du code

Optimiser l’évolutivité

Réduire les efforts de modification

Réduire le rework

Améliorer la lisibilité du code

Réduire les courbes d’apprentissage

Faciliter le transfert entre équipes

Minimiserles risques

Objectifsbusiness

Résultatsmétier

Objectifsde l’informatique

Facteursde santé

Augmenterl’agilité

Augmenterla productivité

Optimiserla contribution

de l’informatique

Robustesse

Sécurité

Performance

Évolutivité

Transférabilité

Page 8: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 6

La qualité d’une application peut être évaluée par rapport à un ensemble d’objectifs plus spécifiques qui découlent de chaque objectif business. Par exemple, les risques peuvent être composés de :

•pannesdessystèmescritiques,

•donnéescorrompues,

•violationsdelasécurité,et

•non-conformitésaveclaréglementation.

Chacun de ces objectifs plus spécifiques peut avoir un ensemble unique de résultats qui l’affecte. Les résultats informatiques varieront en fonction des résultats spécifiques qu’ils impactent le plus. La figure 2 présente une analyse détaillée de la façon dont ces facteurs de santé affectent les quatre sous-objectifs qui composent l’objectif de réduction des risques.

Ce schéma montre bien que la qualité logicielle d’une application a un impact direct sur les résultats business et sur la réalisation de ses objectifs. Même sans créer un modèle quantitatif des relations dans ce schéma, il est possible d’utiliser des équations simples illustrant comment la qualité d’une application peut affecter la valeur économique dérivée d’une application.

Nous n’avons pas besoin de

modèles sophistiqués pour

démontrer le lien entre la qualité

d’une application et les objectifs

business. Des équations simples

suffisent.

Objectifsbusiness

Résultatsmétier

Objectifsde l’IT

Facteursde santé

Minimiserles risques

Robustesse

Sécurité

Performance

Évolutivité

Interruptionsde service

Donnéescorrompues

Violations dela sécurité

Non-conformitésréglementaires

Maximiser la disponibilité métierMinimiser la dégradation du service

Minimiser la perte de revenuMinimiser les pénalités

Minimiser les coûts des clientsMinimiser la reconstruction de données

Minimiser les pannes involontairesMaximiser la protection des informations

Maximiser la confiance des clientsMaximiser la fidélité client

Maximiser la conformité réglementaire

Réduire les défauts existants

Réduire les nouveaux défauts

Améliorer la stabilité

Garantir l’intégrité architecturale

Réduire les défauts de sécurité

Garantir la conformité avecles règles de programmation

Améliorer la performance

Optimiser l’évolutivité

Figure 2. Relation entre les facteurs de santé et les sous-objectifs de réduction du risque

Page 9: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 7

Le coût lié à une mauvaise qualité

logicielle peut être exprimé en

termes de perte de revenu connu,

actuel ou futur, de coût de sous-

utilisation des employés, de

pénalités et d’autres coûts basés

sur des données métier historiques.

Les sections suivantes présentent des équations qui démontrent comment utiliser ces relations pour exprimer la valeur économique de la qualité logicielle des applications. Ces équations ne sont pas présentées sous forme de véritables analyses ROI puisque nous n’incluons pas le coût de l’argent, les périodes de recouvrement des investissements et d’autres éléments des modèles ROI classiques. Elles représentent les pertes liées à chaque objectif business et illustrent comment la mauvaise qualité logicielle des applications se traduit en une perte de revenu et en une augmentation des coûts.

IV. Réduire les risques métier

Les risques sont souvent la façon la plus simple de quantifier les avantages qualitatifs. Le coût de la non-qualité peut être exprimé en termes de perte de revenu connu, actuel ou futur, de coût de sous-utilisation des employés, de pénalités et d’autres coûts basés sur des données métier historiques. Différents types de risques entraînent différents types de pertes.

Les pannes qui mettent fin aux transactions commerciales – Considérons une évaluation simplifiée de la perte due à l’interruption de service d’une application commerciale telle qu’un système de réservation ou de commande client. Les coûts engendrés impliquent une perte de revenu, un effort de l’entreprise pour récupérer et réactiver les transactions, une saturation du service clients et les coûts associés pour gérer les relations clients, des pénalités et d’autres coûts dépendant du secteur d’activité. Bien que l’ensemble de ces coûts ne surviennent pas à chaque panne, ils doivent être pris en considération pour s’assurer qu’ils ne restent pas dissimulés dans les activités courantes.

Perte =((revenumoyenparminute)x(nombredeminutesd’indisponibilité))+

coûtspourréactiverl’activité+

((minutessupplémentairesdeserviceclient)x(€parminute)+

futurepertederevenudueàladéfectiondesclients+

pénalités,lecaséchéant+

autrescoûtsliés)

Page 10: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 8

Bien que coûteux, les coûts

identifiables des problèmes de

sécurité sont souvent moins

importants que la perte de revenu

due à la défection de clients qui

se tournent vers la concurrence

qui offre, selon eux, une meilleure

sécurité.

Données corrompues – Les coûts liés aux données corrompues comprennent la recréation de données exactes, le redéveloppement ou la correction de rapports incorrects et toutes les pénalités résultant de l’utilisation ou du reporting de données inexactes. Le coût de la corruption de données est déterminé par le temps écoulé avant que les données incorrectes ne soient détectées puisque, dans de nombreux cas, cela augmente le travail de correction. Le business supporte la plupart des frais engendrés par la corruption de données, soit en ayant à corriger les données, soit en subissant des interruptions d’activité pendant que l’informatique restaure les données correctes.

Perte =coûtdelareconstructiondesdonnées+

coûtdelarecréationderapportscorrects+

pénalitésduesàdesdonnéesincorrectes+

autrescoûts

Violation de la sécurité – Les défauts dans l’architecture d’une application ou dans le code créent souvent des vulnérabilités que les hackers et les cybercriminels exploitent pour pénétrer dans le système. Ces coûts peuvent inclure ceux liés au vol d’informations sur l’entreprise ou sur les clients, à la réparation des dommages malveillants, à l’information des clients sur d’éventuelles données compromises, aux améliorations de la sécurité des systèmes et des processus métiers, aux pénalités et aux futures pertes de revenu dues à la défection des clients. Bien que lourds, les coûts identifiables des problèmes de sécurité sont souvent moins importants que la perte de revenu due aux clients qui n’utilisent plus les applications ou qui se tournent vers la concurrence qui offre, selon eux, une meilleure sécurité.

Perte =coûtdesressourcesvolées+

coûtdelacorrectiondesdonnées,desrapportsoudescomptes+

coûtdel’informationauxclients+

coûtdel’améliorationdelasécurité+

futurespertesderevenuduesàladéfectiondesclients+

pénalités,lecaséchéant

Page 11: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 9

Plus l’interface est confuse, plus

le nombre d’employés dédiés à

l’assistance à la vente doit être

important. La facilité d’utilisation

et la réactivité contribuent à

l’augmentation du revenu et à

la réduction des coûts du service

clientèle

Non-conformité avec la réglementation – La faiblesse du code d’une application peut placer l’entreprise en non-conformité avec les normes de l’industrie ou les réglementations légales. Alors que la non-conformité peut engendrer des pénalités financières, le non-respect des réglementations telles que Sarbanes-Oxley peut avoir des répercussions pénales.

Perte =coûtdespénalitéspournon-conformité+

coûtdelamiseenconformitédusystème

V. Maximiser l’expérience client

Comme de plus en plus de transactions sont réalisées en ligne, les applications métier deviennent la vitrine de l’entreprise. L’expérience du client avec la société se transforme en expérience de la facilité d’utilisation et de la performance des applications. Les interfaces utilisateurs confuses, les sites internet labyrinthiques et les temps de réponses incroyablement lents frustrent les clients. Au minimum ces problèmes réduisent le nombre de transactions des clients, dans le pire des cas, ces derniers se tournent vers la concurrence.

En plus du problème de fidélisation, des clients non autonomes engendrent davantage de frais par transaction car ils appellent le support client pour réaliser des achats qui auraient pu l’être en ligne. Plus l’interface est confuse et plus le nombre d’employés dédiés à l’assistance à la vente doit être important. Par exemple, lorsque le temps de réponse du système est lent, les clients cliquent souvent sur des boutons qui peuvent être interprétés comme des commandes en attendant les pages à afficher. Ces entrées incorrectes nécessitent du personnel pour corriger et réinitialiser un compte client. La facilité d’utilisation et la réactivité contribuent à l’augmentation du revenu et à la réduction des coûts du service clientèle.

Perte =futurepertederevenudueàladéfectiondesclients+

futurepertederevenudueàladiminutiondestransactionsdesclientsfidèles+

coûtdestransactionsréaliséesauniveauduserviceclientèleetnonenligne+

coûtdesappelsauserviceclientèleliésàdesdifficultésd’utilisationenligne.

Page 12: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 10

Plus l’architecture ou le code d’une

application est complexe sans

raison, plus il est long d’ajouter

ou de modifier une fonctionnalité,

de vérifier sa conformité, et de la

livrer. Améliorer l’agilité et réduire

le risque engendrent des bénéfices

immédiats.

VI. Augmenter l’agilité métier

Les technologies de communication modernes (réseaux cellulaires, Internet, etc.) ont accéléré le rythme de l’économie. La concurrence a ainsi réduit le temps de réaction face aux demandes des clients et aux évolutions du marché. L’agilité d’une entreprise à répondre rapidement à ces besoins dépend strictement de la qualité technique de ses applications. Plus l’architecture ou le code d’une application est complexe sans raison, plus il est long d’ajouter ou de modifier une fonctionnalité, de vérifier sa conformité, et de la livrer. Pire, une complexité inutile induit plus d’erreurs et de rework qui allongent les temps de développement et de livraison des nouvelles fonctionnalités au métier.

Perte =Pertederevenuliéeàuneoffretardiveparrapportàl’intention

d’achatduclient+

pertederevenudueàdesconcurrentsplusrapides+

futurepertederevenudueàladéfectiondeclients+

Pertedeprofitdueàl’affaiblissementdubénéficedupremierentrant+

diminutiondel’économied’échelledueàlapertedepartsdemarché

L’impact de la qualité logicielle d’une application sur l’agilité métier est exprimée en termes de coût d’opportunités perdues. Cela représente la perte de revenu ou de parts de marché subie lorsque les concurrents sont en mesure de répondre plus rapidement ou lorsque la réponse arrive trop tard par rapport aux intentions d’achat du client. Même si l’agilité ne remet pas en cause la viabilité et la croissance à long terme d’une entreprise - car améliorer l’agilité et réduire le risque engendrent surtout des bénéfices immédiats -, des améliorations de l’agilité métier affectent néanmoins l’aptitude d’une société à exécuter sa stratégie et à optimiser ses résultats à long terme.

Page 13: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 11

Les pannes ne se contentent pas

d’affecter le revenu. Elles ont des

conséquences néfastes sur la

productivité et sur le moral des

équipes informatiques.

VII. Améliorer la productivité métier

L’une des principales raisons d’être des applications étant d’améliorer la productivité métier, les défauts provoquant des pannes ou une dégradation de la performance privent l’organisation des bénéfices de ses investissements, à la fois dans le développement de ces applications et dans la main d’œuvre qui les utilisent. Les pertes entraînées par des pannes ont été couvertes dans la section « risques métier ». On ne traitera ici que l’impact de la productivité sur les employés et sur la génération de revenu. Les coûts d’une perte de productivité sont généralement calculés en termes d’heures supplémentaires pour terminer le travail ou de pertes d’opportunités commerciales. Même si les heures supplémentaires n’ont pas été rémunérées, l’impact sur le moral du personnel est susceptible de réduire encore davantage la productivité ou de provoquer des départs volontaires. En outre, une réduction de la productivité engendre des retards dans la réalisation des tâches, qui implique d’autres coûts tels que des pénalités de retard.

Perte =[(1–(productionréduiteenraisond’unemauvaiseperformance÷

productionmoyennepouruneperformancenormale))

xnombred’employésconcernés

xcoûthorairemoyen

xnombred’heuresdemauvaiseperformance]+

[(1–(baissedesrevenusdueàunediminutiondelaperformance÷

revenumoyenpouruneperformancenormale))

xperformance

xrevenumoyendel’heure]+

coûtsdutravailretardé

VIII. Augmenter la contribution de l’informatique

Pour les entreprises les plus grandes, l’informatique représente un pourcentage fixe du budget global, généralement de 4 à 4,5 %. Les économies réalisées sont donc généralement transformées en ressources disponibles pour des investissements supplémentaires et non pas utilisées comme un retour de fonds. La proposition de valeur devient alors « comment obtenir davantage de fonctionnalités métier pour notre investissement fixe ? »

Page 14: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 12

Des études ont prouvé que 50 %

des travaux de maintenance

sont consacrés à comprendre

le code plutôt qu’à ajouter

des fonctionnalités. Réduire la

complexité du code peut réduire

le temps nécessaire pour le

comprendre, et permettre de

consacrer plus de temps au

développement de fonctionnalités

très utiles.

Généralement, environ la moitié du budget informatique est consacré au développement et à la maintenance des applications. La qualité logicielle des applications métier contrôle étonnamment une grande partie de ces coûts et dicte le volume des ressources à affecter au développement des applications. Par exemple, chaque heure passée à régler des problèmes de qualité est une opportunité perdue de fournir de la valeur supplémentaire. De même, des études ont prouvé que 50 % des travaux de maintenance sont consacrés à comprendre le code plutôt qu’à ajouter des fonctionnalités. Réduire la complexité du code peut réduire le temps nécessaire pour le comprendre, et permettre de consacrer plus de temps au développement de fonctionnalités très utiles.

Perte =((pourcentageannueldetempspassésurlerework)

x(coûtmoyenchargescomprisesd’undéveloppeur)x(nombrede

développeurs))+

((Pourcentageannueldetempspasséàmodifierouàaméliorerlecode

existant)x(0,5soitletempspasséàcomprendre))

x(coûtmoyenchargescomprisesd’undéveloppeur)x(nombrede

développeurs))

IX. Un exemple de perte de valeur directement lié à une faible qualité logicielle

En utilisant la formule relative aux pannes des applications qui interrompent les transactions, considérons les coûts pour 1 heure de panne d’une application qui rapporte 120 € à la minute (7 200 € de l’heure). Outre la perte de revenu, l’entreprise dépensera 1 000 € en heures de travail pour vérifier, corriger ou régénérer des transactions partiellement réalisées et pour vérifier que le système fonctionnera correctement une fois remis en ligne. Le service clientèle a subi 250 minutes supplémentaires d’appels à 2 € la minute. Des analyses de Business Intelligence ont montré que 20 clients n’ont plus pris contact avec la société après la panne, le revenu généré par ces clients étant de 150 € par an. Heureusement, cette panne n’a engendré aucune pénalité. Le coût total de cette panne est estimé à :

Perte =((60minutes)x(120€laminute))+1000€defraisderéactivation+

500€defraisdeserviceclientèle+3000€depertesderevenuclients

cetteannée

Perte =11700€

Page 15: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 13

Une baisse de 10 % de la

performance d’une application

peut rapidement se chiffrer en un

demi-million d’euros de perte de

productivité en un trimestre.

Si la société subit une panne d’1 heure de cette application une fois par trimestre, la perte annuelle totale sera de 46800 €, les coûts informatiques pour réparer la cause de la panne et retester l’application n’étant pas inclus. Ces coûts informatiques seront considérés comme du rework dans un prochain calcul car ils réduisent l’aptitude de l’informatique à contribuer au business.

Considérons ensuite qu’outre des pannes, la performance de l’application diminue de 10 % en raison de mauvaises procédures d’accès à la base de données qui réduisent sa capacité à traiter un nombre croissant de transactions. Considérons également que cette application occupe 100 employés à 25 € de l’heure. Cette perte de productivité est calculée à la fois comme une perte de revenu et comme une perte de valeur salariale. Le coût par trimestre de ces problèmes de qualité logicielle de l’application est estimé à :

Perte =((0,1soitlepourcentagedebaissedeproductivité)x(100employés)

x(25€del’heure)

x(500heurespartrimestre))+

((0,1soitlepourcentagedebaissedeproductivité)x(7200€del’heure)

x(500heurespartrimestre))

Perte = 485000€partrimestre

Ce chiffre peut être réduit par des heures supplémentaires non rémunérées pour terminer le travail. Néanmoins, une faible qualité logicielle prive l’organisation d’une partie conséquente du retour sur investissement attendu (logiciel et humain).

Enfin, considérons le coût de l’amélioration et de la maintenance de cette application. Si l’on considère que 5 développeurs travaillent à plein temps sur cette application pour un coût annuel charges comprises de 100 000 € chacun. Ils passent environ 35 % de leur temps à supprimer les défauts et 50 % de leur temps à maintenir et à améliorer le code existant. La non-contribution de l’informatique à la valeur business est estimée à :

Perte =((0,35soitlepourcentagedetempspassésurlerework)x(100000€de

coûtssalariaux)x(5développeurs))+

(((0,5soitlepourcentagedetempspasséàmodifierlecode)x(0,5

soitlepourcentagedelamaintenancepasséàcomprendrelecode))

x(100000€decoûtssalariaux))

x(5développeurs))

Perte =300000€

Page 16: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 14

Lorsque des pertes dues à une

faible qualité des applications ne

sont évaluées que par rapport aux

coûts de développement ou de

maintenance, l’impact des pertes

est invisible. Toutefois, lorsqu’elles

sont évaluées par rapports

aux dépenses et aux pertes

d’opportunités commerciales, un

dossier d’investissement irréfutable

peut être élaboré pour la qualité

logicielle.

La perte due aux risques de pannes, la perte de productivité métier et la perte de contri-bution de l’informatique attribuée à la mauvaise qualité structurelle des applications est ainsi très élevée. Proportionnellement à l’importance de ces pertes, les améliorations de la qualité des applications offrent des avantages conséquents. Lorsque des pertes dues à une faible qualité des applications ne sont évaluées que par rapport aux coûts de déve-loppement ou de maintenance, l’impact des pertes est invisible. Toutefois, lorsqu’elles sont évaluées par rapport aux dépenses et aux pertes d’opportunités commerciales, un dossier d’investissement irréfutable peut être élaboré pour la qualité logicielle.

X. La valeur correspondant à l’amélioration de la qualité logicielle des applications

Améliorer la qualité des applications comprend deux éléments ; la qualité externe fonctionnelle et la qualité interne non fonctionnelle. La plupart des détections de défauts et des initiatives qualité intégrées dans les processus standards de développement et de maintenance, sont axées sur la qualité externe ou fonctionnelle. Il s’agit des défauts correspondant aux écarts par rapport au cahier des charges. Les avancées en termes de tests, d’évaluation par les pairs, et des processus et technologies de gestion des exigences ont amélioré les capacités des équipes de développement à détecter et à supprimer la majorité de ces défauts avant de mettre l’application en production.

Puisque les défauts internes non fonctionnels sont plus difficiles à détecter car ils sont dissimulés dans l’architecture et dans la structure de l’application, ils sont souvent la cause de pannes, d’une diminution de la performance, de failles de sécurité, de données corrompues… Ces problèmes de qualité peuvent aller de mauvaises techniques de programmation aux architectures complexifiées sans raison, en passant par les violations des normes de codage. En détectant ces problèmes internes de qualité et en les corrigeant par ordre de priorité, les développeurs d’application peuvent augmenter de façon conséquente la valeur d’une application pour le métier.

Si l’on revient sur notre exemple décrit dans la partie précédente, corriger un défaut qui aurait provoqué une panne d’1 heure permettra à l’entreprise d’écono-miser 11 700 € par panne, et davantage si la panne avait duré plus d’une heure. Considérons maintenant l’impact sur la productivité de la suppression des problèmes de qualité logicielle ; la dégradation de la performance de 10 % tombe à seulement 7 % de sa capacité d’origine. Cet impact permettra à l’entreprise d’économiser 145 500 € par trimestre, par rapport à la perte originelle de 485 000 € (figure 3).

Page 17: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 15

Perte =((0,07soitlepourcentagedebaissedeproductivité)x(100employés)

x(25€del’heure)

x(500heurespartrimestre))+

((0,07soitlepourcentagedebaissedeproductivité)

x(7200€derevenudel’heure)x(500heurespartrimestre))

Perte =339500€partrimestre

Figure 3. Exemple de réduction de la perte de productivité trimestrielle grâce à une amélioration de la performance de l’application

Les améliorations de la qualité logicielle peuvent avoir deux types de conséquences sur la contribution de l’informatique au métier. Si les améliorations de la qualité logicielle de cette application réduisaient le pourcentage de rework de 25 % par an, l’équipe pourrait contribuer à hauteur de 50 000 € supplémentaires à la production de nouvelles fonctionnalités métier. De même, si les améliorations de la qualité logi-cielle réduisaient sa complexité et si les développeurs pouvaient ne passer que 40 % de leur temps de développement à comprendre le code, ils pourraient contribuer à hauteur de 25 000 € supplémentaires à la production de nouvelles fonctionnalités métier. Comme il est démontré ci-dessous, le montant de la non-contribution de l’informatique au métier est passé à 22 5000 € grâce aux améliorations de la qualité logicielle, dégageant ainsi 75 000 € pour ajouter de la valeur au business.

Perte =(0,25soitle%detempspassésurlerework)x(100000€decoûtssalariaux)

x(5développeurs))+

(((0,5soitlepourcentagedetempspasséàmodifierlecode)

x0,4soitle%delamaintenancepasséàcomprendrelecode)

x(100000€decoûtssalariaux)

x(5développeurs))

Perte =225000€

Si des améliorations de la

qualité logicielle génèrent une

réduction du rework de 25 % par

an et permettent aux équipes de

maintenance de passer 60 % de

temps en moins à déchiffrer le

code, cela permet d’affecter les

75 000 € économisés par application

à la création de nouvelles

fonctionnalités.

Avant remédiation Après remédiation0

100 000

200 000

300 000

400 000

500 000

600 000

Page 18: Quelle valeur ajoutée tirer de la qualité technique des applications?

A retenir

La valeur business de la qualité logicielle d’une application Page 16

En détectant de façon proactive

les problèmes de qualité logicielle

et en les corrigeant, les équipes

informatiques peuvent augmenter

de façon conséquente la valeur

d’une application pour le métier.

Figure 4. Exemple de réduction trimestrielle de la non-contribution informatique après une amélioration de la qualité logicielle d’une application

En comparaison avec les coûts de licence, d’installation, de formation et d’utilisation des outils automatisés permettant d’identifier des problèmes de qualité logicielle, le ROI pour les améliorations de la qualité interne est conséquent. Les montants varieront en fonction de la taille et des caractéristiques de l’application, mais pour les applications métier critiques, la valeur de ces améliorations pour le business est spectaculaire et s’inscrit dans la durée. Les organisations informatiques se doivent de réaliser ce type d’analyses pour défendre les investissements visant à améliorer la qualité de leurs applications.

Avant remédiation Après remédiation0

50 000

100 000

150 000

200 000

250 000

300 000

350 000

Page 19: Quelle valeur ajoutée tirer de la qualité technique des applications?
Page 20: Quelle valeur ajoutée tirer de la qualité technique des applications?

www.castsoftware.com

CAST HeadquartersNorth America: +1 212-871-8330Europe: +33 1 46 90 21 00

Copyright © 09/2009 CAST All Rights Reserved - Privacy Statement

A propos de CAST

CAST, pionnier et leader mondial des logiciels d’Application Intelligence, permet automatiquement de mesurer et surveiller la qualité logicielle des applications infor-matiques et la performance des équipes de développement. Fondée en 1990, CAST a aidé plus de 650 grandes entreprises de par le monde à améliorer l’efficacité opération-nelle des processus métiers supportés par les applications critiques, tout en réduisant les risques et les coûts de développement IT. La plupart des grands intégrateurs ont également adopté CAST dans le cadre de l’industrialisation des processus de dévelop-pement et de l’amélioration continue de la communication avec leurs clients, ainsi que dans la fondation d’offres de services innovantes. CAST est cotée sur le compar-timent C d’Eurolist Paris (Euronext : CAS) et commercialise ses produits au travers d’une force de vente directe solidement implantée dans les principaux pays Européen et aux Etats-Unis, ainsi qu’au travers d’un réseau de partenaires intégrateurs.

Bill Curtis est un expert en ingénierie logicielle, chargé d’influencer la direction scientifique et la stratégie de CAST et de l’aider à sensibiliser les directions informatiques sur l’importance de gérer et de mesurer la qualité interne de leurs logiciels. Il est connu pour avoir développé le CMM (Capability Maturity Model) qui est devenu le standard mondial d’évaluation de la maturité des processus et de l’organisation des entités de développement logiciel. Il a été nommé récemment Directeur du Consortium pour la Qualité Logicielle des Systèmes d’Information (CISQ) par le SEI (Software Engineering Institute, université de Carnegie Mellon) et l’OMG, l’organisme mondial de définition de standards logiciels.

Avant de rejoindre CAST, Bill Curtis avait co-fondé TeraQuest, leader mondial des services autour du CMM, racheté par Borland. Avant TeraQuest, il a dirigé le Software Process Program au SEI, après avoir conduit les recherches sur les technologies intelligentes d’interface utilisateur et le processus de conception d’un logiciel au MCC, la cinquième génération du consortium de recherche en informatique à Austin, Texas. Avant le MCC, il a développé un système de mesure de la qualité et de la productivité d’un logiciel pour la TIT, a mené des recherches sur les métriques et les pratiques logicielles chez GE Space Division, et a enseigné les statistiques à l’Université de Washington.

Dr. Bill CurtisVice-Président Sénior et Directeur Scientifique