Défi
Cette histoire commence en 2005 lorsqu'un fournisseur de système d'exécution de fabrication (MES) américain a rencontré un problème. Son système a été construit à la fin des années 1990 et il est devenu de plus en plus difficile de l'intégrer aux logiciels modernes.
L'entreprise cherchait un développeur expérimenté dans l'analyse des performances, la génération de graphiques et l'optimisation des processus métier. Lorsqu'ils ont rencontré Elinext, nous avons montré que nous disposions des compétences et des ressources appropriées, et avons ensuite été sélectionnés pour ce travail.
En 2014, notre client a été acquis par une multinationale basée en Allemagne, qui fournissait des équipements et des logiciels industriels à de grands fabricants. Cette société a aimé le travail que nous faisions et a choisi de continuer à travailler avec Elinext. Depuis lors, nous avons eu beaucoup plus de travail à faire sur le projet.
Solution
Elinext a réuni cinq équipes pour le projet. Chaque équipe comprenait environ six personnes (le nombre a varié tout au long) et se concentrait sur un seul objectif de livraison tout au long d'un cycle de publication.
Nous avons abordé le projet en utilisant le modèle de développement à grande échelle Scrum (LeSS). Le travail a été divisé en cycles de publication, et chaque cycle consistait en cinq sprints, chaque sprint pouvant durer jusqu'à trois semaines. Les quatre premiers sprints étaient centrés sur le développement; au cours de ce dernier, nous avons configuré de nouvelles fonctionnalités pour un fonctionnement stable.
Nos équipes sont restées en contact étroit avec le client par le biais d'appels quotidiens. À chaque appel, nous avons dit au client ce que nous avions fait, sur quoi nous travaillions et quelles mesures nous prendrions ensuite. Cela nous a aidés à rester sur la bonne voie, à pivoter si nécessaire et à éliminer les problèmes potentiels dans l'œuf.
Système
Le système d'exécution de fabrication (MES) regroupent plusieurs sites de fabrication et fournisseurs de services sur une seule plate-forme. En accédant à cette plate-forme, les opérateurs peuvent obtenir des informations sur les performances et exécuter diverses applications métier.
Grâce au MES, les fabricants peuvent:
- collecter et stocker des données
- lancer et suspendre la production
- gérer la documentation
- gérer le personnel
- surveiller le processus de production
- gérer les matériaux, les équipements et les opérations
- contrôler la qualité et plus
Le MES fonctionne sur la base d'une logique métier développée il y a des décennies qui, étonnamment, reste d'actualité aujourd'hui. La logique est structurée comme un ensemble de fonctions exécutées sur un serveur C++.
Les administrateurs système peuvent gérer des bases de données, des services, des requêtes et des transactions dans un espace de travail visuel. L'espace de travail est structuré comme un gâteau de couches, où chacune de ces entités est liée à une classe correspondante. La création de classes est le prochain niveau de configuration du système, où vous pouvez également personnaliser la logique de l'application et lier les éléments entre eux.
Afin de créer un réseau d'installations de fabrication administrables à partir du MES, ses administrateurs créent plusieurs niveaux. Et c'est là que se trouvait la fine ligne.
Nous devions trouver un équilibre entre la personnalisation sans précédent et la protection du cœur du système. Notre équipe a veillé à ce que les administrateurs ne puissent configurer le système qu'au niveau auquel ils sont autorisés à fonctionner et ne cassent rien au cœur.
Dans l'ensemble, notre travail a été axé sur l'amélioration du modèle MES et du framework pour garder la pertinence de la technologie existante tout en intégrant le système avec des logiciels modernes. La majeure partie peut être réduite à deux caractéristiques principales: les graphiques de maîtrise statistique des procédés (MSP) et un moteur haute performance (MHP).
Le système utilisait un moteur de graphiques SPC tiers. Mais il était trop vieux et le client a décidé de le remplacer par un nouvel outil sur mesure. Nous avons découvert que l'un des bureaux allemands de l'entreprise avait déjà construit un tel produit pour répondre à ses besoins, mais qu'il ne répondrait pas exactement aux nôtres.
Au lieu de réinventer la roue, nous avons contacté le bureau allemand pour voir si nous pouvions réutiliser et développer davantage leur logiciel. L'idée a bien fonctionné. Nous avons construit un modèle pour intégrer le MES existant à la plate-forme des Allemands et introduit des modifications dans leur API, en les consultant tout au long.
Une fois que nous l'avons configuré, le moteur de graphiques SPC interne a pris la place de son prédécesseur. Un moteur haute performance (MHP) était responsable de la combinaison de plusieurs transactions de données en une seule demande.
Nettoyage
Une autre partie de notre travail consistait à trouver un moyen de contourner les erreurs commises par nos prédécesseurs afin de pouvoir développer davantage le MES. La correction de ces erreurs nécessiterait la migration du système à partir de ASP.net, un processus qui prendrait des années à compléter.
Au lieu de cela, nous avons automatisé la génération de certaines pages pour éviter de les créer manuellement, évitant ainsi certaines erreurs.
Personnalisation
Les géants de la technologie comme Microsoft proposent des logiciels similaires prêts à l'emploi (par exemple, Dynamic CRM). Mais le personnaliser prend beaucoup de temps et d'argent. De plus, sa personnalisation globale est limitée et vous ne pouvez pas la régler correctement pour certains marchés en raison des spécificités régionales.
En revanche, les fabricants peuvent personnaliser le produit de nos clients dans les moindres détails. Chaque fois qu'une nouvelle entreprise achète le MES à notre client, nous l'aidons à personnaliser le système en fonction de leurs besoins.
Les entreprises utilisant ce MES comprennent les fabricants d'équipements médicaux et de produits pharmaceutiques, les centres de recherche, de développement et de laboratoire, les producteurs de semi-conducteurs et les fabricants d'électronique.
Autres Améliorations
Certaines entreprises préfèrent s'en tenir à leurs propres interfaces visuelles. Pour leur permettre de gérer le système, nous avons activé la connexion au MES via l'API REST.
Une autre amélioration sur laquelle nous avons travaillé récemment est la conteneurisation. Actuellement, le système utilise des serveurs Windows, que certaines entreprises ont trouvés trop chers et ont demandé une alternative. Notre équipe découvre des moyens d'envelopper le serveur d'applications dans un conteneur où il est ensuite exécuté via Docker, ce qui devrait réduire considérablement les coûts pour le client final.
Testing
Nous avons testé le système de manière approfondie. Cela inclut des tests fonctionnels tels que les tests singuliers et d'intégration, les tests de régression, les tests positifs-négatifs, les tests de boîtes noires et les tests de localisation.
Pour accélérer les tests et réduire les erreurs lors du test de grandes fonctionnalités structurées de manière monotone, nous l'avons automatisé. Nous avons utilisé Test Runner et Specflow lors de l'écriture de code dans Visual Studio.
Résultat
Le système que nous avons aidé à développer a donné des résultats exceptionnels: son retour sur investissement atteint jusqu'à 400%. Notre client fournit de nombreux produits et services, mais le MES représente à lui seul 80 à 90% de son chiffre d'affaires total.
Aujourd'hui, cinq équipes d'Elinext travaillent sur le projet, fournissant un soutien et une surveillance 24 heures sur 24 et aidant à intégrer le MES dans les environnements commerciaux des clients finaux. Certaines équipes développent de nouvelles fonctionnalités telles que la conteneurisation, une nouvelle modélisation, une API REST personnalisée et une nouvelle plate-forme pour la migration ou le clonage des processus de fabrication entre les installations.
Le développement du MES est prévu pour trois ans à venir. Nous prévoyons qu'environ 35 ingénieurs logiciels d'Elinext y travailleront d'ici la fin de 2021.