Le développement de logiciels est un processus difficile, vous devez donc vous assurer que toutes vos questions sont couvertes avant de vous lancer dans un projet avec votre équipe.

Il n'est jamais amusant d'être au milieu d'un processus de développement logiciel et de se heurter à un obstacle budgétaire. 

Bien qu'il y ait toujours des obstacles sur le chemin du lancement d'un produit, vous pouvez éviter certains gros obstacles en posant les bonnes questions avant de développer.

Les développeurs de Sabma Digital aident les organisations à élaborer des stratégies de produits logiciels depuis des années. Ces six questions sont les plus souvent négligées, mais nous avons constaté qu'elles affectent le plus les logiciels de nos clients.

Ainsi, la prochaine fois que vous planifiez un produit logiciel, posez ces questions de développement et d'affaires à vos parties prenantes. 

6 questions de développement à poser avant de construire votre logiciel

  1. Quelles données dois-je stocker?
  2. À quelles réglementations dois-je adhérer?
  3. Quelles sont les meilleures pratiques pour mon application?
  4. Cette application est-elle pour nous ou devrions-nous envisager de la vendre?
  5. Combien de personnes pourraient utiliser cela?
  6. Comment mes utilisateurs l'utiliseront-ils?

1. Quelles données dois-je stocker?

Avant de commencer le développement, vous devez sélectionner une base de données. Et avant de sélectionner une base de données, vous devez comprendre le type de données que votre application stockera, maintenant et à l'avenir.

Pour vous donner une idée de la complexité de cette réponse apparemment simple, voici quelques types de données que vous devrez peut-être prendre en compte:

  • Qualitatif vs quantitatif
  • Données non structurées vs données structurées
  • Entiers contre caractères
  • Big Data
  • Données en temps réel
  • Données horodatées

Selon les types de données, vous pouvez avoir besoin d'une base de données très spécifique. Si vous sélectionnez à la hâte un système inapproprié, cela peut vous coûter du temps et des ressources.

Dans le même ordre d'idées, considérez vos besoins en données dans quelques années. À quoi ressemble votre produit à long terme ? Vos futurs objectifs commerciaux justifieront fortement la sélection d'une base de données.

2. À quels règlements dois-je adhérer?

Selon votre secteur d'activité, votre emplacement ou vos utilisateurs, vous devrez probablement prendre en compte certaines réglementations. Ne pas élaborer de stratégie autour de ces réglementations peut entraîner des pénalités en ligne, un abandon d'utilisateurs ou des poursuites de plusieurs millions de dollars . Voici les grands dont vous devez tenir compte.

  • GDPR : Le règlement général sur la protection des données est une loi de l'Union européenne qui oblige les entreprises à divulguer la collecte, le traitement et le stockage des données personnelles des utilisateurs. Il exige également que les entreprises prennent «des mesures techniques et organisationnelles appropriées» pour protéger les données des utilisateurs et la confidentialité. Le non-respect du RGPD peut entraîner une amende pouvant aller jusqu'à 20 millions d'euros.
  • CCPA : Le California Consumer Privacy Act est la version californienne du RGPD. Semblable à la réglementation européenne, elle accorde aux résidents de Californie un accès et un pouvoir sur leurs données personnelles. 
  • HIPPA : Le Health Insurance Portability and Accountability Act accorde certains niveaux de protection des données médicales. Si vous êtes dans la technologie de la santé, vous devez être parfaitement conscient des règles et de la conformité de HIPPA.
  • FERPA : La Family Educational Rights and Privacy Act s'applique à tout établissement d'enseignement public. Il est conçu pour protéger les données personnelles d'un étudiant. Tout tiers ou fournisseur qui travaille avec un établissement d'enseignement doit également se conformer à FERPA.
  • Accessibilité ADA : l'accessibilité est un problème complexe dans le monde du développement, et il se peut qu'il n'y ait pas de réponse noire et blanche pour vous. Cependant, vous devriez demander à votre équipe si vous en avez besoin et quelles parties de votre application sont-elles les plus pertinentes?

Votre logiciel doit respecter les réglementations nécessaires.

3. Quelles sont les meilleures pratiques pour mon application?

En fonction de votre application et de la façon dont vous allez l'utiliser, il y aura une poignée de bonnes pratiques à respecter. Les meilleures pratiques les plus courantes pouvant être appliquées à la plupart des applications sont:

  1. SSL : Envoyez -vous des données entre réseaux? Vous devrez crypter vos données avec une couche de sockets sécurisée ou SSL (photo ci-dessous).SSL
  2. Crypter les données au repos: là où SSL crypte vos données pendant le transport, le cryptage de vos données au repos est également important. 
  3. Plan de longévité : quelle technologie de fin de vie se profile à l'horizon (Windows 7, par exemple)? Pour ces technologies, prévoyez des correctifs et des mises à jour de sécurité.
  4. Prise en charge des navigateurs : quels navigateurs prenez-vous en charge? Si vous travaillez dans un environnement d'entreprise, vous devrez peut-être prendre en charge les anciens navigateurs.

Il existe probablement d'autres bonnes pratiques en fonction de votre secteur d'activité, des utilisateurs et des exigences de votre entreprise, alors consultez un ingénieur principal avant votre projet. 

4. Cette application est-elle pour nous ou voulons-nous la vendre?

De nombreuses applications logicielles démarrent en tant que technologie interne. Votre équipe a une idée de logiciel qui rendra vos fonctions quotidiennes plus productives. Cela fonctionne si bien que, tout d'un coup, votre logiciel est son propre produit.

Cependant, la transformation d'un logiciel destiné à un ensemble d'utilisateurs (locataire unique) en un logiciel disponible pour de nombreux ensembles d'utilisateurs (multi-locataire) pose des défis. Dans une architecture à location unique, chaque locataire possède sa propre base de données et sa propre instance logicielle.

locataire unique vs multi-locataire

Dans l'architecture mutualisée, il existe une grande base de données segmentée pour différentes instances ou groupes d'utilisateurs.

Ces deux architectures sont complètement différentes et la migration de votre base de données de simple à multi après des années de collecte de données peut devenir un énorme projet.

Ce scénario «maintenant nous voulons le vendre» se produit fréquemment. Assurez-vous donc d'envisager la possibilité de vendre votre logiciel, même si ce n'est pas une exigence commerciale immédiate.

5. Combien de personnes pourraient l'utiliser?

Si vous dites à votre équipe de développement que des dizaines de milliers de personnes utiliseront votre application, elles sélectionneront les langages et les frameworks les mieux adaptés à une large base d'utilisateurs. Si votre base d'utilisateurs réelle finit par être de 200, vous avez gaspillé des ressources et créé une architecture logicielle et serveur non optimisée. 

Donc, avant de commencer à développer votre logiciel, soyez réaliste avec le nombre d'utilisateurs et la croissance de votre base d'utilisateurs. Bien sûr, nous voulons tous que notre logiciel attire des millions d'utilisateurs, mais pour la plupart d'entre nous, cela n'arrivera pas.

Votre nombre réel d'utilisateurs affectera la manière dont vous créez votre application et les fonctionnalités prioritaires.

6. Comment mes utilisateurs l'utiliseront-ils?

La dernière question importante à poser à votre équipe vous oblige à penser à vos utilisateurs.

Vos utilisateurs utiliseront-ils exclusivement votre application sur un téléphone mobile? Votre application a besoin d'une expérience mobile exceptionnelle.

Vos utilisateurs accéderont-ils à votre application dans une zone à faible bande passante ? Votre application doit minimiser la taille du transfert de données.

Comprendre les préférences de vos utilisateurs et leurs habitudes en ligne vous aidera à sélectionner les outils optimaux et à hiérarchiser les fonctionnalités. Cette compréhension améliorera les chances d'adoption et d'engagement élevé, et aidera à traduire votre idée en une application logicielle utile!

Mettez ces questions en action

Pour récapituler, voici les six questions que nous venons de parcourir:

  1. Quelles données dois-je stocker?
  2. À quelles réglementations dois-je adhérer?
  3. Quelles sont les meilleures pratiques pour mon application?
  4. Cette application est-elle pour nous ou devrions-nous envisager de la vendre?
  5. Combien de personnes pourraient utiliser cela?
  6. Comment mes utilisateurs l'utiliseront-ils?

En fonction de votre secteur d'activité ou de votre base d'utilisateurs, vous devez vous poser d'autres questions et considérations. C'est pourquoi nous recommandons toujours d'avoir un ingénieur senior (ou mieux encore, un CTO) dans vos réunions stratégiques initiales.

Au minimum, ces six questions vous aideront à créer une stratégie et un plan d'exécution clairs. Ces étapes éviteront les blocages lors du développement, assureront un lancement à temps et aboutiront à un meilleur logiciel .