30 juillet 2019

Le développement Swiss Made chez Apptitude.

Pour la fête nationale de ce 1er Août, Axel – notre CEO – répond à quelques questions à propos de nos certifications Swiss Made et comment celles-ci font partie intégrante de nos processus :

 

Champ d’application

De manière concrète, à quels domaines s’applique le label Swiss Made pour une agence digitale ?

Il existe plusieurs labels Swiss Made, plus ou moins généralistes, qui peuvent concerner le digital. Dans le cadre d’Apptitude, nous sommes membres du SWISS LABEL (l’arbalète, générique aux produits et services faits en Suisse) et Swiss Made Software (spécifique au développement de logiciel).

Ces deux labels imposent un certain cahier des charges pour pouvoir les revendiquer. Les principaux critères sont que le siège de l’entreprise doit être en Suisse et que la production des services doit être réalisée majoritairement en Suisse. Apptitude répond entièrement à ceux-ci puisque 100% de notre production est assurée dans nos locaux et je dirais même plus, nos fournisseurs et partenaires sont implantés en Suisse aussi.

 

Quelles autres certifications l’agence a-t-elle obtenues ou souhaite obtenir ?

ISO 13485: Systèmes de management de la qualité pour les appareils médicaux. C’est une demande de plusieurs clients afin de satisfaire leurs besoins réglementaires. Nous sommes en train de mettre en place ce système qualité au niveau de l’organisation et avons identifié beaucoup d’opportunités dans la région pour valoriser cette compétence.

IEC 62304: Logiciels pour dispositif médicaux. C’est la norme réglementaire qui s’applique au niveau d’un projet et non de notre organisation. Elle va de paire avec la précédente pour du développement spécifique au domaine médical, très demandé en Suisse.

SCRUM: Méthodologie de travail pour nos projets, nous formons et certifions nos collaborateurs aux postes de Product Owner et Scrum Master.

Entreprise formatrice: Nous nous investissons dans la formation des développeurs de demain. Découvrir ici !

 

Positionnement

Avec l’outsourcing et la mondialisation, n’est-il pas difficile de se présenter comme une agence de développement 100% Swiss Made ?

L’externalisation du développement a connu son essor au milieu des années 2’000 avec des grands groupes qui cherchaient à diminuer significativement leurs coûts IT. Depuis, nous sommes entrés dans l’ère de la start-up, de l’agile, de l’ergonomie et du design centré utilisateur… Les compétences spécifiques que ces nouvelles approches demandent ne se trouvent pas n’importe où. D’autant plus que l’aspect collaboratif de celles-ci nécessite une communication optimale pour des échanges fructueux.

Pour de grandes structures, l’externalisation répond peut-être à un besoin mais avec une inertie dans les projets qui va de 5 à 10 ans. En outre, le “scope” est moins clair, la valeur ajoutée est discutable et les technologies sont vieillissantes voire dépassées… L’inconvénient majeur de l’externalisation reste la nécessité de strictement tout spécifier dans les moindres détails pour espérer arriver à un produit convenable.

Cela peut être rassurant pour certains directeurs informatiques aux méthodes archaïques mais c’est loin d’être efficace et flexible, en plus de n’avoir – en soi – rien de très passionnant pour une équipe dynamique. Le métier de beaucoup de ces gestionnaires de projet est passé d’analyste/programmeur (comprendre le besoin utilisateur et trouver des solutions techniques élégantes et durables) à finalement un job de transmetteur d’emails et chasseur de bugs.

Aujourd’hui nous sentons un réel retour à l’esprit collaboratif – en personne et dans la proximité – surtout pour les projets nécessitant de la flexibilité, de la rapidité et une bonne compréhension de la culture ou du métier, afin de pénétrer son marché efficacement. C’est là où prend source notre positionnement : Apptitude vous accompagne pour transformer vos idées en produits digitaux élégants et efficaces. Cela commence donc par une immersion dans le monde de nos clients et une analyse claire de leurs objectifs business. La technologie n’est qu’une réponse, un outil parmi d’autres pour atteindre l’accomplissement de ces objectifs.

 

L’argument Swiss Made est il décisif pour certain de nos clients ? Voire est-il demandé par certains prospects ?

Le Swiss Made est clairement décisif pour bon nombre de clients. Un client va comprendre très rapidement qu’il sera gagnant dès qu’il prend en compte la globalité du projet, entre ses coûts internes et externes, les délais, la qualité et le suivi.

De nos jours, il ne suffit plus de livrer un logiciel clé en main. Le client s’attend à une vraie relation de travail basée sur des échanges à forte valeur ajoutée, puis à un suivi de son produit à la hauteur de ses attentes.

 

L’utilisation de code open source ne va-t-elle pas à l’encontre d’un label Swiss Made ?

Le code open source est un savoir-faire partagé à l’international qui s’enrichit de sa nature collaborative et ne connaît donc pas de frontières. C’est aussi un élément essentiel de la dynamique des métiers du digital, c’est pourquoi il ne peut pas aller à l’encontre de ce label en particulier.

 

La qualité suisse

Qu’est-ce qui fait un logiciel de qualité ? Comment faire la différence entre un bon et un mauvais code ?

Lorsque nous approchons un projet, toute une série de questions sont abordées pour différents aspects de son développement :

Utilité
Est-ce que le projet, le produit, répond à un réel besoin ? Est-ce que les fonctionnalités imaginées proviennent du marché, de l’utilisateur ou du Directeur général ? Est-ce qu’il vaut mieux faire une app, un site internet, une web-app, un rapport papier ou rien du tout ?

Usabilité
Est-ce que le produit s’aligne avec les bonnes pratiques en termes d’usabilité ? Son adaptabilité mobile est-elle optimale ? Est-ce que le produit est/sera testé avec des utilisateurs réels ?

Technologie
Utilisez-vous une stack à la pointe de la technologie qui dispose d’une importante communauté de développeurs (recrutement facile et support à long terme) ? Le code est-il bien entretenu pour prévenir les problèmes de sécurité ? Qui est derrière la solution ? Est-ce qu’il y a des frais de licence ? Est-ce que cela durerait plus de 5 ans ? Est-ce que ce service offre un soutien à long terme ?

Maintenabilité
Le code est-il bien structuré, utilisant les bons modèles de conception ? Pouvez-vous faire évoluer la solution sans la refaire à partir de zéro ? Quel est votre délai/capacité d’isoler un bug quand quelqu’un signale un problème ?

Documentation
Votre code est-il bien documenté ? Pouvez-vous intégrer de nouveaux développeurs sans friction ? Et si quelqu’un quitte votre équipe ? Que faire si vous devez changer de fournisseur ?

Équipe
Qui est derrière les compétences ? Avez-vous sécurisé votre équipe de quelque façon ? Sont-ils remplaçables ? Sont-ils flexibles ?

Scalabilité
Votre architecture système est-elle prête à évoluer ? Pourra-t-on y brancher une application à l’avenir ? Et si vous parvenez à récolter des fonds, êtes-vous alors en mesure de vous exporter dans le monde entier ? Le choix de la base de données est-il bon ?

Operationnel
Quelle méthodologie de développement utilisez-vous ? Est-elle efficace ? Avez-vous une stratégie de livraison continue, une stratégie de versionnement ? Combien de temps s’écoule-t-il entre la découverte d’un bug et sa résolution, sa mise à l’essai et son déploiement ?

Securité
Où le serveur fonctionne-t-il ? Qu’est-ce que vous avez/offrez comme SLA (service-level agreement) ? Le code et la base de données sont-ils au même endroit ? Votre serveur est-il sécurisé ? Qui pourrait ou voudrait pirater votre système ?

Tiers
Faites-vous appel à des « tiers » (API, SDK, etc.) ? Avez-vous un contrat avec eux (SLA) ? Quel est le risque si un fournisseur disparaît ?

Depuis l’an 2’000, on parle facilement de bugs, mais ce n’est que le sommet de l’iceberg. La qualité d’un logiciel se mesure selon une grande quantité de paramètres, qui sont au centre de notre attention lors d’un projet.