Si vous en êtes à la toute première phase de développement de votre projet, cette formule est souvent suffisante pour vous apporter une première idée claire de la qualité de votre solution.
Lorsqu’on démarre un projet, l’un des choix les plus importants est de définir à qui confier ses premiers développements et indirectement quelles seront les technologies mise en oeuvre pour cette première version. Souvent un simple échange sur le projet et un survol de l’architecture et des codes sources, permettent de forger une première opinion sur la qualité de conception de la solution. Même si un audit se doit d’être tangible et fondé, 95% des conclusions d’un audit peuvent être déterminé à partir d’un bref entretien avec le développeur et d’un survol de la solution.
Nous mesurons alors ce que nous appelons communément les signaux faibles. Il peut s’agir de la connaissance de certaines pratiques, les choix d’architectures, de languages, les fonctions développés ou les APIs utilisés. Tous ces éléments sont indirectement des indices sur la séniorité des développeurs et permettent de poser de premières conclusions et un bon nombre de suppositions.
Même si cette formule est à l’opposé du résultat factuelle d’un audit classique qui coûts plusieurs milliers d’euros, c’est une solution efficace, pratique et peu onéreuse pour avoir un premier avis.
Cette audit se passe en 3 phases:
- Phase 1 : Entretien avec le porteur de projet pour comprendre les enjeux.
- Phase 2 : Questionnaire en ligne à remplir avec quelques questions techniques à poser au développeur, si celui-ci est disponible.
- Phase 3 : Analyse de la solution lors d’un entretient avec le développeur quand cela est possible.
- Phase 4 : Enregistrement d’une video des conclusions.
Livrable: Une video de 5 à 10 minutes explicitant les conclusions de l’audit avec éventuellement un partage d’écran pour montrer les éléments évaluées
Si la première version de votre solution est terminée et si avant de lancer les prochaines évolutions vous vous questionnez sur :
la fiabilité de la solution
la scalabilité
ou sur les vos process de développements avec l’équipe technique actuelle
L’adéquation de l’équipe technique actuelle avec la roadmap produit
…
Si votre objectif est d’avoir un avis détaillé sur votre solution, sur ses points fort et ses points faible et d’avoir des recommandations sur les axes d’améliorations, alors cette formule est potentiellement pour vous.
L’objectif de la formule “Enhanced Audit” est d’analyser le rôle de chaque composant logiciel est la manière dont il a été conçu. Les conclusions de l’audit sont établie suivant les choix technologiques et la manière dont ils sont mise en oeuvre. Les choix technologies sont également mis en perspective par rapport aux objectifs passés et futurs du projet.
Cette audit se passe en 4 phases :
- Phase 1 : Afin d’établir des conclusions précises et spécifique à votre projet, nous amorçons cet audit par un travail initial sur la vision de votre roadmap produit en deux phases :
Une étape de découverte et de synthétisation
Une étape de restitution et de pondération selon le contexte du projet - Phase 2 : Entretien avec l’équipe technique et analyse des codes sources de la solution. Nous analysons durant cette phase poussé, le respect des bonnes pratiques, la potentiels présence de tests automatiques, la robustesse de la solution, la manière dont sont stockées les données, la structure de la base de données et évaluons si nous identifions des brèches évidente dans la sécurité de la solution.
- Phase 3 : Envoi du rapport d’audit
- Phase 4: Présentation des conclusions de l’audit durant un meeting enregistré afin de vous permettre de le revoir quand vous le souhaitez.
Livrable:
Document synthétisant:
La vision du produit que vous nous aurez communiqué
L’énumération de l’ensemble des composants
Schema synthétique de la solution
Avis sur les technologies choisis composant par composant
Avis sur l’adéquation des technologies par rapport à la vision de la roadmap produit
Avis sur la qualité de la solution: Qualité de conception, scalabilité, maintenabilité dans le temps, évolutivité, facilité de prise en main par un nouveau développeur.
Synthèse de défauts de la solution et pistes d’améliorations.
Enregistrement video de l’entretien de présentation des conclusions.