owned this note
owned this note
Published
Linked with GitHub
---
title: Rôle d’architecte logiciel
tags: UNC - présentation
description:
slideOptions:
transition: 'fade'
spotlight:
enabled: false
---
<!-- .slide: style="font-size: 16px;" -->
# Rôle d’architecte logiciel
<!-- .element: class="fragment" data-fragment-index="1" -->
---
<!-- .slide: style="font-size: 10px;" -->
## Ce qu'on va voir
- tout est question de ~~taille~~ périmètre (ou d'échelle)
- définitions
- une vision moderne
- ressources + contraintes = choix
- les 2 tours
- cas d'usages
- Exercices 3 choix (ce qu'il faut retenir)
- 3 missions
- 3 préconisations
## Ce qu'on ne verra pas
- les patterns d'architectures (microservices..)
- les designs patterns logiciels (adapteur, commande...)
---
## Périmètre
<!-- .slide: style="font-size: 16px;" -->
Dana Bredemeyer <!-- .element: class="fragment" data-fragment-index="2" --><!-- .element: class="fragment" data-fragment-index="2" -->
Enterprise Architect<!-- .element: class="fragment" data-fragment-index="2" -->
Solution Architect<!-- .element: class="fragment" data-fragment-index="2" -->
Technical Architect<!-- .element: class="fragment" data-fragment-index="2" -->
---
<!-- .slide: style="font-size: 16px;" -->
wikipedia.fr
> L'architecte logiciel est un expert en informatique qui est responsable de la création et du respect du modèle d'architecture logicielle. Il se distingue de l'architecte informatique qui travaille sur le matériel.
> <!-- .element: class="fragment" data-fragment-index="1" -->C'est un informaticien professionnel agréé ou un ingénieur logiciel membre d'un ordre professionnel dans plusieurs pays.
><!-- .element: class="fragment" data-fragment-index="3" --> Le rôle d'architecte logiciel peut [...] être tenu par l'analyste, le chef de projet ou le développeur responsable du projet.
<!-- .element: class="fragment" data-fragment-index="4" -->
---
<!-- .slide: style="font-size: 16px;" -->
www.opengroup.org/togaf
> Le cadre de référence TOGAF® est une approche de développement architectural « rapide » et de gouvernance efficace. Il ne prescrit pas les modèles à utiliser pour représenter l’architecture, mais guide le processus lors de la création de l’architecture. Grâce à son évolutivité, il peut être utilisé pour les organisations gouvernementales, les grandes entreprises et même les petites et moyennes entreprises. En examinant les différents niveaux d’architecture qu’un framework peut prendre en charge, TOGAF® essaie de prendre en charge tous les niveaux, allant de l’architecture d’entreprise, de données, d’application à l’architecture technologique.
<!-- .element: class="fragment" data-fragment-index="1" -->
---
<!-- .slide: style="font-size: 16px;" -->
Martin Fowler
  <!-- .element: class="fragment" data-fragment-index="1" -->
>https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
> So you might end up defining
> architecture as “things that people perceive as hard to change“.
> [...]
> Architecture is about
> the important stuff. Whatever that is.<!-- .element: class="fragment" data-fragment-index="2" -->
---
## Ressources
<!-- .element: class="fragment" data-fragment-index="1" --> <!-- .element: class="fragment" data-fragment-index="2" -->
<!-- .element: class="fragment" data-fragment-index="3" --> <!-- .element: class="fragment" data-fragment-index="4" -->
---
<!-- .slide: style="font-size: 16px;" -->
# Contraintes
<!-- .element: class="fragment" data-fragment-index="1" -->
## Ressources / contraintes<!-- .element: class="fragment" data-fragment-index="2" -->
- budget<!-- .element: class="fragment" data-fragment-index="2" -->
- taille des équipes<!-- .element: class="fragment" data-fragment-index="2" -->
- compétences dans les équipes<!-- .element: class="fragment" data-fragment-index="2" -->
- compétences sur le territoire<!-- .element: class="fragment" data-fragment-index="2" -->
- sécurité<!-- .element: class="fragment" data-fragment-index="2" -->
- philosophie d'entreprise 100% externalisation? <!-- .element: class="fragment" data-fragment-index="2" -->
- ...<!-- .element: class="fragment" data-fragment-index="2" -->
---
# Les 2 ~~tours~~ visions
---
<!-- .slide: style="font-size: 16px;" -->
| Traditionnelle: la tour d'ivoire | Moderne: le G.O. |
| ------ | ----------- |
|<!-- .element: class="fragment" data-fragment-index="1" -->|<!-- .element: class="fragment" data-fragment-index="1" -->|
| Titre <!-- .element: class="fragment" data-fragment-index="2" -->| Role <!-- .element: class="fragment" data-fragment-index="2" -->|
| <span> <!-- .element: class="fragment" data-fragment-index="3" -->Expert en tout<br>-> impossible| Utiliser toutes les expertises de l'equipe <!-- .element: class="fragment" data-fragment-index="4" --></span>|
| Prend, impose et est responsable de toutes les decisions<br> -> stress / pression / frustrations <!-- .element: class="fragment" data-fragment-index="5" --> | Comprendre le problème et organiser<br> des ateliers pour trouver les solutions. <br>50% tech 50% com <!-- .element: class="fragment" data-fragment-index="6" -->|
|<!-- .element: class="fragment" data-fragment-index="7" -->|<!-- .element: class="fragment" data-fragment-index="8" -->
|
---
<!-- .slide: style="font-size: 16px;" -->
# Cas d'usages
## 1. Pourquoi
V: Peux-tu générer un fichier avec la liste des étudiants et leurs formations et le déposer sur le serveur toussatoussa...<!-- .element: class="fragment" data-fragment-index="1" -->
[... 2 jours plus tard ...]<!-- .element: class="fragment" data-fragment-index="2" -->
S: C'est fait<!-- .element: class="fragment" data-fragment-index="3" -->
<!-- .element: class="fragment" data-fragment-index="4" -->
 <!-- .element: class="fragment" data-fragment-index="5" -->
---
<!-- .slide: style="font-size: 16px;" -->
## 2. A quelle phase du projet solliciter l'architecte
Au début puis tout au long du projet (dialogue constant)<!-- .element: class="fragment" data-fragment-index="1" -->
<!-- .element: class="fragment" data-fragment-index="2" -->
---
<!-- .slide: style="font-size: 16px;" -->
# Les 3 choix (ce qu'il faut retenir)
## 3 missions de l'architecte
- faire des choix techniques<!-- .element: class="fragment" data-fragment-index="1" -->
- assurer la cohérence du système<!-- .element: class="fragment" data-fragment-index="2" -->
- communiquer<!-- .element: class="fragment" data-fragment-index="3" -->
## 3 préconisations de l'architecte<!-- .element: class="fragment" data-fragment-index="4" -->
- pourquoi: rechercher le besoin (avant la solution)<!-- .element: class="fragment" data-fragment-index="5" -->
- versionner / (auto)documenter<!-- .element: class="fragment" data-fragment-index="6" -->
- automatiser<!-- .element: class="fragment" data-fragment-index="7" -->
---
<!-- .slide: style="font-size: 16px;" -->
## Ressources
#### [How to Become a Great Software Architect • E. Wolff • GOTO 2019](https://www.youtube.com/watch?v=v_nhv6aY1Kg&t=309s&ab_channel=GOTOConferences)
#### [Être architecte logiciel en 2018 (C. Martraire, A. Loyer)](https://www.youtube.com/watch?v=1igv2rHGKfo&ab_channel=DevoxxFR)
# Rôle d’architecte logiciel
<!-- .element: class="fragment" data-fragment-index="1" -->
---
<!-- .slide: style="font-size: 10px;" -->
## Ce qu'on va voir
- tout est question de ~~taille~~ périmètre (ou d'échelle)
- définitions
- une vision moderne
- ressources + contraintes = choix
- les 2 tours
- cas d'usages
- Exercices 3 choix (ce qu'il faut retenir)
- 3 missions
- 3 préconisations
## Ce qu'on ne verra pas
- les patterns d'architectures (microservices..)
- les designs patterns logiciels (adapteur, commande...)
---
## Périmètre
<!-- .slide: style="font-size: 16px;" -->
Dana Bredemeyer <!-- .element: class="fragment" data-fragment-index="2" --><!-- .element: class="fragment" data-fragment-index="2" -->
Enterprise Architect<!-- .element: class="fragment" data-fragment-index="2" -->
Solution Architect<!-- .element: class="fragment" data-fragment-index="2" -->
Technical Architect<!-- .element: class="fragment" data-fragment-index="2" -->
---
<!-- .slide: style="font-size: 16px;" -->
wikipedia.fr
> L'architecte logiciel est un expert en informatique qui est responsable de la création et du respect du modèle d'architecture logicielle. Il se distingue de l'architecte informatique qui travaille sur le matériel.
> <!-- .element: class="fragment" data-fragment-index="1" -->C'est un informaticien professionnel agréé ou un ingénieur logiciel membre d'un ordre professionnel dans plusieurs pays.
><!-- .element: class="fragment" data-fragment-index="3" --> Le rôle d'architecte logiciel peut [...] être tenu par l'analyste, le chef de projet ou le développeur responsable du projet.
<!-- .element: class="fragment" data-fragment-index="4" -->
---
<!-- .slide: style="font-size: 16px;" -->
www.opengroup.org/togaf
> Le cadre de référence TOGAF® est une approche de développement architectural « rapide » et de gouvernance efficace. Il ne prescrit pas les modèles à utiliser pour représenter l’architecture, mais guide le processus lors de la création de l’architecture. Grâce à son évolutivité, il peut être utilisé pour les organisations gouvernementales, les grandes entreprises et même les petites et moyennes entreprises. En examinant les différents niveaux d’architecture qu’un framework peut prendre en charge, TOGAF® essaie de prendre en charge tous les niveaux, allant de l’architecture d’entreprise, de données, d’application à l’architecture technologique.
<!-- .element: class="fragment" data-fragment-index="1" -->
---
<!-- .slide: style="font-size: 16px;" -->
Martin Fowler
  <!-- .element: class="fragment" data-fragment-index="1" -->
>https://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
> So you might end up defining
> architecture as “things that people perceive as hard to change“.
> [...]
> Architecture is about
> the important stuff. Whatever that is.<!-- .element: class="fragment" data-fragment-index="2" -->
---
## Ressources
<!-- .element: class="fragment" data-fragment-index="1" --> <!-- .element: class="fragment" data-fragment-index="2" -->
<!-- .element: class="fragment" data-fragment-index="3" --> <!-- .element: class="fragment" data-fragment-index="4" -->
---
<!-- .slide: style="font-size: 16px;" -->
# Contraintes
<!-- .element: class="fragment" data-fragment-index="1" -->
## Ressources / contraintes<!-- .element: class="fragment" data-fragment-index="2" -->
- budget<!-- .element: class="fragment" data-fragment-index="2" -->
- taille des équipes<!-- .element: class="fragment" data-fragment-index="2" -->
- compétences dans les équipes<!-- .element: class="fragment" data-fragment-index="2" -->
- compétences sur le territoire<!-- .element: class="fragment" data-fragment-index="2" -->
- sécurité<!-- .element: class="fragment" data-fragment-index="2" -->
- philosophie d'entreprise 100% externalisation? <!-- .element: class="fragment" data-fragment-index="2" -->
- ...<!-- .element: class="fragment" data-fragment-index="2" -->
---
# Les 2 ~~tours~~ visions
---
<!-- .slide: style="font-size: 16px;" -->
| Traditionnelle: la tour d'ivoire | Moderne: le G.O. |
| ------ | ----------- |
|<!-- .element: class="fragment" data-fragment-index="1" -->|<!-- .element: class="fragment" data-fragment-index="1" -->|
| Titre <!-- .element: class="fragment" data-fragment-index="2" -->| Role <!-- .element: class="fragment" data-fragment-index="2" -->|
| <span> <!-- .element: class="fragment" data-fragment-index="3" -->Expert en tout<br>-> impossible| Utiliser toutes les expertises de l'equipe <!-- .element: class="fragment" data-fragment-index="4" --></span>|
| Prend, impose et est responsable de toutes les decisions<br> -> stress / pression / frustrations <!-- .element: class="fragment" data-fragment-index="5" --> | Comprendre le problème et organiser<br> des ateliers pour trouver les solutions. <br>50% tech 50% com <!-- .element: class="fragment" data-fragment-index="6" -->|
|<!-- .element: class="fragment" data-fragment-index="7" -->|<!-- .element: class="fragment" data-fragment-index="8" -->
|
---
<!-- .slide: style="font-size: 16px;" -->
# Cas d'usages
## 1. Pourquoi
V: Peux-tu générer un fichier avec la liste des étudiants et leurs formations et le déposer sur le serveur toussatoussa...<!-- .element: class="fragment" data-fragment-index="1" -->
[... 2 jours plus tard ...]<!-- .element: class="fragment" data-fragment-index="2" -->
S: C'est fait<!-- .element: class="fragment" data-fragment-index="3" -->
<!-- .element: class="fragment" data-fragment-index="4" -->
 <!-- .element: class="fragment" data-fragment-index="5" -->
---
<!-- .slide: style="font-size: 16px;" -->
## 2. A quelle phase du projet solliciter l'architecte
Au début puis tout au long du projet (dialogue constant)<!-- .element: class="fragment" data-fragment-index="1" -->
<!-- .element: class="fragment" data-fragment-index="2" -->
---
<!-- .slide: style="font-size: 16px;" -->
# Les 3 choix (ce qu'il faut retenir)
## 3 missions de l'architecte
- faire des choix techniques<!-- .element: class="fragment" data-fragment-index="1" -->
- assurer la cohérence du système<!-- .element: class="fragment" data-fragment-index="2" -->
- communiquer<!-- .element: class="fragment" data-fragment-index="3" -->
## 3 préconisations de l'architecte<!-- .element: class="fragment" data-fragment-index="4" -->
- pourquoi: rechercher le besoin (avant la solution)<!-- .element: class="fragment" data-fragment-index="5" -->
- versionner / (auto)documenter<!-- .element: class="fragment" data-fragment-index="6" -->
- automatiser<!-- .element: class="fragment" data-fragment-index="7" -->
---
<!-- .slide: style="font-size: 16px;" -->
## Ressources
#### [How to Become a Great Software Architect • E. Wolff • GOTO 2019](https://www.youtube.com/watch?v=v_nhv6aY1Kg&t=309s&ab_channel=GOTOConferences)
#### [Être architecte logiciel en 2018 (C. Martraire, A. Loyer)](https://www.youtube.com/watch?v=1igv2rHGKfo&ab_channel=DevoxxFR)