La conception au service des besoins d'affaires Flashcards

1
Q

Décrivez l’évolution des méthodes de travail en génie logiciel au fil de l’histoire.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Décrivez la méthode de travail Waterfall

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quels sont les problèmes liés au Waterfall?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce que l’empirisme?

A

Il s’agit de la méthode scientifique.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Quelles sont les 5 étapes de la méthode scientifique? Expliquez ces étapes.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quelles sont les 5 éléments de la définition de projet en agilité?

A

Le cadre de projet, le Persona, le User Journey, la sélection de l’aventure, le carnet de produit (backlog)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Qu’est-ce que le cadre de projet?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce qu’un persona?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce qu’un User Journey et les composants?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qu’est-ce qu’un carnet de produit (Backlog)?

A

Il contient les récits d’utilisateurs en ordre de priorité.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quels sont les éléments d’un récit utilisateur?

A

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)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quelle est la différence entre un critère d’acceptation et la definition of done (DOD)?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qu’est-ce qu’un Sprint en Scrum?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quelles sont les 5 cérémonies de Scrum? Expliquez-les.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quand fait-on de la conception?

A

À tous les moments du cycle de vie d’une application (début de projet, lorsqu’on code, refactoring, revue de code, etc.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quelles sont les responsabilités d’un architecte?

A

Il s’occupe de la vision, des standards (contrats) technologiques et de la conception. Il effectue aussi du mentorat afin de faire évoluer les équipes et il sert surtout à servir le domaine d’affaire afin d’augmenter la rentabilité de l’entreprise.

17
Q

Comment l’architecte peut-il optimiser la rentabilité de l’entreprise?

A

En assurant une meilleure vitesse de livraison de l’équipe de développement.

18
Q

Quelles sont les compétences du professionnalisme en développement logiciel?

A

Communiquer (les contraintes, les défis (estimations), documentation)

Quand dire oui

Quand dire non

Collaboration

Être empathique

Savoir faire le Juste assez

19
Q

Quel est le comportement souhaité d’un professionnel?

A

Ne pas couper les coins ronds (tests, qualité conception)