\chapter{Conception et implémentation}

\section{Le livrable}

    \`{A} l'issue de ce projet, nous avons pu implémenter toutes les fonctionnalités de
    l'interpréteur LIR telles qu'elles étaient exposées dans le cahier des charges. Notre
    version de l'interpréteur fonctionne comme attendu par la MOA, bien que la gestion
    des erreurs et les messages affichés à l'écran auraient gagné à être plus précis et
    que certaines parties du code mériteraient une optimisation.

\section{Conception}

    Ce besoin d'optimisation découle de difficultés rencontrées lors de la conception des
    classes. Ces difficultés s'expliquent notamment par notre manque d'expérience. Si nous
    devions refaire ce projet, il est clair que certains des choix que nous avons faits ne
    seraient pas réitérés.

    Commencer directement par générer des diagrammes d'objets en lieu de diagrammes de
    classes nous aurait certainement permis de gagner quelques heures de travail au moment
    de la conception initiale. Nous avons cependant fait mieux pour intégrer des notions
    apprises au cours du projet, comme par exemple le passage en abstraction de certaines
    superclasses.

\chapter{Organisation du groupe}

    \section{Travail en binôme}

        Lors de chaque itération, nous avons autant que possible privilégié le travail
        en binôme, en fonction des disponibilités de chacun. Cette modalité nous a permis
        de nous assurer que tout le monde participait activement au développement et se
        sentait intégré et valorisé au sein du groupe.

        Nous avons aussi fait en sorte de mettre en place une rotation des binômes afin
        que chaque membre du groupe puisse travailler avec tout le monde. Nous avons ainsi
        pu nous confronter à d'autres de travailler, partager nos savoirs et nos
        expériences personnels et assurer une forte cohésion au sein du groupe.

    \section{Répartition de la charge de travail}

        Malheureusement, le travail en binôme n'est forcément garant d'une répartition
        efficace de la charge de travail. Cela pose en effet des contraintes cumulatives ;
        lorsque un membre du groupe a terminé sa tâche, si la suivante nécessite un travail
        à deux, ce membre devait parfois attendre que son binôme se libère. Il est arrivé
        qu'un des deux membres d'un binôme prenne du retard sur sa tâche. Cela a
        occasionnellement posé un frein sur cette modalité de travail.

        Devant travailler le weekend, nous nous sommes également heurtés aux aléas des
        disponibilités personnelles de chacun. Nous avons donc dû composer avec des
        contraintes familiales, universitaires (devoirs à rendre, révisions,...) ou
        personnelles. Ces difficultés seraient mitigées dans un contexte professionnel
        avec des horaires de travail définis dans un contrat.

        Nous regrettons aussi de ne pas avoir mis en place un roulement dans les
        responsabilités (chef de projet, secrétaire, gestionnaire de configuration). Nous
        avons préféré nous concentrer sur le code.

    \section{Communication}

        Tout au long du projet, nous avons mis l'accent sur la communication, afin
        de toujours avoir un aperçu de l'avancée de notre travail. L'utilisation d'un
        serveur \emph{Discord} dédié au projet a été un outil primordial. En effet,
        cet outil nous a permis de travailler en binôme en visioconférence, d'organiser
        des réunions MOE en distanciel.

        L'utilisation de \og{}salons \fg{} thématiques de
        conversation a aussi ouvert la possibilité de s'entraider lorsqu'une difficulté se
        présentait, faire circuler les informations, organiser les réunions, ou plus
        simplement discuter (moments de convivialité). Grâce à la synchronisation avec
        le dépôt Github, chaque membre recevait en temps réel les notifications sur
        l'évolution du projet.

        Nous pensons que la communication a été un atout de taille dans la conduite de
        ce projet. En effet, elle nous a permis de surmonter au mieux les difficultés qui
        se sont présentées au cours de la conception et du développement de l'interpréteur.

\chapter{Conclusion générale}

    Nous avons vécu ce projet comme une expérience enrichissante que nous considérons dans
    l'ensemble comme une réussite. Nous avons pu acquérir et consolider des compétences
    précieuses au travail d'équipe. Nous tâcherons au cours des prochains projets tutorés
    de réinvestir nos succès et apprendre de nos échecs.