"Il est écrit sur un portable Mac : « Design in California, Assembled in China ». En génie civil, on parle souvent de phase de conception suivie de la phase d’exécution des travaux alors que dans l’industrie manufacturière, il s’agit plutôt de conception (design) et de fabrication (chaîne de montage).
Dans le développement logiciel, où est la frontière et les conditions de passage entre la conception et la fabrication ou de l’assemblage?
Les natures différentes de ces activités (complexe/compliqué; itératif/séquentiel)
pourraient-elles expliquer l'imprévisibilité et les succès pseudo-aléatoires des projets informatiques ainsi que de déterminer les pratiques applicables en gestion de projets?"
Similaire à ATMTL23 - Conçu au Québec, fabriqué en Allemagne : la programmation, c'est de la conception! par Félix-Antoine Bourbonnais et Eric Chartré (20)
ATMTL23 - Conçu au Québec, fabriqué en Allemagne : la programmation, c'est de la conception! par Félix-Antoine Bourbonnais et Eric Chartré
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11. Merci d’avoir participé à cette conférence
Les vidéos Polestar sont ici : https://bit.ly/polestar-madein2023
Félix-Antoine Bourbonnais
fabourbonnais@elapsetech.com
https://linkedin.com/in/fbourbonnais/
Eric Chartré
eric.chartre@elapsetech.com
https://linkedin.com/in/echartre/
12. Cynefin : Domaine complexe
(1) Activités (≠ étapes, ≠ phases)
• Planification et estimation
• Prise, analyse et compréhension du besoin, idéalement par les tests
• Architecture, conception
• Programmation et fusion (merging)
• Intégration de composantes
• Conception et exécution des tests (assurance qualité – QA)
• Analyse statique du code
(2) Activités (≈ étapes)
• Construction
• Assemblage
• Exécution des tests (contrôle qualité – QC)
• Packaging
• Déploiement
• Utilisation
• Surveillance
Analyse des besoins,
écriture des récits,
design...
En développement logiciel, la réalisation, c’est de la conception!
Conception Fabrication
Valve à sens unique
Cynefin : Domaine compliqué
Caractéristiques
• Prédictible
• Linéaire
• Séquentiel
• Répétable
• Standardisable
• Stable
Exécution du plan
Plan détaillé
• Code
• Tests (code, automatisés)
• Pipeline as Code
• Infrastructure as Code
• Configuration as Code
• Scripts de migration de base
de données
• …
Plan ≠ planification
Caractéristiques
• Imprédictible
• Non linéaire
• Essais-erreurs, empirisme
• Non répétable
• Non déterministe
• Itératif et incrémental
• Instable jusqu’au Good Enough!
Création du plan
Développement
(code, tests, config, etc.,
voir plan détaillé)
SOFTware
• SOFT = Malléable
• Permet de passer à la fabrication rapidement :
à tous les sprints, semaines, jours, heures,
minutes et même à la demande
• Dette technique Couler dans le béton
• Le plan détaillé et tout ce qu’on a appris est
réinjecté à chaque incrément.
Shokunin
Avoir la conscience et l’éthique de bien faire
les choses pour la société, l’utilisateur,
le client, ses collègues, etc. Maîtriser sa
profession et être dévoué à son métier.
Construction Déploiement
Mise en prod.
Packaging
Assemblage
Utilisateur
Contrôle qualité
Préserver la capacité
à changer, à s’adapter
Préserver la capacité à
être prédictible
Les chaînes de
montage n’aiment
pas les surprises!!!
Activités1
Activités2
Machine, robots
Automatisation
Humains
• Développeurs.euses
• Concepteurs.trices
• Analystes
• QA • PO, client
• Ops • SM
• UI/UX • ...
= Résiste aux agents
de dégradation
Feature
toggles
Quand le plan détaillé est assez stable
pour qu’il puisse être passé sur
la chaîne de montage
Good Enough!
Réflexion, collaboration, interactions
Convergence progressive
(itératif)
Chaque bulle noire est la
meilleure décision que l’on
pouvait prendre selon le
contexte du moment et ce
que l’on savait à ce moment.
Équipe entière et
multidisciplinaire
(whole team)
La chaîne de montage prend en entrée
le code et les autres instructions,
pas les diagrammes et les documents
produits préalablement.
Production en série
Chaîne de montage
(pipeline)
Logiciel opérationnel
Excellence technique
(craftmanship)
Tôt!
Le plus souvent possible
Sur demande
Enseigner sa passion
https://elapsetech.com
formations • coaching • diagnostics • conférences • recherche
Le problème avec le Design Up Front,
c’est quand il devient
BIG!
Jamais de retour
arrière (rework)
Commit