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

Post on 08-Jul-2015

289 Views

Category:

Software

1 Downloads

Preview:

Click to see full reader

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

top related