Slide 1

Slide 1 text

Globalcode – Open4education Trilha XP Desmistificando a eXtreme Programming para desenvolvedores “não ágeis” Vinicius Campos Silva Agile Master | PagSeguro PagBank

Slide 2

Slide 2 text

Globalcode – Open4education

Slide 3

Slide 3 text

Globalcode – Open4education

Slide 4

Slide 4 text

Globalcode – Open4education

Slide 5

Slide 5 text

Globalcode – Open4education

Slide 6

Slide 6 text

Globalcode – Open4education

Slide 7

Slide 7 text

Globalcode – Open4education RUP XP SCRUM KANBAN < PRESCRITIVO ADAPTATIVO >

Slide 8

Slide 8 text

Globalcode – Open4education RUP XP SCRUM KANBAN < PRESCRITIVO ADAPTATIVO > GO HORSE

Slide 9

Slide 9 text

Globalcode – Open4education FEEDBACK RESPEITO CORAGEM COMUNICAÇÃO SIMPLICIDADE < VALORES >

Slide 10

Slide 10 text

Globalcode – Open4education

Slide 11

Slide 11 text

Globalcode – Open4education

Slide 12

Slide 12 text

Globalcode – Open4education < gold plating >

Slide 13

Slide 13 text

Globalcode – Open4education < over-engineering >

Slide 14

Slide 14 text

Globalcode – Open4education < otimização prematura vs dívida técnica >

Slide 15

Slide 15 text

Globalcode – Open4education

Slide 16

Slide 16 text

Globalcode – Open4education

Slide 17

Slide 17 text

Globalcode – Open4education Seus testes de aceitação são automatizados? Questionamento.

Slide 18

Slide 18 text

Globalcode – Open4education Seguimos algum padrão na escrita de testes de aceitação? Questionamento.

Slide 19

Slide 19 text

Globalcode – Open4education Sugestão: PO + QA

Slide 20

Slide 20 text

Globalcode – Open4education

Slide 21

Slide 21 text

Globalcode – Open4education

Slide 22

Slide 22 text

Globalcode – Open4education “Melhor não mexer no código, não faço idéia de como funciona, só fulano conhece ele.” Um desenvolvedor por aí.

Slide 23

Slide 23 text

Globalcode – Open4education “Estão sabendo? Ciclano pediu demissão, quem dará manutenção agora? Vai sobrar para nós!” Outro desenvolvedor por aí.

Slide 24

Slide 24 text

Globalcode – Open4education “Temos uma dependência no sistema que fulano domina. Ele anda ocupado e precisamos continuar com a demanda... Mais um desenvolvedor por aí.

Slide 25

Slide 25 text

Globalcode – Open4education “Impedimentos”

Slide 26

Slide 26 text

Globalcode – Open4education

Slide 27

Slide 27 text

Globalcode – Open4education

Slide 28

Slide 28 text

Globalcode – Open4education

Slide 29

Slide 29 text

Globalcode – Open4education Como nossos times trabalham a programação pareada? Questionamento.

Slide 30

Slide 30 text

Globalcode – Open4education Transcenda a programação pareada! Experimente!

Slide 31

Slide 31 text

Globalcode – Open4education Sugestão: PO + QA

Slide 32

Slide 32 text

Globalcode – Open4education Sugestão: DEV + QA

Slide 33

Slide 33 text

Globalcode – Open4education

Slide 34

Slide 34 text

Globalcode – Open4education

Slide 35

Slide 35 text

Globalcode – Open4education “O que ciclano estava pensando quando fez isso? Está difícil de entender essa código!” Mais uma “vítima” do código alheio.

Slide 36

Slide 36 text

Globalcode – Open4education “Este código é o mapa do inferno! Nem sei por onde começar e tenho que analisar para ontem.” Outra “vítima” do código alheio.

Slide 37

Slide 37 text

Globalcode – Open4education Estabeleça um padrão! Os desenvolvedores agradecem. :)

Slide 38

Slide 38 text

Globalcode – Open4education Dicas para a próxima segunda-feira... • Crie style guide para código • Java, Python, JS... • Crie style guide para commits • GitCop • Utilize lint para verificar seus códigos • Inclua na sua pipeline de CI • … • ... • Revise os pontos anteriores periodicamente!

Slide 39

Slide 39 text

Globalcode – Open4education

Slide 40

Slide 40 text

Globalcode – Open4education

Slide 41

Slide 41 text

Globalcode – Open4education “Não temos tempo para refatorar essa parte, faça o mais simples mesmo!” Tempo inimigo do desenvolvedor.

Slide 42

Slide 42 text

Globalcode – Open4education “Não mexa no que está funcionando! Se não deu problema até hoje, provavelmente não dará.” Melhorar? Deixa assim mesmo.

Slide 43

Slide 43 text

Globalcode – Open4education Estabeleça tempo para o time melhorar o código! O desenvolvedor e seu produto agradecem. :P

Slide 44

Slide 44 text

Globalcode – Open4education - Didático - Bad smells vs refactoring - Ferramenta para facilitação no time

Slide 45

Slide 45 text

Globalcode – Open4education

Slide 46

Slide 46 text

Globalcode – Open4education

Slide 47

Slide 47 text

Globalcode – Open4education Build: 10 minutos, 30 minutos, a cada hora, a cada commit, diariamente. Código sempre pronto!

Slide 48

Slide 48 text

Globalcode – Open4education < “R.I.P.” GMUD > Confiança! A base das relações humanas. Continuous Deploy Continuous Integration Continuous Delivery

Slide 49

Slide 49 text

Globalcode – Open4education

Slide 50

Slide 50 text

Globalcode – Open4education

Slide 51

Slide 51 text

Globalcode – Open4education < código mais simples vs solução mais simples > Tem diferença!

Slide 52

Slide 52 text

Globalcode – Open4education “test && commit || revert” by Kent Beck Outra alternativa...

Slide 53

Slide 53 text

Globalcode – Open4education

Slide 54

Slide 54 text

Globalcode – Open4education < Sprint até meia-noite? >

Slide 55

Slide 55 text

Globalcode – Open4education

Slide 56

Slide 56 text

Globalcode – Open4education “Thoughts: XP Revisited” (Ron Jeffries)

Slide 57

Slide 57 text

Globalcode – Open4education Referências [Ron Jeffries] Developers Should Abandon Agile [Kent Beck] eXtreme Programming Explained: Embrace Change [Vinícius Teles] Extreme Programming [Daniel Wildt et al.] eXtreme Programming: Práticas para o dia a dia no desenvolvimento ágil de software [Maurício Aniche] Test-Driven Development: Teste e Design no Mundo Real [Version One] 12th Annual State of Agile Report

Slide 58

Slide 58 text

Globalcode – Open4education < Referências > [Ron Jeffries] Developers Should Abandon Agile [Kent Beck] eXtreme Programming Explained: Embrace Change [Vinícius Teles] Extreme Programming [Daniel Wildt et al.] eXtreme Programming: Práticas para o dia a dia no desenvolvimento ágil de software [Maurício Aniche] Test-Driven Development: Teste e Design no Mundo Real [Version One] 12th Annual State of Agile Report

Slide 59

Slide 59 text

Globalcode – Open4education < Referências > [Joshua Partogi] 5 reasons why eXtreme Programming isn’t popular [Ron Jeffries] Thoughts: XP Revisited [Kent Beck] test && commit || revert [QWAN] Quality Without A Name [Martin Fowler] Continuous Integration