Embaucher un dev freelance pour création d'un site et app. Quels critères?

Bonjour à tous,
Je suis nouveau sur le forum. Avec mon associé nous voulons développer une plateforme d’apprentissage des langues avec un système de flashcards.
L’idée est de faire un site avec :

  • zone membre (comptes gratuits et payants)
  • Système d’application dans le site en javascript (le code de l’app voulu est open-source, apparement « simple à reproduire »)
  • Le site doit être responsive

L’idée est de faire des tests sur la version web du concept puis d’en faire une application mobile par phonegap (compiler)

On a des mock-ups et sur les conseils d’un ami qui a assez bien réussi dans les applications en outsourçant la partie technique je suis en train de faire des offres pour le projet sur elance et odesk.

L’idée c’est d’avoir au final quelques dev qui auront accès au maximum d’informations pour évaluer le temps et le budget nécessaire à la réalisation du projet et ensuite faire un choix et trouver les fonds. (bien sûr les postulants savent que le projet ne commence pas avant quelques mois).
Le but pour l’instant est plus de faire un produit minimum viable et de vérifier si ça marche, ensuite d’améliorer au fur et à mesure.

J’ai des connaissances en wordpress et un peu de code (très basique)

Il y a-t-il des erreurs à éviter dans ce type d’offre?
Quels sont les critères importants pour m’assurer que le dev sera fiable?
Comment m’assurer qu’il ne fasse pas quelque chose qui présente bien mais qui soit en fait plein de bugs et/ou impossible à améliorer par un autre dev ?

Merci d’avance pour vos réponses !
Je n’ai pas l’habitude de poster dans les forums donc n’hésitez pas à me dire là où je n’ai pas été clair :wink:

1 « J'aime »

Hello,

ce genre de problématique m’intéresse car je reprends les projets des équipes et des sociétés justement qui ont subi ce genre d’aléas… Il y a en effet quelques points essentiels à savoir, qui ne sont pas compliqués.
Je construis actuellement des choses autour de ces sujets; donc je ne vais pas m’étaler sur le sujet, mais si tu es intéressé, envoie moi un mail : compteson [] gmail [] com. Mon but est de savoir justement les questions que tu te poses, pourquoi, comment tu fais pour y répondre etc etc… je ne vends rien pour le moment, mes conseils seront donc gratuits en échange de ton feedback.

Hello à vous deux. Le mieux serait de faire partager l’ensemble de la communauté de cet échange, cela servirait à tout le monde…

Hello Will,

2000% d’accord avec toi, je suis plutôt pour partager mais là j’ai un produit bien précis que je veux développer donc je fais une exception…

Chère communauté du partage, je te demande pardon…

D’ailleurs si d’autres personnes sont dans le même cas et qu’elles veulent m’aider à valider mon « mvp », je prends les contacts… (si Will accepte :wink: )

1 « J'aime »

Si ton ami a déjà de bons contacts pourquoi ne passes tu pas par eux ?

Bonjour,
j’ai déjà travaillé avec ces problématiques en tant que dev, je te donne mon point de vue, de mon côté de l’équation.

Comment je peux savoir que vous êtes fiables ?

Certains indicateurs, comme github (ou autre site du même genre) peuvent aider, je ne dis pas que seuls les devs présents et/ou actifs sur github sont fiables, car actuellement, je n’ai pas consacré trop de temps à des projets open source pour y faire mes preuves, donc, cet argument clairement ne va pas dans mon sens, quand bien même, il peut te permettre de voir le code produit par la personne qui te fait le devis.
Stackoverflow peut être une démarche identique, ou tout forum, blog, étalage de compétences :slight_smile:

Ensuite, il faut un espace de travail ouvert et persistant, où vous échangez avec votre dev, sur les problèmes, solutions, bugs, corrections etc. Pour que le cas échéant un nouvel arrivé puisse suivre, encore une fois, un système comme github (ou une autre plateforme de versionning) est un outil sympas pour suivre la « vie du code ». Un petit forum privé fait aussi bien l’affaire.

Pour que le code soit portable entre devs, l’idéal est de s’appuyer sur un framework, et d’en suivre les bonnes pratiques, de cette manière, lorsque tu cherches un dev de plus, ou si tu changes, tu choisis un dev qui connaît le framework.

Le top est d’avoir un code :
1 - commenté
2 - testé unitairement (avec un framework de tests unitaires comme phpUnit)

Dans tous les cas, si tu n’es pas maître de ta technologie, il faut a minima que tu te formes, pour savoir de quoi parle les devs, et être capable de lire un peu de code et de comprendre ce qui se passe.

Tout cela dépends d’un équilibre à trouver entre ton MVP, ton app, ton approche du développement du projet/entreprise.

Une approche lean, et agile dans le cas du dev, t’incites à faire que le nécessaire et ne pas perdre du temps pour « préparer » des fonctionnalités pour plus tard, parce que le périmètre de ton projet peut et va évoluer très vite.
Mais ne pas penser dès à présent à avoir un code qui te permettra d’avoir une API REST pour pouvoir interfacer ton app, peut te coûter encore plus cher.

Encore un bon point pour les framework (comme symfony2 pour parler de celui que j’utilise et que j’aime bien) si la conception est bien faite, il peut être assez aisé d’apporter des changements pour l’interface avec l’application mobile.

Dans tous les cas, il faut qu’une relation de confiance s’installe, et que les fonctionnalités du MVP soient clairement définies.

1 « J'aime »

Bonjour,

je connais bien ce sujet puisque je développe des projets web et mobile de ce genre (mais je ne suis pas Freelance, j’ai une sarl avec un associé), et je côtoie pas mal de freelance.

Premier point important, s’assurer que le freelance pourra encaisser le projet. Je reçois régulièrement des coups de fil de personne avec un projet fait à 50% (parfois en France, parfois en Inde ou autre) qui a été lâché par son freelance en cours de route (pour X raison, mauvaise évaluation du temps, problème personnel, arrêt du statut freelance pour passer salarié dans une boite…).
Le problème est que reprendre du code fait à 50%, parfois fait à la va vite, est la pire des choses pour un informaticien, donc le prix ne sera pas à 50%, et la plupart referont le site from scratch (car chacun a ses outils, ses frameworks, sa façon de faire…). Sur elance et compagnie, les reviews aident beaucoup, mais après c’est comme pour tout, faut mettre un minimum le prix pour avoir un bon (ou coup de chance pour avoir le dev qui a beaucoup d’expérience mais qui est nouveau sur elance et qui casse les prix pour se faire une place).

Deuxième point important, si le concept a pour ambition d’être aussi sur mobile, il faut que le dev à la base soit un minimum pensé mobile, donc prendre quelqu’un qui comprend un minimum les problématiques mobiles (qui sont différentes de celles du web).

Troisième point, il faut savoir que sur un gros projet, un dev qui n’aura pas trop d’expérience, il faudra le tenir par la main car il n’aura pas les réflexes de dire ce qui n’ira pas niveau ergonomie, et sera rarement force de proposition pour améliorer ou alléger le projet dans le bon sens (il faut alors le plus de mock-ups possible et un CdC blindé). Quant à vérifier la qualité du code quand on est pas informaticien c’est à mon avis même pas la peine d’y penser. Je me souviens d’un client qui était passé sur elance par un Pakistanais pour développer un logiciel d’OCR (reconnaissance caractère). Le dev lui a installé Tesseract (Logiciel open source de reconnaissance de caractère) sans aucune config (soit 1 journée de boulot facturé 1500 euros). Dans les fait le dev avait raison, le client avait eu ce qu’il voulait, il n’y avait rien dans le contrat qui exigeait un niveau de résultat (ça marchait, très mal, en reconnaissant 1 mot sur 10, mais sur le papier le contrat était respecté).

A voir si le MVP est vraiment éloigné du projet final. Si oui il n’y a pas trop de risque car au pire il sera possible de repartir de zéro.

2 « J'aime »

Bonjour,

Il y a deux questions exposées :

  • la première est comment et de quelle manière sélectionner un prestataire de développement indépendant pour sous-traiter la réalisation d’un logiciel ?

  • la deuxième comment faire en sorte pour que tout ce passe bien, du début à la fin, sur le projet de conception et réalisation du produit ?

Comme je l’ai déjà dit ailleur sur ce forum, je travail dans le secteur du numérique depuis plus de 20 ans et je fais du développement logiciel depuis plus de 30 ans. J’ai plusieurs dizaine de participation à des projets plus ou moins importants. Je maîtrise toute la chaîne d’ingénierie logiciel.

Cela veux dire aussi que j’ai été confronté à ce qu’il fallait faire ou ne pas faire !

Sous-traiter ça R&D pour un éditeur de solution logiciel ou de plate-forme de service c’est prendre le risque d’être confronté à une perte de maîtrise technique du produit. Sauf à avoir un suivie et un contrôle qualité très serré, ce qui en général n’est pas forcément la 1ère des priorités pour les créateurs.

Même si l’ingénierie logicielle s’améliore en terme de processus industriel, cela reste à la marge et les pratiques sont encore très artisanales et ce pour différentes raisons.
L’une d’entre-elles c’est que les moyens humains et techniques peuvent s’avérer extrêmement lourd pour industrialiser l’ensemble de la chaîne.

Difficile de détailler en quelques lignes, les conditions techniques de la réalisation d’un produit logiciel mais, la qualité du code en fait partie et comme cela l’à été dit, il faut que celui-ci soit commenté.
L’outillage utiliser par les développeurs est également important mais, il faut savoir toute raison garder et vous pouvez très bien être confronté à des problèmes de licence, par exemple.
Il ne s’agit pas d’un problème de langage de développement, il s’agit d’un problème de choix techniques que l’on ne laisser faire seul un développeur. Les choix à faire peuvent avoir une incidence stratégique et c’est normal, c’est le produit que vous allez ou que vous vendez.

Constituer une équipe de R&D, ingénierie logiciel peu sembler au demeurant aisé, après tout on pourrais considérer que c’est du recrutement. Toutefois, les développeurs/ingénieurs sont une population un peu à part à mon sens et ce pour différentes raisons.
L’une d’entre elles, c’est que les développeurs peuvent se montrer « volage », dans le sens ou ils n’hésite pas à changer d’employeur fréquemment. Provoquant ainsi, un turnover important, chez les ESN (Entreprise de Service Numérique) mais, pas qu’elles. Et plus, ils sont bon et pas que d’un point de vu technique, plus ils sont sollicités avec tous ce que cela suppose.

Faire appel à des Freelances ou mieux une entreprise sous-traitant, c’est aussi prendre des risques sur les délais, les coûts, la qualité… Dans certains cas, le projet peu même être re-sous-traiter sans que vous le sachiez. Pratique courante malheureusement. Sans parler du risque que le projet soit réalisé en Off Shore, là aussi sans que vous le sachiez !

Donc, comment faire ?

Essayer de concevoir une roadmap la plus complète possible, celle-ci vous sera utile pour vos équipes, vos sous-traitants éventuelles mais, aussi vos investisseurs. Quitte à en faire une version allégée.

De là, constituer une documentation fonctionnelle sur un Wiki par exemple. Puis, de définir la partie technique (architecture, spécification, modèles de données ou de conception objet, …). La documentation de part mon expérience est un outil précieux pour les équipes et pas que techniques.

Votre organisation et votre infrastructure, devra vous permettre à la fois de sous-traiter tout ou partie du développement mais, également d’éviter certains problèmes qualitatifs sur la solution. Les phases de tests sont donc extrêmement importantes, tout celle de conception.

La qualité d’un logiciel, passe donc par la vérification du fonctionnement de celui-ci avec des outils mais, aussi par des humains, car tout ne peut-être automatisé. Là aussi vous serez peut-être obligé de sous-traiter.
Il y’a toutefois, une notion qu’il faut avoir en tête pour ne pas répéter les erreurs de vos pères, c’est que vous devez garder la main sur la qualité de votre produit. Car comme le dit l’adage, on ne peut-être juge et partie. Et donc les équipes R&D ne peuvent être responsable de la qualité. On sépare donc la qualité de la R&D.

Du coup, si on sous-traite on soumet au filtre de la qualité le résultat de la sous-traitance ! Avec contractualisation la plus formelle possible, cahier des charges, … Et engagement sur le résultat, c’est peut-être plus chère mais, c’est le prix de la qualité.

Merci beaucoup pour toutes ces réponses.
J’en prends note et je publie l’offre aujourd’hui, avec les modifications par rapport à ce que vous me conseillez.
Je vais continuer à apprendre à coder, je me rends bien compte que ne pas maîtriser sa techno est un point faible.
Je pense que j’aurais d’autres questions une dois que j’aurais déjà repéré des développers qui pourraient faire l’affaire. En attendant j’avance !

1 « J'aime »