dÉveloppement de logiciels d’entreprises ii · 2020. 10. 13. · dÉveloppement de logiciels ......

33
DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II COURS 06

Upload: others

Post on 15-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES IICOURS 06

Page 2: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

PLAN▸ Méthodologie Agile

▸ Début du TP 1: Analyse de devis

Page 3: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

Agile

Page 4: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

MÉTHODOLOGIE AGILE?▸ Description d’un ensemble de principes et recommandations à appliquer

dans un contexte de développement logiciel dans le but de faciliter et favoriser le travail d’équipe collaboratif et organisé.

▸ Agile?

▸ Planification dynamique, s’adaptant aux changements

▸ Développement itératif et évolutif

▸ Livraison rapide pour une rétroaction rapide

▸ Réponse favorable aux changements

Page 5: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

POURQUOI AGILE?

▸ Toutefois, on s’est rendu compte que cette mentalité provenant d’un contexte de fabrication matérielle n’était pas adapté au domaine abstrait et malléable du logiciel

▸ Dès les années 60, les premières méthodes itératives/incrémentales commencent à apparaître

▸ En 2001, le Manifeste Agile est publiéhttp://agilemanifesto.org/

‣ Initialement, les projets de développements logiciel utilisaient la même approche que les secteurs manufacturier et de la construction, un milieu où les changements tardif sont très coûteux, voire impossibles!

Page 6: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

CASCADE VS. AGILEChangements Changements Changements

Page 7: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

CASCADE VS. AGILE

Page 8: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

MANIFESTO▸ Individuals and Interactions over processes and tools

Environnement auto-organisé favorisant la motivation, valorisation et implication des membres d’une équipe multifonctionnelle

▸ Working Software over comprehensive documentation Alléger les artéfacts et mettre l’accent sur un produit fonctionnel accélère le cycle rétroaction -> réaction

▸ Customer Collaboration over contract negotiationIl est très difficile de définir l’ensembles des exigences/besoins dès le départ, le client doit être un partenaire impliqué dans le développement

▸ Responding to Change over following a planPrivilégier l’amélioration continue et la réponse rapide au changement

http://agilemanifesto.org

Page 9: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

LES 12 PRINCIPES AGILES1. Customer satisfaction by early and continuous delivery of valuable software

2. Welcome changing requirements, even in late development

3. Working software is delivered frequently (weeks rather than months)

4. Close, daily cooperation between business people and developers

5. Projects are built around motivated individuals, who should be trusted

6. Face-to-face conversation is the best form of communication (co-location)

http://agilemanifesto.org/principles.html

Page 10: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

LES 12 PRINCIPES AGILES, SUITE…7. Working software is the principal measure of progress

8. Sustainable development, able to maintain a constant pace

9. Continuous attention to technical excellence and good design

10.Simplicity—the art of maximizing the amount of work not done—is essential

11.Best architectures, requirements, and designs emerge from self-organizing teams

12.Regularly, the team reflects on how to become more effective, and adjusts accordingly

http://agilemanifesto.org/principles.html

Page 11: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

OBJECTIFS▸ Offrir une méthode de travail aux équipe

▸ Réduire les risques associés aux projets logiciels

▸ Assurer un apport positif(valeur) maximal constant

▸ Offrir une mesure de l’avancement du projet

▸ Faciliter la collaboration

▸ Encourager la qualité et l’efficacité

Page 12: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

PROPOSITION DE VALEUR

Page 13: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

STRATÉGIEPréparation Exécution

Page 14: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION▸ Agile représente un ensemble de concepts de haut niveaux qui sont ensuite

implémentés par des processus concret

Page 15: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - SCRUM▸ Gestion des tâches, équipe, communication, etc.

Page 16: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - VALEURS SCRUM▸ Gestion des tâches, équipe, communication, etc.

Page 17: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - ÉQUIPE SCRUM▸ Gestion des tâches, équipe, communication, etc.

Page 18: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - EXTREME PROGRAMMING, XP

Page 19: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - PRINCIPES XP

Page 20: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

IMPLÉMENTATION - VALEURS XP

RESPECTSimplicité

Communication

Courage

Rétroaction

Page 21: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

“L’IDÉAL” AGILE

Page 22: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

AGILE SELON UNCLE BOB

Page 23: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

LECTURES▸ Agile

https://en.wikipedia.org/wiki/Agile_software_development https://www.versionone.com/agile-101/https://www.versionone.com/agile-101/agile-methodologies/ https://www.versionone.com/agile-101/agile-development-success/ https://www.agilealliance.org/agile101/http://www.allaboutagile.com/what-is-agile-10-key-principles/

▸ SCRUM https://www.scrum.org

▸ Extreme Programminghttp://www.extremeprogramming.org/

▸ Atlassianhttps://www.atlassian.com/agile

Page 24: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

TP 1

Page 25: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

MISE EN CONTEXTE▸ Nous sommes une startup qui souhaite développer un produit sur appareils

mobiles. Nous avons choisi de viser la plateforme iOS pour tester le marché avec notre produit avant de s’attaquer aux autres environnements mobiles.

▸ À partir d’une idée initiale, nous allons concevoir et développer l’application en utilisant une approche itérative Agile.

▸ Vous constituez l’équipe de développement, mon rôle est de vous épauler et de m’assurer de la livraison du projet.

Page 26: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

PROJET▸ Vous devrez réaliser un projet concret de développement d’application mobile.

▸ Vous réaliserez ce travail en équipe, je vous supporterai et fournirai un encadrement très suivi tout au long du projet

▸ Chaque membre de l’équipe devra s’impliquer dans toutes les sphères du projet

▸ Conception(modèle de données, interfaces, architecture) ▸ Programmation(logique, interfaces, base de données)

▸ Documentation

▸ Vous présenterez finalement le résultat de votre travail en classe

Page 27: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

PROJET▸ Pour favoriser votre motivation à réaliser le travail, vous pouvez proposer un

concept d’application que vous développerez. Votre idée devra être approuvée, puis, nous valideront ensemble l’étendue des fonctionnalités à intégrer.

▸ L’application suggérée doit obligatoirement utiliser une base de données, être suffisamment complexe pour correspondre aux besoins académiques du cours et respecter les standards de la plateforme mobile.

Page 28: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

EXEMPLE 1: SHAWI-INFO, LE RÉSEAU SOCIAL DU DÉPARTEMENT▸ Utilisateurs: Inscription, Connexion, Profil

▸ Amis: Messages, Amis de mes amis, “check-in”-> Où sont mes amis?

▸ Fil d’actualités: Publications, commentaires, réactions

▸ Événements: Horaire, Billetterie

▸ Entreprises: Offres d’emploi, Cartes d’affaires numériques

Page 29: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

EXEMPLE 2: eTROC, PLATEFORME DE COMMERCE ÉLECTRONIQUE▸ Utilisateurs: Inscription, Connexion, Profil

▸ Commerçants: Catalogue, Produits, Avis/Notes

▸ Achats: Panier, Commandes

▸ Amis: Recommandation de produits, Un recommandations peut entraîner une discussion, Fil: Qui a recommandé quoi,

▸ Livraisons: Suivi des commandes, événements, affichage sur une carte

Page 30: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

EXEMPLES DE PROJETS▸ Gestionnaire et calendrier d'événements, ex: activités au département, festivals

▸ Application de gestion d'une conférence: horaire, conférenciers, billetterie

▸ Mini réseau social/meetup pour les amateurs de XYZ

▸ Application de gestion de budgets, séparation entre colocs, suivi des dépenses

▸ Journal, garder un historique de nos activités, randonnées, road trip

▸ Gestion de projet, suivi de tâches

▸ Tinder pour les sorties/événements

Page 31: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

MÉTHODOLOGIE▸ Équipes de 2 ou 3

▸ Bitbucket

▸ Un responsable par équipe crée le répertoire avec son compte éducationnel et invite les autre membre de l’équipe avec les droits d’écriture

▸ Vous devez également m’inviter en lecture seulement: jameshoffman

▸ Discord

▸ Je vais créer une salle privée par équipe

▸ Le canal du cours servira de point de communication commun

Page 32: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

À maintenir à jourtout au long du projet

LIVRABLES1. Analyse de devis

2. Prototypage

3. Application fonctionnelle1- Ajout et listes/affichage ET procédurier mis à jour2- Modification ET procédurier mis à jour 3- : Suppression ET procédurier mis à jour

4. Manuel d’utilisateur

5. Livraison- Présentation de l’application fonctionnelle complète - Procédurier- Standards de développement(UI, UX, Code, BD)- Guide de déploiement et sauvegarde

Page 33: DÉVELOPPEMENT DE LOGICIELS D’ENTREPRISES II · 2020. 10. 13. · DÉVELOPPEMENT DE LOGICIELS ... ‣ Initialement, les projets de développements logiciel utilisaient la même

TP 1 - ANALYSE DE DEVIS▸ https://cshaw.jhoffman.ca/sessions/2019A/B7B/1-AnalyseDeDevis.pdf

▸ Formation des équipes

▸ Brainstorm!