Développement agile pour les systèmes embarqués

Single board computer

Vous voudrez peut-être utiliser le développement agile pour construire ce système embarqué.

En tant que plateformes matérielles uniques qui fournissent la puissance de calcul requise à un grand nombre d’applications diversifiées, les systèmes embarqués sont la solution rêvée par tous les experts, parce qu’elles fusionnent la conception matérielle et le développement logiciel. Les plus simples processus de conception de systèmes embarqués ont tendance à être linéaires. Le matériel et les logiciels embarqués peuvent même être développés en parallèle par différentes équipes de conception. Comme les systèmes deviennent de plus en plus complexes et que les exigences des clients continuent de se diversifier, les équipes de conception doivent repenser les méthodologies conventionnelles.

Les méthodologies de développement agile sont normalement référencées en termes de logiciels, mais ces techniques de conception et de développement peuvent être adaptées à la conception matérielle, y compris le développement de systèmes intégrés. Comme les logiciels embarqués nécessitent en réalité bon nombre des mêmes processus et idées utilisés par le développement des logiciels traditionnels, ils se prêtent bien aux méthodologies agiles. L'unification de la conception des logiciels embarqués et de la conception des circuits imprimés en un flux de travail cohérent exige de repenser les deux processus comme un process itératif et continu.

Si elles sont mises en œuvre correctement, ces méthodes peuvent éviter des modifications inutiles et garantir que les fonctionnalités d'un produit répondront mieux aux besoins du client. Ce travail nécessite des outils de conception et de collaboration appropriés et adaptables à toute méthodologie de conception, y compris le développement agile.

Adapter le développement agile à la conception matérielle

Je n'ai jamais travaillé sur un projet de logiciel qui a été livré dans les délais ou dans les limites du budget. C’est une réalité incontournable de ce secteur industriel. Comme les projets de développement de matériel informatique semblent au moins avoir tendance à tenir leurs délais, de nombreux chefs de projet pourraient préférer travailler sur des projets de matériel. Quelle que soit la rigueur avec laquelle les chefs de projet planifient le développement d'une nouvelle plateforme logicielle, des modifications apportées par le client ou des incompatibilités font toujours partie des imprévus.

Le changement inévitable pendant le processus de conception est donc l’un des principes clés de la conception agile. Par conséquent, une équipe de conception doit nécessairement savoir s'adapter à l'évolution des exigences du client, des fonctionnalités électriques, des méthodes de fabrication et même de la conception mécanique d'un boîtier et d'une encapsulation. Pendant la conception des systèmes embarqués, l’équipe de développement est confrontée à des changements provenant de deux directions : les perturbations sur la chaîne d'approvisionnement des composants BCP, et les logiciels embarqués.

Avec un processus itératif mis en œuvre au cœur du développement agile, l’équipe de conception peut mieux s'adapter et plus rapidement pendant toutes les étapes du développement, pour répondre aux changements exigés, plutôt que d’être obligée de les traiter tous après les tests par lots en fin de développement. Cette approche exige une communication cohérente et claire entre les membres de l'équipe et avec le client final. Comme les travaux sur les parties logicielles et matérielles intégrées d'un même projet sont souvent simultanés, la collaboration entre les deux équipes devient une nécessité.

Embedded systems design 

Comment évolue le flux des tâches traditionnel ?

Dès le départ, les exigences de la conception et des fonctionnalités doivent être clairement définies, tant en termes de matériel que de logiciels embarqués. La communication avec le client joue donc un rôle critique, car elle lui permet de comprendre avec précision la fonctionnalité et la faisabilité de son nouveau produit.

Pour définir les exigences, des échéances doivent être clairement précisées tout au long du projet, mais elles doivent aussi être adaptables aux changements. Le respect des échéances qui marquent la progression du projet, et leur adaptation aux changements matériels et logiciels font alors partie d’un processus itératif. Ce processus itératif est au cœur des méthodes du développement agiles, tant au niveau de la conception logicielle que matérielle.

L'absence d'essais périodiques est un problème courant dans les processus de conception linéaire. Le contrôle de qualité a tendance à intervenir trop tard dans le processus, ce qui rend les modifications extensives et coûteuses. La conception des circuits imprimés et les essais des logiciels devraient être effectués pendant les différentes étapes de la conception. Avec la partie matérielle du projet, les fonctions de vérification des règles et les simulations électriques sont le meilleur moyen de contrôler les fonctionnalités avant de fabriquer des prototypes. Vous pourrez ainsi intégrer les modifications de la conception beaucoup plus tôt dans le processus de conception.

BGA escape routing on a tan PCB 

Les variantes des processus agiles sont nombreuses, et le flux de travail et les idées impliquées dans chacun d'eux ne peuvent pas être listés dans un seul article. La réussite d’un projet de développement agile de systèmes embarqués dépend fondamentalement du choix des logiciels de conception offrant les bonnes fonctionnalités de développement, de gestion des données et de collaboration.

Utilisation des outils de collaboration et de contrôle de version

L'industrie du logiciel a fait un usage abondant des outils de contrôle de version pendant des années, et les plateformes de conception de matériel sont enfin en train de rattraper leur retard. Sur les plateformes de conception BCP courantes, les parties logicielles et matérielles d'un même projet ont été traditionnellement limitées à deux programmes différents, au minimum. Ce choix impose d’utiliser encore un autre outil pour assurer la collaboration et le contrôle de version pendant le projet.

Si elle fournit tous les outils de conception de circuits imprimés standard et avancés nécessaires à la conception matérielle et au développement de logiciels embarqués, la plateforme de conception facilitera largement la collaboration entre les membres de l'équipe. Lorsque des outils de contrôle de version sont intégrés à ces fonctionnalités, votre équipe pourra revenir rapidement aux anciennes versions selon les besoins, imitant ainsi le processus d'essais et d'erreurs utilisé par le développement logiciel.

Comme l'approvisionnement et la fabrication des composants sont essentiels pour tout projet de matériel informatique, des réunions périodiques de l'équipe de développement agile pendant les itérations de conception devraient plus spécialement définir les changements de conception nécessaires et intégrer les perturbations de la chaîne logistique. Ils risquent en effet d’influencer la conception des logiciels embarqués pendant le projet.

Lorsque, dans votre plateforme de conception de PCB/logiciels intégrés, votre équipe dispose d'informations en temps réel sur l'approvisionnement et l'obsolescence, vous pouvez rapidement permuter des composants et même accélérer les modifications dans la conception. Grâce à ces informations accessibles au début du processus de conception, votre équipe peut éliminer des modifications de conception ultérieures, en anticipant des problèmes d’approvisionnement et ajuster votre plateforme matérielle selon les besoins.

Le schéma, l’agencement des circuits imprimés et les fonctions de conception des systèmes embarqués dans Altium Designer® peuvent être intégrés aux fonctions de gestion des données dans Altium Concord Pro®, mettant à la disposition des concepteurs un ensemble complet d'outils pour bénéficier d’un développement agile dans leurs systèmes embarqués. Les fonctions TASKING d'Altium Designer apportent aux concepteurs un ensemble d'outils standard indispensables pour créer des systèmes embarqués répondant aux exigences d’applications diversifiées.

Contactez-nous ou téléchargez un essai gratuit d’Altium Designer et de Altium Concord Pro. Vous aurez accès aux meilleurs outils de routage, d’agencement, de simulation et de collaboration MCAD de l'industrie dans un seul programme. Discutez de vos besoins avec un expert Altium pour en savoir plus.

About the Author

Zachariah Peterson


Zachariah Peterson has an extensive technical background in academia and industry. Prior to working in the PCB industry, he taught at Portland State University. He conducted his Physics M.S. research on chemisorptive gas sensors and his Applied Physics Ph.D. research on random laser theory and stability.

His background in scientific research spans topics in nanoparticle lasers, electronic and optoelectronic semiconductor devices, environmental systems, and financial analytics. His work has been published in several peer-reviewed journals and conference proceedings, and he has written hundreds of technical blogs on PCB design for a number of companies.

More Content by Zachariah Peterson
Previous Article
Amélioration des processus opérationnels et gestion des données de PCB
Amélioration des processus opérationnels et gestion des données de PCB

Les améliorations des processus font bien plus qu’augmenter les bénéfices nets.

Next Article
Intégrez vos outils ECAD au logiciel de conception mécanique
Intégrez vos outils ECAD au logiciel de conception mécanique

La conception combinant ECAD/MCAD est la meilleure approche pour unifier les équipes de conception mécaniqu...