Ce qu'un fondateur non technique devrait savoir sur le développement de logiciels

Même la tâche technique la plus simple peut être mise en œuvre de plusieurs manières. Chaque approche disponible a ses avantages et ses inconvénients, et son coût - vous pouvez faire de l'automatisation pour un sou, ou vous pouvez dépenser une fortune.

En règle générale, les ingénieurs et les éditeurs de logiciels s'efforcent d'accomplir la tâche avec la meilleure qualité possible dont ils sont capables. Selon leur expérience et le stade actuel du démarrage, la qualité «élevée» qui en résulte peut ne pas être suffisante, correspondant idéalement au moment présent, ou une perte de temps et d'argent.

Par conséquent, afin d'agir aussi rapidement et efficacement que possible, il est très important de changer l'approche du développement en fonction du stade de l'évolution de la startup.

image

Commencez: trouver votre place sur le marché
(recherche d'ajustement au marché)


C'est le tout début lorsqu'une nouvelle organisation recherche son marché. L'objectif principal à ce stade est de tester de nouveaux modèles commerciaux le plus rapidement possible sans prêter beaucoup d'attention à la qualité de la mise en œuvre du système.

Au cours de cette période, les exigences de la plate-forme peuvent changer considérablement plusieurs fois. La plupart du code est susceptible d'être jeté par la suite. L'impact des erreurs est faible, car la plate-forme n'a presque pas d'utilisateurs, en règle générale, c'est la famille et les amis.

A ce stade, il est inutile d'investir beaucoup de ressources dans une implémentation de qualité du système. Il est même dangereux de payer pour une bonne qualité, car cela ralentit la vitesse des études de marché et dépense rapidement de l'argent.

Priorité : Rapidité de développement.

Recommandations :

  • Recherchez le moyen le plus simple et le plus rapide de tester vos idées.
  • Explorez le marché, il existe peut-être déjà des systèmes ou des services prêts à l'emploi que vous pouvez utiliser.
  • Soyez à l'affût chaque fois que vous entendez parler de la qualité, des performances, de l'évolutivité de la solution, etc. Prenez des notes pour l'avenir et oubliez pour le moment.
  • Résistez à la tentation d'investir trop tôt dans la bonne qualité. Après tout, à chaque fois, vous serez convaincu que la solution actuelle au problème va sûrement tirer.
  • Après l'apparition des clients et la transition vers l'étape suivante, préparez-vous à ce que les débutants parlent de la fraîcheur de l'utilisation de telle ou telle approche architecturale dès le début. Mieux que de dépenser tout l'argent et de créer le produit parfait dont personne n'a besoin.

Développement: Niche Capture


La startup a trouvé son marché et le nombre de clients ne cesse de croître.

À ce stade, il y a moins de changements cardinaux dans le système. Habituellement, de nouvelles fonctionnalités sont ajoutées. Cependant, à mesure que le nombre de clients augmente, l'impact des erreurs augmente.

Les utilisateurs de services doivent voir que la solution est stable et en constante évolution. Par conséquent, le développement de la qualité de la plate-forme vient au premier plan.

Priorité : qualité du processus de développement.

Recommandations :

  • Commencez à investir davantage dans la qualité de la plateforme.
  • Fournissez les éléments suivants du processus de développement:
    • Mises à jour fréquentes et régulières du système.
    • Déploiement automatisé des modifications.
    • Toutes les modifications passent par l'étape de révision du code.
    • Test qualitatif des fonctionnalités nouvelles et anciennes.
  • Préparez-vous à des changements architecturaux massifs à l'étape suivante.

Mise à l'échelle: expansion sur le marché mondial


La start-up a construit un modèle commercial réussi. Il est temps de l'adapter à de nouveaux marchés.

À ce stade, les exigences existantes changent rarement. De nouvelles fonctionnalités font encore leur apparition, mais les exigences non fonctionnelles, telles que la bande passante, la vitesse de réponse et la disponibilité du système, deviennent plus importantes.

L'impact des erreurs est énorme et la fiabilité de la plateforme est critique.

Priorité : architecture de qualité.

Recommandations :

  • Il est temps d'investir au maximum dans la qualité de la plateforme.
  • Si nécessaire, réécrivez certains modules pour améliorer l'architecture.
  • Fournissez les éléments suivants du processus de développement:
    • Tests de résistance de qualité.
    • Équipes verticales - les équipes peuvent libérer indépendamment de nouvelles fonctionnalités.
    • Mise à l'échelle horizontale - chaque module de plate-forme peut être mis à l'échelle en en ajoutant de nouvelles instances.
    • Déploiement d'essai (déploiement Canary) - de nouvelles fonctionnalités peuvent être testées sur une petite partie d'utilisateurs réels.

Résumé:


Connaissez clairement votre stade - chaque membre de l'équipe doit comprendre l'orientation actuelle du développement. Développer une habitude avant chaque prise de décision sur la mise en œuvre d'une liste d'options qui diffèrent dans le temps, le coût et la qualité. Choisissez le plus efficace pour votre étape actuelle:

  • Coupez les coins pour tester les hypothèses le plus rapidement possible au moment de trouver votre place sur le marché.
  • Construisez un processus de développement de haute qualité et assurez un flux constant d'améliorations pendant le développement intensif.
  • Mettez à niveau votre architecture système pour faire évoluer un modèle commercial réussi vers de nouveaux marchés.

PS : L'évolution d'une startup n'est pas toujours aussi simple et linéaire. La transition d'une étape à l'autre prend du temps et des efforts. Un produit réussi (MVP) au lancement peut ne pas fonctionner pour un public plus large pendant la phase de développement. Une solution efficace pour un créneau peut ne pas bien évoluer sur de nouveaux marchés. Ces cas ramènent le bootstrap à ses racines et la priorité de développement devrait changer en conséquence.

Source: https://habr.com/ru/post/fr461601/


All Articles