Augmentons votre valeur

En développant un service ou un produit, il n'est pas rare de vouloir faire quelque chose de très complet qui propose beaucoup de fonctionnalités.

Pourtant, ce n'est pas toujours une bonne idée.

En termes de coûts, beaucoup de fonctionnalités, c'est synonyme d'un coût de développement élevé, d'un coût de maintenance élevé et souvent d'un coût d'opérations élevé. Quant à la satisfaction de l'utilisateur, beaucoup de fonctionnalités, c'est potentiellement plus de problèmes. Et c'est encore un coût plus élevé en support utilisateur.

Pourtant seule une petite partie de ces fonctionnalités vous apporte vraiment de la valeur. Comme le prévoit le principe de Pareto, 20% des fonctionnalités vont vous apporter 80% de valeur.

C'est totalement contre-intuitif, néanmoins, il est bien plus intéressant pour vous de faire un produit incomplet et bon qu'un produit complet et moyen.

J'accompagne mes clients à mettre de côté ce qui ne leur apporte pas de valeur.

La même philosophie s'applique pour mes services d'administration et de formation. Voici quelques exemples :

Est-ce qu'une newsletter est vraiment le moyen le mieux adapté pour toucher vos clients ? Peut-être que vos taux d'ouvertures sont bas ? Les taux de clics encore plus bas ? Est-ce que le coût d'envoyer une newsletter est justifié ?

Est-ce que ces fonctionnalités puissantes, mais complexes, vont être utilisées par vos clients ? Est-ce que c'est justifié d'encombrer l'interface de la majorité pour une minorité ? Est-ce qu'on peut imaginer un moyen moins coûteux de les offrir ? (une API par exemple ?)

Est-ce que vous voulez vraiment augmenter vos capacités de stockage actuelles ? Peut-être qu'une partie de vos données n'est utilisée que très rarement ? Est-ce qu'elles pourraient être stockées, à moindre coût, à l'aide d'une technologie différente ? (à bandes par exemple ?)

Agilité - Méthodes

Je m'adapte à votre contexte, néanmoins je vous propose de travailler en accord avec les méthodes agiles. C'est-à-dire que je mets en avant le travail en cycles courts, en "sprint", de 2 semaines ou moins, pendant lequel le temps s'organise de la manière suivante :

Avant le début du sprint, on prend un temps pour établir ensemble une liste de fonctionnalités/tâches. Puis vous classez cette liste par ordre de priorité. Ce classement est l'occasion de vous aider à prioritiser ce qui est essentiel, ce qui apporte de la valeur, par rapport à ce qui est peut-être plus secondaire.

Puis le sprint démarre et pendant ce sprint, je travaille sur les fonctionnalités du sommet de la liste.

À la fin du sprint, je vous les livre, fonctionnelles, testées, validées et documentées. Puis vous décidez de la tenue d'un sprint supplémentaire pour continuer à développer les fonctionnalités qui suivent dans la liste ou vous décidez que les fonctionnalités suivantes n'en valent pas la peine et vous êtes libre d'arrêter.

De cette façon, vous obtenez le ROI maximum : les fonctionnalités les plus génératrices de valeur au coût minimum.

liste 1 liste 2liste 3liste 4sprint 1sprint 2sprint 3version 1version 2version 3livraison 1livraison 2livraison 3

Principe d'enchaînement des sprints et des livraisons

C'est à la fin du sprint, juste avant que le prochain démarre que vous avez la possibilité de modifier la liste. Au fur et à mesure de l'avancement du projet et de l'enchaînement des sprints, vous aurez toute latitude pour ajouter des fonctionnalités ou en supprimer et re-prioritiser, en fonction de l'évolution de vos activités.

Les méthodes agiles permettent de produire des logiciels et des services de qualité qui correspondent à vos besoins, puisque vous utilisez le logiciel avant que le développement soit fini. Ces livraisons régulières et fréquentes vous permettent de surveiller l'évolution du produit au plus près et de faire modifier ce qui vous semble nécessaire de modifier.

L'agilité vous permet d'obtenir de la valeur, de la souplesse, de la réactivité et la qualité dont vous avez besoin.

Dans certains cas bien précis, je travaille au forfait. C'est-à-dire que je m'engage à réaliser une activité bien définie pour une somme d'argent convenue à l'avance.

Je le fais lorsque l'activité est vraiment bien définie et qu'il n'y a pas de marges sur l'interprétation du résultat. C'est donc souvent des activités courtes et ponctuelles. Par exemple : une migration d'un serveur vers une version plus récente ou la conversion de données d'un format A vers un format B. Pour ce type de relation commerciale, je privilégie les clients que je connais déjà ou que l'on me recommande.

Des détails techniques

Pour les projets de développement web, j'utilise fréquemment :

  • #javascript : vanilla, vuejs, svelte/sapper, jquery
  • #css : vanilla, tailwind, bootstrap
  • #python : flask, django
  • #rust : actix

Pour les projets de développement plutôt orienté système, j'utilise fréquemment :

  • #python : scripts, surveillance, statistiques, intégration/glue
  • #rust : serveur, extensions python/tcl, calcul
  • #c : émulateur, compilateurs, drivers linux

Je développe de nouveaux projets (depuis l'idée jusqu'à la production) ou je fais la maintenance de vos anciens projets (migration, correction de bugs, évolutions...). Je peux le faire seul de mon côté (avec l'implication du client, bien sûr !) ou avec une équipe pré-existante.

Pour l'administration, j'utilise fréquemment :

  • #linux : debian/ubuntu, redhat/fedora, nixos
  • #ansible : automatisation, déploiement reproductible
  • serveur web : nginx, apache
  • Base de données : postgresql, redis
  • conteneurs : #docker, #lxc
  • #python : scripts et automatisations diverses

J'administre des moyens pour assurer le maintien en condition opérationnelle et la continuité de service. J'installe des serveurs sous linux (pour le web ou la production industrielle par exemple) et je les configure pour qu'ils répondent à vos besoins. Je peux aussi être présent en cas d'urgence (incident de production, crash matériel, restauration de sauvegardes...).

Télétravail

Je travaille pour vous à distance. C'est bon pour la planète : moins de déplacements et c'est bon pour votre entreprise : moins de coûts (déplacements, matériels, espaces...).

Je me déplace pour les situations le requérant vraiment, comme des installations sur des réseaux non-accessibles ou des formations en présentiels.

Siret : xxxxx / CAPE : xxxx