L'Agile est une méthodologie courante de développement logiciel dans de nombreux secteurs. Elle permet de réduire le temps et le coût de développement logiciel. De plus, les entreprises automobiles cherchent une solution pour réduire le temps de cycle de développement logiciel et le rendre plus efficace. Elles sont de plus en plus nombreuses à envisager d'adopter la méthodologie Agile, mais s'inquiètent de son fonctionnement dans un environnement automobile strictement réglementé. 

Dans cet article, nous examinons de plus près comment l'Agile et l'ASPICE peuvent être combinés dans les projets automobiles. 

Pourquoi combiner ASPICE avec l'Agilité ? 

ASPICE est un framework pour l'amélioration et l'évaluation des processus de développement de logiciels automobiles embarqués. Il fournit les meilleures pratiques et les processus pour l'assurance qualité des logiciels et des composants système automobiles embarqués. 

ASPICE garantit un développement logiciel automobile mature, systématique et bien documenté et permet d'obtenir des résultats reproductibles et prévisibles avec un risque d'erreur minimal. Il met l'accent sur l'amélioration continue des processus mis en œuvre afin d'élever le niveau de compétence du fournisseur, ce qui conduit à des produits de meilleure qualité et plus innovants. Il ouvre également la porte à de nouveaux contrats avec les plus grands équipementiers mondiaux, car il s'agit d'un cadre répandu et reconnu dans l'industrie automobile.

Cependant, ASPICE rend également les projets logiciels automobiles plus complexes et plus coûteux. Habituellement, dans le développement logiciel, ces deux défis sont atténués par la mise en œuvre de la méthodologie Agile. Est-il toutefois possible de combiner ASPICE et Agile ? Les deux ne sont-ils pas en conflit ? 

Quel est le lien entre ASPICE et l'ingénierie Agile ? 

Cadre ASPICE est basé sur un modèle de vérification et de validation, également connu sous le nom de modèle en V. Cela signifie qu'il y a une phase de test parallèlement à chaque étape du développement. Cette approche de développement linéaire implique que les exigences doivent être clairement déterminées au début du projet. Les décisions de conception précoces entraînent très souvent des retards. Une fois le processus de développement lancé, il est difficile de s'adapter aux changements d'exigences car les tests sont également créés en amont. 

Après le développement, le logiciel est testé par rapport aux exigences dans un ordre séquentiel. De plus, les longs cycles entre la spécification des exigences initiales et les tests et retours créent la nécessité de modifications tardives dans le processus de développement, ce qui génère des coûts supplémentaires.  

Au contraire, le développement logiciel Agile suit l'approche incrémentale et offre la flexibilité nécessaire pour apporter des modifications une fois la planification initiale terminée. Par conséquent, si les exigences changent au cours du cycle de développement, il est relativement facile de replanifier les travaux. Il en résulte un délai de mise sur le marché considérablement raccourci.  

Compte tenu d'une différence aussi importante entre le déroulement du processus de développement en Agile et celui de l'ASPICE, est-il possible de suivre le référentiel ASPICE dans une méthodologie Agile ? C'est certainement possible dans une certaine mesure. En fait, de nombreuses entreprises de développement de logiciels automobiles le font avec succès.  

ASPICE a longtemps été associé à une approche en cascade du développement logiciel, car il détermine certaines séquences dans lesquelles les activités doivent être réalisées et les produits de travail doivent être livrés. Cependant, cela ne signifie pas que la seule façon de maintenir le cycle de développement séquentiel soit de suivre le modèle en cascade. 

ASPICE n'impose pas la manière de faire les choses. Il détermine ce qui doit être fait et quels résultats doivent être atteints, mais il ne précise pas comment. Ainsi, il existe un espace pour mettre en œuvre certaines forces de la méthodologie Agile qui permet d'atteindre les résultats cibles dans des cycles plus courts et efficaces, avec la flexibilité d'appliquer d'éventuels changements en cours de processus.  

La méthodologie Agile, ou ses éléments, fonctionnera bien dans le cas de projets automobiles avec un accent particulier sur l'expérience utilisateur, par exemple le développement d'HMI. Travailler en sprints courts permet de tester l'idée ou l'hypothèse, puis de l'ajuster en fonction des retours des utilisateurs. Agile fonctionnera également bien dans la plupart des projets automobiles où il existe un besoin de planification flexible et de changements fréquents. La seule condition est de veiller à ce que tous les processus et bonnes pratiques ASPICE soient respectés. 

Téléchargez notre Guidebook sur ASPICE

Obtenir l'ebook

Comment ASPICE et Agile peuvent-ils fonctionner ensemble ? 

De nombreuses inquiétudes existent quant à savoir si l'approche Agile du développement de logiciels automobiles interfère avec la conformité ASPICE. Il est important de garder à l'esprit que la méthodologie Agile peut et doit être adaptée à nos besoins dans des industries fortement réglementées, telles que l'automobile. 

L'approche probablement la plus connue pour combiner Agile avec ASPICE est Agile SPICE ™. Il s'agit d'un module complémentaire pour Automotive SPICE, préparé par le groupe de travail Intacs, destiné à aider à mettre en œuvre les meilleures pratiques Agile tout en répondant aux attentes d'Automotive SPICE. Il redéfinit les attributs de processus pour y intégrer l'agilité dans l'orientation d'équipe, la réaction flexible au changement et la coopération avec le client. 

Les pratiques d'Agile SPICE ™ soutiennent les principes du Manifeste Agile sans privilégier une pratique Agile spécifique, comme Scrum, Kanban ou SAFe. Elles visent également à faire le lien entre les processus et les résultats existants de PAM, ainsi qu'à conserver les attributs de processus ou les pratiques génériques existants aux niveaux CL1-3 (les projets opèrent principalement aux niveaux CL1-2, tandis que le niveau CL3 concerne les processus au niveau organisationnel). Il est important de noter qu'Agile SPICE fait preuve de flexibilité face aux changements d'exigences. Il suppose que ceux-ci doivent être priorisés et systématiquement intégrés au travail de développement continu, au service de l'avantage concurrentiel du client. 

AGL.1 Gestion du travail 

Dans Agile SPICE ™, « AGL. 1 Work Management » résume les meilleures pratiques de planification et de contrôle de projet, qui constituent une version agile du « Man.3 Project Management » d'ASPICE. Celles-ci incluent : 

  • Identification de la demande et des limites de travail (mappées àMAN.3 Pratiques BP1 , (BP3), (BP7]) 
  • Constituer une équipe (mappé surPratiques MAN.3 BP6, (BP7)) 
  • Définition de l'approche de travail  
  • Gestion des parties prenantes et des interfaces  
  • Planification de l'infrastructure  
  • Évaluation de la faisabilité  
  • Estimation du travail  
  • Planification du travail  
  • Inspection et adoption  
  • Gestion des obstacles  
  • Amélioration de l'approche de travail  

AGL.2 Partner Collaboration Management 

Cette partie d'Agile SPICE définit les meilleures pratiques pour établir et maintenir des modes de collaboration et de communication avec les partenaires. Elle fournit également un guide pour établir une approche technique, examiner le contenu technique, inspecter les progrès conjoints et agir face aux risques et aux obstacles.  

AGL. 3 Assurance qualité agile (AQA) 

Cette partie décrit les bonnes pratiques concernant l'identification des objectifs de qualité, la définition de la stratégie d'assurance qualité, la garantie de la conformité, l'enregistrement et la résolution des obstacles, ainsi que l'établissement et la garantie de mécanismes d'escalade efficaces. 

En résumé 

Nous espérons qu'après avoir lu cet article, vous serez rassuré : Agile peut être combiné et fonctionner efficacement avec ASPICE. Suivre une méthodologie Agile adaptée aux exigences d'ASPICE, comme Agile SPICE ™, vous permet d'obtenir un avantage concurrentiel tout en maintenant une conformité réglementaire totale. En d'autres termes, vous pouvez produire des produits fonctionnels plus rapidement, sans vous soucier de la qualité logicielle.  

Le développement de systèmes automobiles embarqués est l'une de nos compétences clés. Nos experts veillent au respect de toutes les normes ASPICE tout au long du processus – de l'analyse des exigences aux tests de qualification. De plus, nous accompagnons nos partenaires dans la mise en œuvre des autres processus requis par A-SPICE, tels que MAN – Management Process Group et SUP – Supporting Process Group). 

En savoir plus sur nos formations FuSa (ISO26262) et ASPICE

En savoir plus

Découvrez notre offre automobile et réservez une réunion gratuite et sans engagement pour discuter de la manière dont nous pouvons vous aider.