Développement de logiciels sur-mesure et d’applications web non-standard : les 5 étapes indispensables.

Pourquoi faire développer un logiciel ou une application web spécifique au lieu d'utiliser ce qui existe sur le marché ?

C'est vrai qu'il existe des milliers de logiciels ou d'applications qui font à peu près tout et n'importe quoi (et c'est en croissance permanente). Il en existe donc forcément une, ou une combinaison de plusieurs, qui permettrait de répondre à votre besoin, CQFD... Pas vraiment !

La vraie question à se poser est : est-ce que c'est à vous de vous adapter à l'outil ? 

Ou... à l'outil de s'adapter à votre besoin, ou mieux encore, d'être modelé selon votre besoin ? Parce qu'on peut toujours faire du sport en chaussures de ville, c'est juste moins efficace et moins confortable.

Tout l'intérêt d'un développement de logiciels sur-mesure est qu'il permet d'éviter tout le superflu. 

Un logiciel, ou une application, du marché se doit au contraire d'être adapté à un maximum de situations, sinon il est impossible d'être adopté par le plus grand nombre. Par conséquent, il est forcément rempli d'options totalement inutiles pour votre besoin.

Il arrive que ce ne soit pas gênant, même si la rapidité et la simplicité sont souvent mises à mal. Mais la plupart du temps cela vient rendre les choses complexes... pour rien ! En développant un outil spécifiquement pour votre besoin, vous n'avez QUE ce dont vous avez besoin.

Et surtout, il est très facile d'adapter l'outil quand votre besoin évolue !

Au lieu d'aller chercher un nouveau logiciel, ou de réaliser une extension à un logiciel qui a déjà trop de possibilités, il n'y a qu'à faire évoluer votre logiciel. Comme tout ce qui est fait sur-mesure, vous aurez tout le confort d'avoir juste ce qu'il faut sans être perturbé par de l'inutile.

Ma philosophie est que c'est toujours à l'outil de s'adapter (en particulier, l'outil informatique !), et non à nous de nous adapter. Puisque c'est possible, pourquoi s'en priver ?

En quoi consiste un développement d'outils sur-mesure ? 

J'aime parler d'outil plutôt de logiciel ou d'application, car selon votre besoin cela peut prendre plusieurs formes. Là encore, le développement sur-mesure permet d'adapter la forme de l'outil au besoin réel.

S'il est clair dès le départ qu'il y aura des évolutions, alors la modularité sera prioritaire pour assurer un développement simplifié et rapide des futures extensions. Si au contraire, aucun changement n'est à prévoir et que la rapidité est primordiale, on pourra se permettre moins de modularité pour plus d'efficacité.

Sur-mesure, du concept à l'outil.

Seule une analyse complète et poussée de votre besoin actuel, et prévisionnel, permet de définir clairement la forme que prendra l'outil à développer. Et pour cela, mes années à étudier les mathématiques m'ont donné une capacité à analyser des situations complexes et abstraites qui me permet aujourd'hui de faire ce travail au mieux.

Une grande partie de mon travail est donc de poser les bonnes questions au départ (et j'aime vraiment beaucoup cette étape !) pour prendre toute la mesure du développement, et partir dans la direction la plus adaptée que ce soit en terme de finalités ou de moyens mis en œuvre.

Deux mots sur mon parcours.

Mon parcours informatique très diversifié m'a amené à coder toutes sortes de choses (de simulations numériques à la pointe de la recherche, à une application pour smartphone en passant par des scripts d'automatisation), et me permet aujourd'hui de développer ce qui est le plus adapté à votre situation.

Quelles sont les différentes étapes pour arriver à un logiciel réellement adapté à votre besoin  ?

Comme vous allez le voir, vous êtes au cœur du processus de développement sur-(vos-)mesure(s) ! Évidemment tout est bien plus souple que le cadre rigide que je donne ci-dessous, mais cela permet de se faire une bonne idée des grandes étapes à attendre.

Phase I : (Vous et moi) Définir précisément votre besoin.

Sans un besoin parfaitement clair, impossible de créer un outil qui répondra parfaitement à vos exigences, c'est évident ! Et cela demande de vraiment prendre le temps d'échanger pour que je puisse comprendre en détail l'intérêt de cet outil dans le contexte dans lequel il sera utilisé.

Mon job est simple dans cette phase : vous poser toutes (et j'en manque pas !) les questions qui me viennent pour être 100% certain que j'ai compris le moindre détail pertinent. Et le vôtre est aussi simple : me répondre précisément !

L'objectif de cette phase :

A la sortie de cette phase, je dois pouvoir avoir en tête, à chaque instant du développement, les éléments principaux qui définissent votre besoin et ses raisons. Autrement dit, je dois pouvoir me mettre à la fois dans votre peau et dans celles de vos clients.

De cette façon, je peux penser long terme pour le développement et faire les propositions qui me semblent pertinentes pour simplifier ou améliorer l'outil.

Phase II : (Vous et moi) Discuter les détails de l'outil que je vous recommande.

Ensuite, je peux rentrer dans la phase de conception du ou des outils nécessaires pour satisfaire votre besoin. L'idée est de bien définir ce qui est faisable, ce qui ne l'est pas et les différents critères associés à tout cela : simplicité, rapidité de développement, robustesse, efficacité...

Une fois que j'ai établi ce qui me semble optimal dans un premier temps, je reviens vers vous pour vous le présenter. Cela permet à la fois d'affiner votre besoin réel si certains points n'ont pas été soulevés en Phase I, et surtout de nous assurer que la direction est la bonne.

Une combinaison idéale ?

C'est aussi dans cette phase que l'on décide si des outils externes, payants ou gratuits, seront utilisés ou si tout sera fait maison. Les deux ont leurs avantages, et il n'y a pas de réponse toute faite. Tout dépend de votre projet, et nous choisirons le plus adapté ensemble.

Phase III : (Moi) Développer le ou les outils selon le cahier des charges.

Le développement ! Pour beaucoup, il est souvent vu comme la phase la plus importante. Or sans les deux phases précédentes, il ne pourra qu'être bâclé et inadapté. Et il y a de grandes chances que l'outil qui en découle ne soit pas ou peu fonctionnel.  

C'est pour cela que j'insiste sur l'importance des deux phases précédentes, et que je prends toujours le temps d'avoir toutes les réponses à mes questions avant de me lancer dans le développement. Il faut voir loin pour créer un outil de qualité !

Aparté

Si vous vous dites qu'un outil est un outil, et qu'il suffit de dire ce qu'on veut au développeur pour arriver à un résultat de qualité, faites le test avec des développeurs lambdas, qui seront (peut-être) moins chers mais qui n'auront absolument pas le temps de vous poser toutes ces questions. Je doute que vous soyez heureux du résultat.

En résumé, dans cette phase c'est moi qui travaille pour créer la première version de l'outil correspondant à ce que l'on a défini ensemble. Mais le travail ne se termine pas là...

Phase IV : (Moi, puis vous) Tester, tester et tester pour mieux parfaire.

En informatique, il est impossible de tout prévoir, il y a toujours des adaptations à faire. Ou plus précisément, cela prendrait tellement de temps de tout prévoir, que ce serait ridicule. Mieux vaut donc développer intelligemment et tester.

Avant de vous présenter la première version, j'aurais déjà fait tout un tas de tests pour m'assurer que c'est proche de ce qu'on avait défini. Mais il y a fort à parier, qu'en testant vous-même, vous vous direz que telle ou telle chose serait mieux comme ci, ou comme ça. C'est normal !

Corriger est un processus normal et nécessaire.

Là encore, pour moi, ça fait partie du développement (il n'y aura donc pas d'avenants...) et c'est le seul moyen d'arriver à un outil parfaitement adapté. Vous serez donc mis à contribution, si ça a du sens, pour tester l'outil et me dire ce qui ne vous convient pas, et ce qui peut être amélioré.

Avant de le mettre entre les mains de vos collaborateurs, salariés ou clients, mieux vaut prendre le temps de tester l'outil en long en large et en travers. Ça évitera les embouteillages du SAV !

Phase V : Maintenance et évolution

L'informatique évolue très rapidement, que ce soit en termes matériels ou logiciels, et il faut pouvoir régler, tout aussi rapidement, les incompatibilités qui peuvent apparaitre et mettre en péril l'utilisation de l'outil.

C'est pourquoi, dans mon approche, la dernière phase consiste à assurer la pérennité des outils mis en place, et à potentiellement les faire évoluer avec le besoin. Et je propose toujours de le faire personnellement car j'aime assumer et garantir la qualité de mon travail.

Deux raisons évidentes de vous proposer mon aide :

D'une part, cela vous fera économiser car étant le développeur, cela me prendra beaucoup moins de temps qu'un autre développeur. D'autre part, et c'est la raison principale, parce que je pense que c'est un gage de sérieux et de qualité.

En effet, en vous proposant de faire la maintenance, il est clair que je vais chercher à coder le plus proprement et intelligemment possible de manière à me simplifier le futur travail de maintenance ou d'évolution !

Est-ce que votre besoin rentre dans ce cadre d'un développement de logiciels sur-mesure ?

C'est la question qui vient naturellement après avoir lu tout cela, et il va de soi que ce ne sont pas 1600 mots qui vont répondre de façon générique à la question !

Le plus simple est donc de me contacter via le bouton ci-dessous en décrivant votre projet. Si je sens que je peux vous aider alors nous pourrons en discuter plus profondément au téléphone et voir ce qui est possible.

Une dernière clarification.

Il me semble clair que si vous avez déjà cherché des outils répondant à votre besoin mais que soit vous n'en trouvez pas, soit ils en font toujours trop ou pas assez, le sur-mesure est ce qu'il vous faut. De même, si vous avez un besoin bien particulier et peu courant.

Mon but en proposant ce service est avant tout de vous permettre d'accéder à un outil qui vous fera gagner en temps, en efficacité et/ou en tranquillité d'esprit, ou qui selon votre situation, sera le seul moyen effectif de réaliser votre projet.

Au plaisir d'échanger avec vous,

Steven Diot - Développeur de Logiciels Sur-Mesure et Spécialiste de l'Automatisation

« Envier le bonheur d'autrui, c'est folie. On ne saurait pas s'en servir. Le bonheur ne se veut pas tout fait, mais sur mesure. »
- André Gide -

>