Préambule

Les soutenances de fin de semestre (S5 & S6) sont toutes deux basées sur une mise en situation, une sorte de "jeu de rôle" qui dicte la façon dont vous devez présentez votre application. 

Dans les deux cas, vous devez vous mettre dans la situation où votre équipe de développement a été constituée par le "directeur en charge du développement" d'une entreprise, avec l'accord du patron, de la DRH, etc. pour créer un produit innovant. C'est ce directeur qui a eu l'idée du sujet et qui vous a fourni le prototype d'architecture matérielle et logicielle à partir duquel vous devez travailler. Comme c'est un sujet novateur et exploratoire, il n'a fait que donner des indications très générales sur ses fonctionnalités. C'est donc votre équipe qui doit fixer les possibilités fonctionnelles, établir un cahier des charges, et implémenter une version "alpha", afin de démontrer la faisabilité et l'intérêt du produit. Comme il n'y a pas de ressources humaines suffisantes pour piloter ce projet de façon classique, c'est votre équipe elle-même qui doit s'organiser pour faire avancer le développement le plus efficacement possible.

 

1°/ Cadre

Vous devez considérer que la soutenance de S5 a comme interlocuteurs le directeur à l'origine du projet, un chef de projet responsable de la veille technologique, et un développeur "sénior" qui fait office de référent technique dans l'entreprise. Comme votre projet s'est déroulé jusqu'à maintenant de façon quasi autonome, vous devez considérer qu'ils ne connaissent pas (ou très peu) les détails de la structure logicielle et matérielle, ni les fonctionnalités que vous avez imaginées et encore moins l'état d'implémentation. De même, ils ne connaissent pas la façon dont vous avez piloté le projet. Or, ils sont là pour juger de la pertinence de vos choix techniques, de votre efficacité dans la gestion du projet et son développement, ainsi que de votre capacité à produire la version alpha pour la fin du semestre 6. Pour caricaturer, cette soutenance doit donc les convaincre de ne pas tout arrêter immédiatement !

 

2°/ Objectif

La soutenance de S5 a trois parties principales :

  • présenter de façon critique la structuration logicielle/matérielle et les fonctionnalités,
  • faire un bilan d'avancement par rapport aux différentes parties de cette structure.
  • tirer une conclusion de type prévisionnel.

Pour le premier objectif, il est conseillé d'utiliser des schémas, images, maquettes pour illustrer la structuration et les fonctionnalités. De plus, il est important de présenter à l'auditoire tout ce qui est contraint (à cause du prototype d'origine) et tout ce qui est "laissé libre". Cela implique qu'il n'est pas nécessaire de justifier les contraintes mais qu'il faut le faire pour tout ce que vous avez choisi.

La présentation des fonctionnalités doit être orientée vers ce qu'il est possible de faire pour un utilisateur, donc comment il interagit avec le produit fini. Cela comprend principalement les fonctionnalités du front-end, mais selon les sujets, également des interactions via dispositif mobile, boitier µC, etc. Là aussi, il faut justifier pourquoi ces fonctionnalités sont essentielles.

Enfin, il ne faut pas fournir trop de détails techniques (malgré le fait que les auditeurs sont informaticiens) sans rester trop vague/superficiel. Quelques exemples :

  • pas besoin de préciser la dénomination exacte des capteurs utilisés, il suffit de dire à quoi il servent, pourquoi vous avez choisi ceux-là.
  • vous devez décrire un minimum la partie IA, quel est son principe technique (bibli python ? API ? ...) et objectif (classification ? prédiction ? ...), comment on la met en oeuvre, et bien entendu, en quoi elle est adaptée au projet. Si vous êtes capable de montrer en quoi elle est meilleure que d'autre solutions, c'est encore plus convaincant. C'est la même chose avec la partie analyse de média.
  • au lieu de bêtement décrire chaque partie du front-end, il faut plutôt présenter celles qui sont critiques pour les futurs utilisateurs, pourquoi elles le sont.

 

Pour le deuxième objectif, compte tenu des durées respectives du S5 et du S6, l'avancement moyen en fin de S5 devrait être de 75% des fonctionnalités prévues, tout domaine confondu. Cependant, ce nombre ne tient pas compte des disparités de difficulté et de quantité de travail à fournir pour implémenter les différentes parties de l'application, ni des différences entre les sujets que vous avez choisis. C'est pourquoi l'état d'avancement ne devra pas mettre en avant de simples pourcentages de fonctionnalités réalisées mais plutôt se baser sur un pourcentage de "points" tel qu'on peut les manipuler dans un développement agile.

Par exemple, la partie analyse multimédia repose sur fondamentalement 4 fonctionnalités :

  1. capture d'un média sur un dispositif mobile,
  2. envoi du média à un serveur d'analyse,
  3. analyse du média sur le serveur,
  4. envoi du résultat sur le serveur de centralisation des données.

Si en fin de S5 vous avez déjà implémenté les points 1, 2 et 4, il y a effectivement à 75% des fonctionnalités implémentées pour cette partie. Pourtant, en terme de difficulté, la tâche 3 écrase largement les autres et nécessite potentiellement beaucoup plus de travail. Globalement, si on devait noter ces 4 tâches on obtiendrait quelque chose du genre : 4, 1, 30, 1. En ayant fini les tâches 1, 2 et 4 en fin de S5, on serait donc seulement à 6/30 = 20% d'achèvement, ce qui serait mauvais signe pour le S6 !

 

Enfin, la conclusion doit décrire le prévisionnel d'avancement lors du S6. Cela peut se faire sous la forme d'un Gantt, d'un burn-up chart "prolongé", ou tout autre moyen, à partir du moment qu'il est commenté. Au travers de ces commentaires et du bilan d'avancement, l'auditoire doit être convaincu que le projet ne vas "pas dans le mur" et qu'il est valable de le continuer.

 

3°/ Format

La soutenance dure 20 minutes (maximum 25), avec une structuration libre, du moment que les différentes partie énoncées ci-dessus sont incluses et que la mise en situation est respectée. Vous pouvez donc ajouter du contenu, comme par exemple des "micro" démonstrations (en direct, filmées, ...) pour illustrer l'état d'avancement/intégration de telle ou telle partie du projet. Vous pouvez également découper la soutenance comme vous le voulez. Présenter les trois parties successivement n'est pas obligatoire. Vous pouvez par exemple alterner, avec seulement une partie du projet puis immédiatement son état d'avancement, une autre partie + son avancement, ... avant un résumé d'avancement final.

A noter que tous les membres de l'équipe doivent intervenir à l'oral, si possible de façon équilibrée.

 

4°/ Dépôt des transparents

Le dépôt des transparents doit se faire sous moodle, en s'inscrivant au cours : https://moodle.univ-fcomte.fr/course/view.php?id=27174. Seul un membre du groupe doit s'inscrire et déposer, avec la clef : SAES5S6grX, où vous remplacez X par le numéro de votre groupe de SAÉ. 

A noter que vous n'avez pas besoin de vous réinscrire si vous avez déjà déposé les sources du projet (cf. article délivrable n°3)