La conception au service des besoins d'affaires Flashcards
Décrivez l’évolution des méthodes de travail en génie logiciel au fil de l’histoire.
De 1940 à 1970, il s’agit majoritaire de mathématiciens travaillant seuls qui s’occupe de coder.
À partir de 1970 jusqu’aux années 2000, c’est maintenant des équipes de programmeurs qui développent de plus gros logiciels. Il y a un travail de standardisation des processus et on voit apparaître des méthodes de travail comme le Waterfall.
À partir de 2001 jusqu’à aujourd’hui, après les échecs du Waterfall, l’agilité fait son apparition. Les équipes ne sont plus seulement des programmeurs, mais bien des équipes de conception regroupant plusieurs disciplines.
Décrivez la méthode de travail Waterfall
La méthode de travail Waterfall est composée de 5 étapes séquentielles:
Requis: Il s’agit de personnes d’affaires qui définissent les requis du logiciel à concevoir et qui les documentent pour ensuite passer les documents à l’architecte lors de la prochaine phase.
Conception: Une fois les requis définis, l’architecte s’occupe de concevoir l’architecture du logiciel en fonction des requis définis. Cette architecture est ensuite exposée aux développeurs pour la prochaine phase.
Implémentation: Les développeurs développent les fonctionnalités en fonction de l’architecture établie. Une fois les fonctionnalités remplies, le produit final est envoyé en QA pour la prochaine phase.
Validation: Le QA valide que le code produit ne contient pas de bugs et qu’il répond aux exigences fonctionnelles. S’il découvre un problème, le problème est remonté et les différentes phases sont refaites pour régler le problème. Si tout est correct, le produit est envoyé en production.
Opérations: Une fois le produit livré, les opérations maintiennent l’application en fonction.
Ce cycle dure normalement de 6 mois à 5 ans et on tente de tout planifier à l’avance.
Quels sont les problèmes liés au Waterfall?
Plus un bug est découvert tard, plus il coûte cher à réparer. Puisque le QA ne se fait pas à chaque étape et seulement vers la fin, le coût de réparation est très élevé.
Le cycle de développement est très long donc il est très difficile d’avoir du feedback pour s’assurer de développer la bonne chose.
Qu’est-ce que l’empirisme?
Il s’agit de la méthode scientifique.
Quelles sont les 5 étapes de la méthode scientifique? Expliquez ces étapes.
1) Problème: Il s’agit de la phase de définition de la problématique à résoudre.
2) Hypothèse: Il s’agit de l’implémentation d’une solution que l’on pense bonne afin de résoudre le problème.
3) Expérimentation: C’est la mise en production de la solution afin de mettre la solution dans les mains des utilisateurs.
4) Analyse: On récolte le feedback des utilisateurs et analyse leur utilisation de la solution.
5) Conclusion: On évalue le feedback reçu afin de prendre une décision: est-ce que la solution est complète et répond à la problématique ou on doit recommencer le cycle afin de trouver une autre solution ou modifier la solution existante. Dans cette étape, on retrouve souvent les tests d’acceptation du cadran de tests.
Quelles sont les 5 éléments de la définition de projet en agilité?
Le cadre de projet, le Persona, le User Journey, la sélection de l’aventure, le carnet de produit (backlog)
Qu’est-ce que le cadre de projet?
Il contient le cadre technique et d’affaire. On y retrouve le nom du projet, le timeframe (ex: 1 mois), la description du projet, l’objet du projet, les mesures (ex: max 12 minutes dans la file d’attente) et les contraintes (ex: billet unique, max 2 billets par IDUL)
Qu’est-ce qu’un persona?
Il s’agit d’un archétype de certains utilisateurs cibles de l’application. Une fiche de persona contient une photo, le nom, l’âge, les objectifs avec le produit, la description et les aptitudes techno du persona.
Qu’est-ce qu’un User Journey et les composants?
Permet d’effectuer du Storymapping. Il s’agit de l’ensemble des expérimentations possibles que l’on veut faire vivre à l’utilisateur au sein de l’application. On y retrouve:
Le backbone qui contient les différentes étapes d’un point de vue affaire (ex: connexion -> trouver spectacle -> Sélec. billets -> Payer).
Possibilités de solution: Pour chaque élément du backbone, un liste des idées permettant de remplir la fonction (ex: search, menu, page d’accueil) du plus simple au plus complexe.
Aventure: Une sélection d’un ensemble des possibilités (une possibilité par fonction du backbone) qui représente l’expérimentation la plus petite à réaliser.
Qu’est-ce qu’un carnet de produit (Backlog)?
Il contient les récits d’utilisateurs en ordre de priorité.
Quels sont les éléments d’un récit utilisateur?
On retrouve la formulation: En tant que, Je veux que, Afin de (Qui, Action (quoi), Pourquoi (why)).
Les critères d’acceptation
La définition of done (DOD)
Quelle est la différence entre un critère d’acceptation et la definition of done (DOD)?
Critère d’acceptation: Dit quoi avoir pour compléter la fonction, le comportement à remplir
Definition of Done: Valide que c’est bien fait. Il s’agit d’un contrat au sein de l’équipe (ex: tests unitaires, revue de code, etc.). C’est pour le produit.
Qu’est-ce qu’un Sprint en Scrum?
Il s’agit d’une itération. Un sprint dicte une cadence, un cycle de travail. Il s’agit aussi d’un engagement que l’on prend envers le client.
Quelles sont les 5 cérémonies de Scrum? Expliquez-les.
Mêlée quotidienne: Il s’agit du moment où on crée le plan de match pour la journée. Les risques pour l’itération sont exposés lors de la mêlée.
Planification: C’est le moment où l’on détermine l’engagement envers le client pour le prochain sprint, on évalue la capacité de l’équipe et on effectue la priorisation des tâches.
Raffinement: L’équipe raffine les éléments afin d’assurer la compréhension de tous. Les critères d’acceptations sont déterminés, l’architecture est décidée et on estime la complexité des tâches. Cette cérémonie se fait avec plusieurs membres de l’équipe
Revue: On présente l’accomplissement du sprint au client et aux autres membres.
Rétrospective: On analyse la dernière itération sous le point de vue Humain, des Processus et au niveau Technologique.
Quand fait-on de la conception?
À tous les moments du cycle de vie d’une application (début de projet, lorsqu’on code, refactoring, revue de code, etc.)