Architecture Et Modélisation Agile
Architecture Et Modélisation Agile
Architecture Et Modélisation Agile
MODÉLISATION AGILES
PRÉSENTATIONS
¡ Qui êtes-vous?
2
OBJECTIFS
Source : Bass, L; Clements, P.; Kazman; R. Software Architecture in Practice, Reading, MA : Addison-Wesley, 1998
Architecturer, c’est :
¡ déterminer une vision pour satisfaire les besoins du client;
¡ communiquer cette vision et l’architecture aux parties prenantes et à
l’équipe;
¡ prendre des décisions de conception cohérente et justifiée;
¡ affirmer un leadership technique pour s’assurer que la structure
réalisée suit les standards, est solide, est bien conçue, fonctionne
© Pyxis Technologies inc.
¡ La modélisation, c’est :
§ la représentation du fonctionnement d’un système sous forme de
diagramme ou modèle;
¡ Modéliser, c’est :
§ déterminer comment la solution répondra aux besoins,
§ vérifier des concepts et réfléchir avant de réaliser,
§ partager une solution sous forme de diagramme (modèle),
§ expliquer le code en prenant du recul (pérennité).
© Pyxis Technologies inc.
QU’EST-CE QU'UNE ARCHITECTURE?
C OM PLEXIT É
êtes ici!
Co
d’affaires
Domaine
mp
lex
e
Près d’un accord
Simple Compliqué
Source : Stacey RD. Strategic management and organisational dynamics: the challenge of
complexity. 3rd ed. Harlow : Prentice Hall, 2002
QU’EST-CE QUE LE
DÉVELOPPEMENT
AGILE DE LOGICIELS?
LE DÉVELOPPEMENT AGILE DE LOGICIELS
M AN IF EST E
Le cours se
concentre sur ceci.
(architecture)
© Pyxis Technologies inc.
LE DÉVELOPPEMENT AGILE DE LOGICIELS
S C R U M : U N C A D R E D E T R AVA I L
© Pyxis Technologies inc.
LE DÉVELOPPEMENT AGILE DE LOGICIELS
L’ EM PI R I SM E
© Pyxis Technologies inc.
(ex. : terminés).
ARCHITECTURE AGILE
C H OISIR U N E ST R AT ÉGIE
© Pyxis Technologies inc.
ARCHITECTURE AGILE
L E S C A R N E T S D E P R O D U I T E T D ’ I T É R AT I O N
Matériel :
¡ Une guimauve
¡ 15 spaghettis
¡ 1 mètre de ruban adhésif
Règles :
¡ On mesure la tour de sa base
jusqu’au sommet de la guimauve.
¡ Il est interdit de s’appuyer sur les
© Pyxis Technologies inc.
murs.
¡ Il est interdit de découper la
guimauve.
ARCHITECTURE AGILE
P L A N I F I E R S E L O N L A VA L E U R D ’ A F FA I R E S
¡ Livrer de la valeur en
petits incréments nous
donne l’occasion
d’apprendre;
¡ Profiter de la
rétroaction des
utilisateurs;
¡ Éviter une analyse des
sujets moins
prioritaires ou sans
valeur;
¡ Encourager la
réactivité aux
changements;
¡ Atteindre plus
rapidement le marché.
© Pyxis Technologies inc.
¡ Atténuer le risque
par la livraison de
petits incréments
permet de limiter
les coûts tout en
livrant de la
valeur;
Élevé
2
Stratégie Stratégie de
pour 1 capitalisation :
atténuer les Grande valeur et
Risque
d’affaires
Effort de développement
Risque
Éléments fonctionnels
Éléments non
rin 0 fonctionnels
rin 1
rin 2
3
Sp t 1
Sp t 2
Sp t 3
Sp t 4
Sp t 5
Sp t 6
Sp t 7
Sp t 8
rin 9
© Pyxis Technologies inc.
Sp t 1
Sp t 1
Sp t 1
t1
Sp int
rin
rin
rin
rin
rin
rin
rin
rin
r
Sp
CAS : CALCUL DE LA RÉSERVE
ACTUARIELLE
© Pyxis Technologies inc.
ARCHITECTURE AGILE
L E S P O I N T S D ’ I N S P E C T I O N D E L’ A R C H I T E C T U R E
La mêlée
quotidienne pour
planifier la journée
Le carnet de produit de travail, y compris
pour ordonner les l’architecture,
éléments avec des l’analyse et la
stratégies : modélisation.
• Juste assez;
• Options ouvertes;
• Proche du besoin
d’affaires.
La revue de sprint :
• Pour valider le résultat;
La séance de planification • Pour confirmer les hypothèses;
© Pyxis Technologies inc.
Révision
Révision
Révision
Révision
Révision
Plan
Plan
Plan
Plan
Plan
dette dette dette dette Itération de « stabilisation »
¡ Axes de réflexion :
§ Qualité
§ interne (tests unitaires, revue de code, standard de code, etc.),
§ externe (tests fonctionnels, tests intégrés, tests utilisateurs, tests de
système, tests de performance, tests de sécurité, etc.),
§ sur quel environnement,
§ % couverture,
§ Internationalisation
§ Déploiement et exploitation (migration, scripts de déploiement, plan de mise
en production, environnement, etc.)
§ Documentation (fonctionnelle, technique, utilisateur, réglementaire,
validation, publication, etc.),
§ Conformité et autorisation (journalisation, contraintes corporatives,
approbation de dossier, revue architecturale, etc.).
§ Stratégie de branchement (branching strategy)
§ Gestion des anomalies (bugs) et de la dette technique
§ Maintenance
© Pyxis Technologies inc.
Tant que
l’élément n’est Une fois que
pas mis dans
Conformité l’élément est
l’incrément, il
Fiabilité inclus dans
est géré
Disponibilité l’incrément, on
comme les
Portabilité l’ajoute à la
autres.
Scalabilité définition de
Sécurité « terminé »
Attention, le
Utilisabilité pour éviter de
risque et le
Maintenabilité créer une dette
coût technique.
augmentent!
contenu
CAS :
OBAMA
CARE
mesurer la valeur
et mot de passe
Lucie Sageau Itération 2 à 7
Gestion Martin Blanchard
Développement
Développement Itération 3 à 7
Clients VE Réception
acquise lors de la Livrables
Livrable 1
Tests d'acc.
01-Feb-06
Mise en prod.
15-Feb-06
Module d'enregistrement des services de garde
revue d’itération et Livrable 2 15-Feb-06 01-Mar-06
© Pyxis Technologies inc.
Attribution code utilisateur Définition paramètres de Module d'enregistrement des vérificateurs externes
pour organiser le
et mot de passe réception Livrable 3 01-Mar-06 15-Mar-06
Vérification des donneés Module saisie et l'importation des données
Arrimage aux systèmes Livrable 4 15-Mar-06 01-Apr-06
carnet de produit lors Production de rapports
du ministère(SRF-CAFE) Module de transmission complète
Livrable 5 01-Apr-06 15-Apr-06
planification.
ARCHITECTURE D’AFFAIRES
O U T I L S - E X E M P L E D E D O S S I E R D ’ AF FAIR ES
© Pyxis Technologies inc.
Source : http://www.businessmodelgeneration.com/
ARCHITECTURE D’AFFAIRES
O U T I L S - C H ART E D E PR OJ ET AGILE
10 minutes
ARCHITECTURE D’AFFAIRES
O U T I L S - E X E M P L E D E TA B L E A U D E V I S U A L I S AT I O N D U P R O D U I T
Source : http://www.romanpichler.com/blog/agile-product-innovation/the-product-vision-board
ARCHITECTURE D’AFFAIRES
P L A N I F I C AT I O N PA R L E S P R O C E S S U S D ’ A F FA I R E S
de produit
Mélanie consulte les Mélanie accepte les Le système confirme Le système transmet un
© Pyxis Technologies inc.
Source : http://www.romanpichler.com/blog/agile-product-management-tools/agile-scenarios-
and-storyboards (traduction)
ARCHITECTURE D’AFFAIRES
C AS D ’ U T ILISAT ION
Saisir l’adresse de
facturation
Sélectionner le cours Choisir l’option de
Inscrire les participants paiement Mélanie Tardif
Cours PSPO Bureau 120
tlescut@pyxis-tech.com
Montréal, 23-24 fév. q PayPal 440, boul. Armand-
Mélanie Frappier
Laval (Québec) H7V 4B4
Mélanie consulte les Mélanie accepte les Le système confirme Le système transmet un
© Pyxis Technologies inc.
Source : http://www.romanpichler.com/blog/agile-product-management-tools/agile-scenarios-
and-storyboards (traduction)
CAS :
COMMERCE
ÉLECTRONIQUE
D’ASSURANCE
VOYAGE
¡ Définissez le processus
d’affaires d’une application
de reconnaissance musicale.
15 minutes
ARCHITECTURE D’AFFAIRES
O U T I L S - É TA B L I R L E S P R O C E S S U S
Travail en équipe :
• Écrivez les étapes
• Ordonnancez les étapes en séquence
© Pyxis Technologies inc.
30 minutes
ARCHITECTURE D’AFFAIRES
O U T I L S - É TA B L I R L E S C A S D ’ U T I L I S AT I O N
Travail en équipe :
• Inscrivez les conditions d’entrée.
• S’il y a lieu, indiquez le chemin du cas d’utilisation.
• Inscrivez le comportement attendu.
© Pyxis Technologies inc.
20 minutes
ARCHITECTURE D’AFFAIRES
P L A N I F I C AT I O N AV E C P L U S I E U R S É Q U I P E S
Coordonnateur responsable de la
vision systémique
(PO de PO)
Les carnets
découlent
des processus
Projet A Projet B Projet C d’affaires et sont
organisés autour du
PO PO PO
et son et son et son même cas
équipe équipe équipe
d’utilisation.
© Pyxis Technologies inc.
ARCHITECTURE D’AFFAIRES
M ESU R ER LA VALEU R D ’ AF FAIR ES
Risques : A d ap ta
tio n
• Paralysie par l’analyse;
• Suringénierie; Risques :
• Fondement sur de Architecture • Réingénierie coûteuse;
fausses hypothèses; • Solution non globale;
© Pyxis Technologies inc.
- Robert C. Martin
Source : http://blog.cleancoder.com/uncle-
© Pyxis Technologies inc.
bob/2016/01/04/ALittleArchitecture.html
DÉMARRAGE DE PROJET
M OD ÈLES D E D ÉM AR R AGE
a) Directement
en projet (littéra- Itération Itération Itération
ture Scrum) 1 2 […] N
b) Ateliers
Itération Itération Itération Itération
de démarrage 0 1 2 […] N
(commun)
c) Phase d’analyse
Analyse Itération Itération Itération Itération
préliminaire préliminaire 0 1 2 […] N
(commun)
(ou pas)
d) Analyse
Itération Itération Itération Itération Itération Itération
préliminaire 1 2 3 4 5 […] N
empirique
© Pyxis Technologies inc.
DÉMARRAGE DE PROJET
F I N AN C EM EN T D E T YPE L E A N S TA RT U P
On s’appuie sur
une vision.
On s’appuie sur
un plan.
c) Phase d’analyse
Analyse Itération Itération Itération Itération
préliminaire préliminaire 0 1 2 […] N
(commun)
Itération Itération Itération Itération Itération Itération Itération Itération Itération Itération Itération
1 2 3 4 5 6 7 8 9 10 …
Avant-projet Projet
• L’équipe est réduite, semblable au • Changement dans la composition de
modèle traditionnel, mais avec l’équipe : plus de développeurs, moins
l’ajout de quelques développeurs d’analystes;
principaux. • Continuité : pas de transfert de projet;
• L’analyse est faite dans l’ordre de la • Carnet de produit, définition de « terminé »,
valeur d’affaires et du risque (style outil de suivi et incrément de base déjà en
Agile et Lean Startup). place : pas seulement un document
• En plus des documents, les d’analyse;
© Pyxis Technologies inc.
incréments valident les plus grandes • Transfert des coûts d’avant-projet au budget
hypothèses. du projet de développement.
• L’investissement est une dépense.
DÉMARRAGE DE PROJET
LES ACTIVITÉS DE DÉMARRAGE
Produit
Équipe
Environnement
Architecture
Cadre de gestion
Impact
(1) * (5) (2) * (5) (3) * (5) (4) * (5) (5) * (5)
très élevé (5)
Impact
(1) * (4) (2) * (4) (3) * (4) (4) * (4) (5) * (4)
élevé (4)
Impact
(1) * (3) (2) * (3) (3) * (3) (4) * (3) (5) * (3)
modéré (3)
Impact
(1) * (2) (2) * (2) (3) * (2) (4) * (2) (5) * (2)
faible (2)
Impact T. Élevé
(1) * (1) (2) * (1) (3) * (1) (4) * (1) (5) * (1)
faible (1) 2
Impacts 1
Probabilité Probabilité Probabilité Probabilité Probabilité
Probabilités très faible (1) faible (2) modérée (3) élevée (4) très élevée (5)
Risque
3 2
3 1
Faible
© Pyxis Technologies inc.
Faible Forte
Valeur
d’affaires
OUTILS POUR SPÉCIFIER LES BESOINS
S TO RY M APPIN G
60 minutes
OUTILS POUR SPÉCIFIER LES BESOINS
S TO RY M APPIN G – E X E M P L E P O U R D E S S T R AT E S
© Pyxis Technologies inc.
u
par le PO et l’équipe. « va l e
LES ÉLÉMENTS REQUIS FONCTIONNELS
S C É N A R I O U T ILISAT EU R – C R IT ÈR ES « IN VEST »
Carte
En tant que candidat, je veux trouver les offres d’emploi correspondant à des
arguments afin de me permettre d’accéder à leur description et ultimement de
poser ma candidature.
Conversation Condition de succès
Besoins d’affaires et contraintes : Condition de succès :
• Arguments : compétence, région, • Je constate que tous les critères sont
domaine d’activité, langue; vides à l’entrée de la fonction.
• Si aucun argument saisi dans la • Je saisis des critères, puis je lance la
recherche = aucun résultat; recherche et je constate le résultat.
• Besoin d’une pagination sur la liste • Je vide les critères, puis je déclenche la
des résultats de recherche; recherche et je constate le résultat vide.
• Possibilité de trier les résultats par • J’effectue un tri à même les colonnes du
colonnes dans le tableau des tableau des résultats et je constate le
résultats; classement des résultats.
• Moins de 1 seconde;
© Pyxis Technologies inc.
Source : http://xprogramming.com/articles/expcardconversationconfirmation
LES ÉLÉMENTS REQUIS FONCTIONNELS
S C É N A R I O U T ILISAT EU R - D ÉC OU PAGE
¡ Priorités :
§ Gérer les postes, gérer les candidatures;
¡ Étapes d’un processus :
§ Afficher un poste, poser une candidature;
¡ Règles d’affaires :
§ Afficher un poste, permettre l’expiration de son affichage,
assurer la validité des données du formulaire…;
¡ Données :
§ Faire une recherche par nom (simple), région (complexe)…;
¡ Opérations (CRUD) :
§ Créer et modifier un profil, supprimer un profil, afficher les profils…;
¡ Extraction des soucis transversaux :
§ Assurer la sécurité, la performance…;
¡ Traçage du chemin :
© Pyxis Technologies inc.
§ Pour valider l’architecture, faire une minuscule tranche verticale qui traverse les
couches applicatives.
¡ Extraction des boîtes d’étude (spike)
Si la condition de succès d’un PBI est longue et difficile à rédiger, c’est que
§ Choisir le moteur de génération de rapports
le scénario utilisateur couvre probablement trop de considérations.
LES ÉLÉMENTS REQUIS FONCTIONNELS
S C É N A R I O U T I L I S AT E U R - D ÉTAILLER
spikes.
30 minutes
ARCHITECTURE
TECHNIQUE
ARCHITECTURE TECHNIQUE
M OD ÈLES
modèle et la logique.
¡ Il y a une forte dépendance au modèle.
ARCHITECTURE TECHNIQUE
ADAPTER SA COMPLEXITÉ AU BESOIN
d’affaires. données
Tiers
ARCHITECTURE TECHNIQUE
PIÈGES HABITUELS SI ON MANQUE DE VISION
Itération(s) de
stabilisation
© Pyxis Technologies inc.
10 fonctions 20 fonctions
1 000 000 $ 200 000 $
ARCHITECTURE TECHNIQUE
P I L O T É E PA R L E D O M A I N E
- Louis Sullivan
Source :
© Pyxis Technologies inc.
https://en.wikipedia.org/wiki/Form_follows_function
ARCHITECTURE TECHNIQUE
P I L O T É E PA R L E D O M A I N E
Langage Langage
technique d’affaires
Équipe de PO et parties
© Pyxis Technologies inc.
développement prenantes
Langage commun
ARCHITECTURE TECHNIQUE
P I L O T É E PA R L E D O M A I N E
Réf: https://dzone.com/articles/testing-triangle-circle-and
ARCHITECTURE TECHNIQUE
S P I K E ( B O Î T E D ’ ÉT U D E )
Inspiré de http://www.extremeprogramming.org/rules/spike.html et de
http://scaledagileframework.com/spikes
ARCHITECTURE TECHNIQUE
S P I K E — C E Q U E C ’ E S T E T C E Q U E C E N ’ E S T PA S
estimations.
ARCHITECTURE TECHNIQUE
U N EXEM PLE D E S P I K E
• Réaliser ou acheter;
• Choisir un fournisseur;
• Évaluer l’impact sur la
performance; Je dés
ire
• Choisir une technologie; process comprendre c
u o
• Vérifier des hypothèses pouvoir s de paiement mment intégr
évaluer pa er
la réali r VISA, ainsi le
techniques; sation. je vais
Temps
: 3 jour
• Se familiariser avec une s
technologie; Conditi
on
- Proto de succès :
• Se familiariser avec ty
- Éléme pe fonctionne
un produit existant; nts lég l de pai
aux ement
en ligne
• Faire le prototype d’un aspect
fonctionnel;
• Établir l’interaction avec le client;
• Valider la navigation.
© Pyxis Technologies inc.
Inspiré de http://www.extremeprogramming.org/rules/spike.html et de
http://scaledagileframework.com/spikes
CAS : COMPTE À HAUT RENDEMENT
© Pyxis Technologies inc.
ARCHITECTURE TECHNIQUE
A R C H I T E C T U R E D E D ON N ÉES ET IN F R AST R U C T U R E
§ Déployer souvent.
OUTILS POUR SPÉCIFIER LES BESOINS
LA SUITE
Atelier
¡ Définir l’architecture
¡ Identifier les NFR
¡ Identifier les stratégies
¡ Identifier les risques; atténuer les risques
© Pyxis Technologies inc.
30 minutes
DOCUMENTATION AGILE
DOCUMENTATION AGILE
C OM M U N IC AT ION E F F I C A C E
Face à face au
tableau blanc
Forte
Conversation
face à face
Le développement de
Efficacité de la communication
Froid Chaud
Richesse du canal de communication
DOCUMENTATION AGILE
C ON VER SAT ION S ET C OLLABOR AT ION
Dac!
Oui!
Ah!
© Pyxis Technologies inc.
OK!
Source : blogs.perficient.com/spark/2011/07/22/how-to-build-a-tire-swing-a-case-for-agile-development/
DOCUMENTATION AGILE
C H OIX D E L’ O U T I L AD ÉQ U AT
§ Pérennité.
DOCUMENTATION AGILE
ÉBAUCHES
Soyez visibles
© Pyxis Technologies inc.
et transparents.
Source : http://www.codingthearchitecture.com/presentations/dublinaltdotnet2013-agile-
software-architecture-sketches
DOCUMENTATION AGILE
P R O TO T Y P E PA P I E R
¡ Attention!
§ Solution non inclusive,
§ Une maquette trop belle
© Pyxis Technologies inc.
Source : http://www.youtube.com/watch?v=GrV2SZuRPv0
DOCUMENTATION AGILE
D OC U M EN TAT ION
>
> Comprendre l’impact.
RESPONSABLE DE L’ARCHITECTURE
U N E ÉQU IPE AU TO - O R G A N I S É E
Comportements à adopter :
Comportements à adopter :
¡ Être disponible pour l’équipe;
¡ Collaborer avec les parties prenantes
et les équipiers;
¡ Déléguer à l’équipe certaines parties
des responsabilités d’architecture;
¡ Faire travailler l’équipe, modéliser p a s
avec celle-ci; l y s e z re
¡ Alléger le cycle de prise de décision p a ra r vot
et d’approbation; N e i p e p a i té .
u il
¡ Donner le droit à l’erreur; l’é q s p o n ib
¡ Assurer l’accès à l’information in di
© Pyxis Technologies inc.
relative à l’architecture.
RESPONSABLE DE L’ARCHITECTURE
M OD E D E D ÉLÉGAT ION D U LEAD ER
Source : Jurgen Appelo, Management 3.0–Leading Agile developers, developing Agile leaders, Addison-Wesley, 2011
RESPONSABLE DE L’ARCHITECTURE
TA B L E A U D E D ÉLÉGAT ION ( A R C H I T E C T E V S É Q U I P E)
Niveau de délégation
1. 2. 3. 4. 5. 6. 7.
Décision sur… Imposer Vendre Consulter Collaborer Aviser Demander Déléguer
Documentation des
standards des IUG
Modification de la
base de données
Choix technologique
Solution technique
Modélisation et
analyse des besoins
…
© Pyxis Technologies inc.
Membre Membre
Architecte PO
d’équipe d’équipe
Source : Jurgen Appelo, Management 3.0–Leading Agile developers, developing Agile leaders, Addison-Wesley, 2011
RESPONSABLE DE L’ARCHITECTURE
STRUCTURE ÉLARGIE
Architecte
Équipier Équipier
© Pyxis Technologies inc.
Comité d’architecture
Scrum de Scrum
RESPONSABLE DE L’ARCHITECTURE
D ÉM AR R AGE D E PR OJ ET ET I T É R AT I O N 0
Planification :
§ Collaborer à la conception et à la modélisation.
Itération :
§ Enlever les obstacles relatifs à l’architecture;
§ Travailler en binôme (transmission des connaissances,
essais, validation des hypothèses);
§ Faire des revues;
§ Faire des dojos, au besoin.
Revue d’itération :
§ Approuver ou refuser les éléments;
§ Confirmer les hypothèses;
© Pyxis Technologies inc.
¡ Voyager léger;
¡ Accueillir positivement les demandes de changement;
¡ Modéliser pour les bonnes raisons;
¡ Utiliser de multiples modèles;
¡ Ne pas compromettre la qualité;
¡ Réduire le délai des rétroactions;
¡ Maximiser l’investissement des parties prenantes;
¡ Rester proche du modèle d’affaires.
© Pyxis Technologies inc.
¡ Travail en binôme :
© Pyxis Technologies inc.
¡ www.directioninformatique.com/la-transformation-agile-du-role-de-
larchitecte
¡ www.agilemodeling.com/essays/agileArchitecture.htm
¡ www.agilearchitect.org/agile/index.asp
¡ www.martinfowler.com/articles/designDead.html
¡ www.codingthearchitecture.com
¡ www.infoq.com/articles/agile-architecture
¡ www.romanpichler.com
© Pyxis Technologies inc.
S’IL Y A UNE CHOSE QUE J’AI APPRISE, C’EST… Échanges
libres
POURQUOI CHOISIR L’AGILITÉ?
Veui l l ez rempl i r
l e questi onnai re
d’ amél i orati on
conti nue. Vos
commentai res
nous ai dent à
nous amél i orer...
Titre sur mesure
POINTS FORTS 1 Merci !
pyxis-tech.com
2017-05-10