faire la conception en équipe sans architecte, non mais allô quoi ?

60
Faire la conception en équipe sans architecte, non mais allô quoi ? Ly-Jia Goldstein – Arolla @Ly_Jia

Upload: ly-jia-goldstein

Post on 08-Jul-2015

289 views

Category:

Software


1 download

DESCRIPTION

Talk présenté : - au BreizhCamp (http://lyjia.net/breizhcamp-slides-de-ma-presentation/) - Agile Tour Montpellier "Les équipes s'auto-organisent afin de faire émerger les meilleures architectures, spécifications et conceptions." C'est sur ce principe du manifeste agile que se base la notion d'équipe auto-organisée de Scrum. En pratique, beaucoup d'entreprises qui ont mis en place Scrum gardent leurs architectes dans leurs tours d'ivoire. C'est une décision normale car peut-on imaginer qu'une équipe puisse concevoir une architecture ? Et puis soyons sérieux, est-ce qu'un design par des développeurs pourrait être meilleur que celui d'un architecte ? Qu'allez-vous faire de vos architectes sinon ? À travers un retour d'expérience, nous verrons qu'effectivement confier l'architecture aux équipes n'est pas rentable si ce n'est pas fait intelligemment. En revanche, si la conception en équipe est bien maîtrisée, les bénéfices iront bien au-delà du cercle des développeurs.

TRANSCRIPT

Page 1: Faire la conception en équipe sans architecte, non mais allô quoi ?

Faire la conception en équipe sans architecte,

non mais allô quoi ?Ly-Jia Goldstein – Arolla

@Ly_Jia

Page 2: Faire la conception en équipe sans architecte, non mais allô quoi ?

Développeuse

@Ly_Jia

Paris

.NET/C#

Software Craftsmanship

TDD

BDD

DDD

http://lyjia.net

Jeux vidéo

XP MeetUp

Page 3: Faire la conception en équipe sans architecte, non mais allô quoi ?

Conception ?

Page 4: Faire la conception en équipe sans architecte, non mais allô quoi ?

Architecture ?

Page 5: Faire la conception en équipe sans architecte, non mais allô quoi ?

« Architecture represents the significant design decisions that shape a system »

« The architectural decisions are those that you can’t reverse without some degree of effort. Or, put Simply, they’re the things that you’d find hard to refactor an afternoon. »

Simon Brown Software Architecture for Developers

Page 6: Faire la conception en équipe sans architecte, non mais allô quoi ?

« I tend to look at "architecture" as one of those impressive-sounding words, used primarily to indicate that we're talking something that'simportant. »

Martin Fowler Patterns of enterprise application architecture, 2003

Page 7: Faire la conception en équipe sans architecte, non mais allô quoi ?

Architecte ?

Page 8: Faire la conception en équipe sans architecte, non mais allô quoi ?

"Quelqu'un qui a la vision globale du système"

"Une personne qui va décider des solutions techniques pérennes et des bonnes pratiques à suivre dans la société" "Le pondeur de schémas via Enterprise Architect"

"Des gens dans leurs bureaux à faire des powerpoints pour communiquer des solutions à côté de la plaque"

"Étape officielle de validation"

Page 9: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Expérience

● Communication

Page 10: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 11: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum)

Page 12: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum)

● TDD

● Pair-programming

Page 13: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum)

● TDD

● Pair-programming

● Pas d'architecte

Page 14: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum) => Pas de spécifications

● TDD

● Pair-programming

● Pas d'architecte

Page 15: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum) => Pas de spécifications

● TDD => Conception devant le clavier

● Pair-programming

● Pas d'architecte

Page 16: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum) => Pas de spécifications

● TDD => Conception devant le clavier

● Pair-programming => Communication d'équipe

● Pas d'architecte

Page 17: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Équipes de développement agiles (Scrum) => Pas de spécifications

● TDD => Conception devant le clavier

● Pair-programming => Communication d'équipe

● Pas d'architecte

Page 18: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 19: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Conceptions hétéroclites

Page 20: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Conceptions hétéroclites

● Absence de documentation

Page 21: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 22: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 23: Faire la conception en équipe sans architecte, non mais allô quoi ?

Réunions ???

Page 24: Faire la conception en équipe sans architecte, non mais allô quoi ?

Whiteboarding(aka conseils de guerre)

Page 25: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 26: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Diversité des points de vue facilite les solutions « out of the box »

● Vision au sein de l'équipe

Page 27: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 28: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 29: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 30: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 31: Faire la conception en équipe sans architecte, non mais allô quoi ?

Et la documentation ?

Page 32: Faire la conception en équipe sans architecte, non mais allô quoi ?

Discussion ?

Page 33: Faire la conception en équipe sans architecte, non mais allô quoi ?

Discussion ?● BDD

Page 34: Faire la conception en équipe sans architecte, non mais allô quoi ?

Discussion ?● BDD● Ubiquitous language (DDD)

Page 35: Faire la conception en équipe sans architecte, non mais allô quoi ?

Discussion ?● BDD● Ubiquitous language (DDD)

Comptes-rendus des whiteboards

Page 36: Faire la conception en équipe sans architecte, non mais allô quoi ?

"Individuals and interactions over Processes and tools"

doesn't mean

"No processes and tools at all"

Page 37: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 38: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 39: Faire la conception en équipe sans architecte, non mais allô quoi ?

Responsabilité

Page 40: Faire la conception en équipe sans architecte, non mais allô quoi ?

Partage

Page 41: Faire la conception en équipe sans architecte, non mais allô quoi ?

Professionnalisme

Page 42: Faire la conception en équipe sans architecte, non mais allô quoi ?

Software Craftsmanship

Page 43: Faire la conception en équipe sans architecte, non mais allô quoi ?

I have to pay even moar?

Wait

Page 44: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 45: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 46: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 47: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 48: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 49: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 50: Faire la conception en équipe sans architecte, non mais allô quoi ?

1000 personnes qui connaissent chacune une choseou

1 personne qui connaît 1000 choses

Page 51: Faire la conception en équipe sans architecte, non mais allô quoi ?

● Scrum

● Bounded Context (DDD)

● Micro-services

Page 52: Faire la conception en équipe sans architecte, non mais allô quoi ?

D'accord, mais nous avons un historique, 

NOUS !

Page 53: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 54: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 55: Faire la conception en équipe sans architecte, non mais allô quoi ?

D'accord, mais les bons développeurs

ne courent pas les rues !

Page 56: Faire la conception en équipe sans architecte, non mais allô quoi ?

La conception en équipe sans architecte, c'est bien :

mangez-en !

Page 57: Faire la conception en équipe sans architecte, non mais allô quoi ?
Page 58: Faire la conception en équipe sans architecte, non mais allô quoi ?

BibliographieSoftware Architecture for Developers (extrait) – Simon Brown : https://leanpub.com/software-architecture-for-developers/readWho Needs an Architect – Martin Fowler : http://martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdfRefactor Your Software Architecture – Julien Lavigne du Cadet : http://fr.slideshare.net/Julionn/refactor-your-software-architectureL'ABC du BDD – Arnauld Loyer : http://fr.slideshare.net/aloyer/labc-du-bdd-behavior-driven-developmentDomain Driven Design – Eric EvansSofware Craftsmanship Manifesto : http://manifesto.softwarecraftsmanship.org

Users group● http://www.meetup.com/paris-software-craftsmanship/● http://www.meetup.com/altnetfr/● http://www.meetup.com/DDD-Paris/

Mon blog : http://lyjia.net

Twitter : @Ly_Jia

Page 59: Faire la conception en équipe sans architecte, non mais allô quoi ?

Merci !

Page 60: Faire la conception en équipe sans architecte, non mais allô quoi ?

Merci à nos sponsors

Platinum Gold

Silver Institutionnel