Upload
zdnet-france
View
387
Download
2
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
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
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.
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.
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
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é
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é
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
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)
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
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.
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.
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 ? »
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€
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€
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).
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
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
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