Industrialisation process de production logiciel

Écrit par All4Test le .

1     La problématique

Les problèmes rencontrés par les entreprise lors du développement d’applications sont récurrents et souvent liés aux mêmes dysfonctionnements. Vous vous posez des questions comme :

  • Comment automatiser mon processus  de réalisation de logiciels ?
  • Comment diminuer le nombre de bugs lors des livraisons  ? 
  • La gestion des correctifs est trop complexe et pas adapté à votre cycle de développement.
  • Comment obtenir des métriques me permettant de connaitre la qualité de mes logiciels ?
  • Comment réduire les coûts d’intégration ?
  • Comment améliorer la maintenance des applications et minimiser les bugs afin de privilégier la recherche et développement plutôt que le support ?
  • Comment mieux maîtriser les délais et éviter les retards de livraison ?
  • Comment industrialiser les processus de développements et ainsi gagner en efficacité ?

Il est important de pouvoir mettre en place ces « fondations » de la qualité du logiciel dès le début d’un projet (en mode Agile ou Waterfall), afin de diminuer les coûts liés à la non qualité et  éviter des retards dans les plannings de livraison.

C'est pour répondre à ces questions, qu' ALL4TEST a mis en place une offre d'audit spécifique. Cet audit est réalisé en étroite collaboration avec les différents acteurs de votre projet. Plusieurs entretiens seront organisés pendant lesquels nous nous attacherons à comprendre votre organisation.

Notre démarche va permettre d’évaluer vos processus suivant les paramètres qualitatifs suivant :

  • Architecture & design
  • Gestion des exigences
  • Pratiques de développement
  • Gestion & organisation des sources 
  • Gouvernance
  • Déploiement & production
  • Stratégie de tests
  • Gestion de projet

Pour mesurer ces paramètres, plusieurs critères sont pris en compte.

1.1      Le contexte global

Certains éléments nous permettent de mieux cerner les conditions de développement dans lesquelles évoluent les différents acteurs. Cela nous semble être primordial pour bien comprendre les choix d’architecture, de méthode (agile ou waterfall)  et les outils choisis :

  • L’entreprise : son métier et son expérience dans la production de logiciel. 
  • Le projet : ses enjeux et les différentes contraintes associées (périmètre fonctionnel, évolutions en cours du projet,…).
  • Les acteurs : l’organisation et les interactions. 

1.2      L’outillage

Les outils de production de logiciels fournissent des informations sur la capacité d’une équipe à améliorer les temps et la qualité des livraisons. Nous attacherons donc à évaluer : l’outillage utilisé, son utilisation et sa pertinence. 

1.3      L’analyse du cycle de création du logiciel

Le cycle de création d’un logiciel commence avec l’idée de ce logiciel et se termine lorsque celui-ci est en production. Tout le long, différentes phases sont à analyser :

  • De l’idée du logiciel jusqu’à sa planification : on évaluera les méthodes d’analyses du besoin, de conduite de projet et de prise en compte des différents changements susceptibles d’intervenir lors de l’écriture.
  • De son écriture à la validation : on analysera les technologies et leurs degrés d’automatisation  pour ce qui est de la gestion des sources, de la compilation, du packaging, des tests et du déploiement. 
  • La mise en production. 

1.4      L’analyse du code source et de l’architecture

Les problèmes d’architectures, les technologies employées ainsi que du code mal conçu sont souvent la cause d’un cycle de développement non optimal.

La norme ISO 9126 définie plusieurs critères de « santés » du code. ALL4TEST utilise des outils du marché (type CAST Software ou KIUWAN) permettant d’auditer de manier ponctuel ou régulier la qualité du code des équipes. Nous sommes capable de générer des indicateurs adaptés aux développeurs, mais également à un service QA, voir une DSI.

Cette norme a été réalisée par le comité technique JTC 1 de l'ISO/CEI. Les évolution de cette norme ont été intégrées dans la norme SquaRE (Software product Quality Requirement and Evaluation), ou ISO 25000.

Les caractéristiques décrites s'appliquent au logiciel (progiciels, développements spécifiques, firmware...) que l'on doit considérer comme un système de transformation avec des données d'entrée et des données de sortie.

Les caractéristiques qualité définies par cette norme sont :

  • La capacité fonctionnelle,
  • La fiabilité,
  • La facilité d'usage,
  • L'efficacité,
  • La maintenabilité,
  • La portabilité.

L’objectif de l’audit peut être soit de valider la qualité d’un code ou d’une architecture existante, soit de mettre en place des outils et des indicateurs qualité adaptés à l’entreprise pour « monitorer » la qualité du code. Ces outils peuvent également être utile en cas de sous-traitance de la réalisation d’un logiciel afin de valider la qualité les livrables du fournisseur et cela quel que soit le langage utilisé (JEE, .NET, PHP, Ruby …)

1.5      Analyse des process et outils de gestion des tests

A partir d’une certaine taille de cellule R&D ( 6/8 p), il est nécessaire de structurer et outiller le process de test (test d’intégration, test fonctionnel ou système, test de performance …). L’objectif de le l’audit sera de proposer des outils adaptés et une méthodologie qui s’intègre dans le process global (ALM pour Application Life cycle Management). La définition d’indicateur de qualité à monitorer peut également faire partie de cette phase.

 1.6      L’analyse du fonctionnement de la production

L’étude des processus de gestion des bugs et comment sont gérés les mises en production permettent  d’identifier les différents flux de création du logiciel (Release majeur, mineur, Hot Fix,…). L’efficacité des métriques (comme la capacité de trouver des anomalies ou la capacité à reproduire les problèmes de production)  en production est également analysée.

1.7      Confrontation avec les intervenants

Avant la soutenance finale et la remise du rapport d’audit, nous organisons une rencontre avec les acteurs de l’audit pour échanger autour de nos constats et propositions.

 1.8      Les livrables

Présenté lors de la soutenance finale, le rapport synthétise l’audit et fournit, pour la suite du projet,  un ensemble de préconisations à court, moyen et long terme. 

 

Article complémentaire sur notre site : comment évaluer la qualité d'un logiciel  ?

Vous souhaitez tester grauitement l'outil cloud KIUWAN ? c'est ICI.