faire la conception en équipe sans architecte, non mais allô quoi ?
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
Faire la conception en équipe sans architecte,
non mais allô quoi ?Ly-Jia Goldstein – Arolla
@Ly_Jia
Développeuse
@Ly_Jia
Paris
.NET/C#
Software Craftsmanship
TDD
BDD
DDD
http://lyjia.net
Jeux vidéo
XP MeetUp
Conception ?
Architecture ?
« 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
« 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
Architecte ?
"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"
● Expérience
● Communication
● Équipes de développement agiles (Scrum)
● Équipes de développement agiles (Scrum)
● TDD
● Pair-programming
● Équipes de développement agiles (Scrum)
● TDD
● Pair-programming
● Pas d'architecte
● Équipes de développement agiles (Scrum) => Pas de spécifications
● TDD
● Pair-programming
● Pas d'architecte
● Équipes de développement agiles (Scrum) => Pas de spécifications
● TDD => Conception devant le clavier
● Pair-programming
● Pas d'architecte
● Équipes de développement agiles (Scrum) => Pas de spécifications
● TDD => Conception devant le clavier
● Pair-programming => Communication d'équipe
● Pas d'architecte
● Équipes de développement agiles (Scrum) => Pas de spécifications
● TDD => Conception devant le clavier
● Pair-programming => Communication d'équipe
● Pas d'architecte
● Conceptions hétéroclites
● Conceptions hétéroclites
● Absence de documentation
Réunions ???
Whiteboarding(aka conseils de guerre)
● Diversité des points de vue facilite les solutions « out of the box »
● Vision au sein de l'équipe
Et la documentation ?
Discussion ?
Discussion ?● BDD
Discussion ?● BDD● Ubiquitous language (DDD)
Discussion ?● BDD● Ubiquitous language (DDD)
Comptes-rendus des whiteboards
"Individuals and interactions over Processes and tools"
doesn't mean
"No processes and tools at all"
Responsabilité
Partage
Professionnalisme
Software Craftsmanship
I have to pay even moar?
Wait
1000 personnes qui connaissent chacune une choseou
1 personne qui connaît 1000 choses
● Scrum
● Bounded Context (DDD)
● Micro-services
D'accord, mais nous avons un historique,
NOUS !
D'accord, mais les bons développeurs
ne courent pas les rues !
La conception en équipe sans architecte, c'est bien :
mangez-en !
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
Merci !
Merci à nos sponsors
Platinum Gold
Silver Institutionnel