Astuces pour la conception de produits IoT : utilisation de code IoT basé sur les modèles




Les produits intelligents et connectés offrent une mine de possibilités stimulantes, porteuses d’innovation. Le problème, c’est que leur développement complique encore le développement de nouveaux produits, un processus déjà complexe.


Prenez des mesures pour gérer la complexité

De nombreux produits ont déjà évolué en des systèmes complexes alliant des composants mécaniques, électroniques et logiciels. Aujourd’hui, grâce à l’Internet des Objets (IoT), nous pouvons faire évoluer ces systèmes vers de nouveaux écosystèmes. La complexité est déjà la cause première de nombreuses difficultés rencontrées lors du développement de systèmes. Prendre des mesures pour gérer la complexité nous aidera à relever ces défis et renforcera les chances de succès du produit. En effet, d’après une étude que nous avons menée chez Tech-Clarity, intitulée Developing Software-Intensive Products: Addressing the Innovation Complexity Conundrum (Développement des produits à forte composante logicielle : résoudre le casse-tête de l’innovation et de la complexité), la moitié des fabricants qui développent des produits plus intelligents subissent des retombées négatives. Cette problématique est due aux difficultés que génère la complexité des systèmes. Elle a une incidence sur la qualité des produits, les délais de commercialisation et l’efficacité opérationnelle.

Utilisez une approche basée sur les modèles

Le Guide de l’acheteur pour l’ingénierie des systèmes : Guide de l’expert en solutions d’ingénierie des systèmes de Tech-Clarity recommande l’utilisation de modèles de système pour faciliter la gestion de la complexité. Dans notre étude intitulée Developing Software-Intensive Products (Développement de produits à forte composante logicielle), nous avons comparé des entreprises qui utilisent des modèles de système à d’autres entreprises qui n’en utilisent pas. D’après les résultats, les premières ont moins de probabilités d’enregistrer des retombées commerciales négatives. Celles qui utilisent des modèles de système présentent :

Macintosh HD:Users:mboucher:Documents:PTC:Modeling for IoT and ThingWorx:images:Tech-Clarity-Insight-Systems-Engineering-Buyers-Guide.jpg

  • 23 % de probabilités en moins d’enregistrer un problème de qualité du produit ;
  • 55 % de probabilités en moins d’enregistrer un retard de commercialisation.

 

La modélisation des systèmes permet d’assurer la traçabilité visuelle de l’ensemble du système. Vous pouvez ainsi suivre les exigences associées aux différentes fonctions au travers de la validation et de la vérification.

 

Pensez aux conséquences pour l’IoT

Il s’en suit que l’application de cette bonne pratique à des systèmes IoT encore plus complexes offrira encore plus d’avantages. Néanmoins, il ne s’agit pas juste de travailler sur un produit intelligent isolé. Avec l’IoT, il vous faut communiquer avec de multiples « objets » comme d’autres produits, le Cloud, des appareils mobiles et différentes bases de données. Un modèle peut fournir une bonne référence visuelle vous permettant de vous concentrer sur les fonctions logiques, la structure et les interfaces du système IoT. C’est comme lorsque vous partez en voyage et recherchez le meilleur itinéraire. Vous pouvez comparer les instructions d’une liste ou regarder une carte. Avec la liste, vous vous contenterez d’étudier en détail les instructions pour ne pas vous perdre. Une carte visuelle, en revanche, vous permettra de mieux évaluer le trajet et de prendre de meilleures décisions concernant l’itinéraire à suivre. Un modèle de système, c’est comme une carte.

Macintosh HD:Users:mboucher:Documents:PTC:Modeling for IoT and ThingWorx:images:AdobeStock_118997999_WM.jpeg

L’IoT touche à tellement d’« objets » que vous devez faire appel à toute une kyrielle de personnes, de services et de systèmes métier. Notre étude Developing Software-Intensive Products révèle que les équipes intégrées subissent des retombées négatives moins fréquemment que les autres. Le rapport de recherche souligne que les équipes indépendantes et non intégrées « sont également moins enclines à communiquer et à collaborer, ce qui génère des surprises, des changements de dernière minute et des problèmes d’intégration qui ont un impact sur la qualité, les délais et les coûts ». Un modèle IoT peut prendre en charge une équipe plus intégrée. La référence visuelle fournit un langage commun qui améliore la communication entre les équipes. Étant donné le vaste croisement de compétences et de fonctions en jeu, cela permet de mieux tirer parti de l’expertise collective de l’ensemble de l’équipe.

Envisagez la génération de code automatisé incluant la connectivité IoT

Au-delà des avantages de l’utilisation d’un modèle IoT, un modèle capable de générer automatiquement du code aura encore plus de valeur. Pensez au temps que vous pourriez économiser si tout ce qui est défini dans le modèle IoT, y compris l’ensemble du code relatif à la connectivité, était généré automatiquement. Outre le gain de temps, l’automatisation réduit aussi les risques d’erreurs, d’où une amélioration de la qualité.

 

 Autre avantage : avec la génération automatique de code, vous pouvez consacrer votre temps à créer de la valeur ajoutée. Vous pouvez vous concentrer sur ce que le système est censé faire, respecter les exigences et les cas d’utilisation, repérer toutes les occasions de créer de la valeur ajoutée, mais aussi innover. C’est une façon bien plus utile d’exploiter les ressources de l’équipe que de perdre votre temps à cette tâche laborieuse que constitue l’écriture de code. 

Macintosh HD:Users:mboucher:Documents:PTC:Modeling for IoT and ThingWorx:images:AdobeStock_64765904.jpegL’IoT présente aussi le grand intérêt de vous permettre d’améliorer les produits même après leur achat, par une mise à jour du logiciel. Cependant, cela exige des changements, et les changements sont généralement une grande source de problèmes car ils peuvent introduire des erreurs, en particulier dans les systèmes complexes. Imaginez qu’au lieu de cela, vous puissiez changer le modèle, réviser visuellement la logique, puis générer automatiquement le code associé. Non seulement cela faciliterait et accélérerait les changements, mais cela réduirait aussi les risques d’erreurs.