SlideShare une entreprise Scribd logo
1  sur  26
Times ágeis
        e o desenvolvimento
             de software




     As pessoas e a articulação,
o convívio e a aprendizagem contínua.
                                        Gilmar Pupo
   As equipes de alta performance
                                          @gpupo
      e o diferencial competitivo
Sobre @gpupo
• Desenvolvedor e consultor em GTI
• Dependente de documentação, bookmarks e
  anotações
• Doctrine ORM, Symfony, Perl, Bash, Linux,
  jQuery e o que funcionar...
• Membro e co-fundador do #maisagil
• Empreendedor no @hotellinux

         www.gilmar.eti.br   www.gpupo.com




                                             Times ágeis. @gpupo
Sobre arquitetura
Arquitetura
• Se você é verdadeiramente Ágil, a
  arquitetura projetada por ti deve
  saber acomodar mudanças. Não só
  em tempo de projeto, mas durante
  todo o ciclo de vida de um sistema.




                              Times ágeis. @gpupo
Débito técnico


Todo código que
compromete o
produto ou o futuro
do projeto

                     Times ágeis. @gpupo
Débito técnico
     Intencional

“Fazer o refactoring
para abrigar a nova
funcionalidade nos
custará 5 dias...

                     Times ágeis. @gpupo
Débito técnico
      Intencional

“... utilizar a arquitetura
atual, mesmo que
entortando alguns
conceitos, nos custará 1
dia...”

                      Times ágeis. @gpupo
Débito técnico
     Intencional

“... nossa entrega é
no meio desta semana
e a multa por atraso é
indecente.”

                     Times ágeis. @gpupo
Débito técnico
          Não Intencional
•    Uma equipe técnica iniciante falha
    ao enxergar uma solução que não
    comprometa o futuro do projeto.




                                Times ágeis. @gpupo
Débito técnico
          Não Intencional
•     O PO é negligente ao considerar os
    riscos de suas ações, não considera
    os argumentos da equipe técnica e
    falha ao avaliar as necessidades de
    médio e longo prazo de seu projeto




                                 Times ágeis. @gpupo
Débito técnico
       Não Intencional
• O imponderável, algo que não pode
  ser antecipado nem por uma equipe
  sênior. Isto é comum a trabalhos de
  pesquisa e desenvolvimento de
  cunho científico




                              Times ágeis. @gpupo
12 passos para um código
       melhor  (the Joel test)




Do you use source control?
12 passos para um código
       melhor  (the Joel test)




Can you make a build in one
          step?
12 passos para um código
      melhor  (the Joel test)




Do you make daily builds?
12 passos para um código
       melhor  (the Joel test)




Do you have a bug database?
12 passos para um código
       melhor    (the Joel test)




Do you fix bugs before writing
          new code?
12 passos para um código
      melhor  (the Joel test)




Do you have an up-to-date
        schedule?
12 passos para um código
      melhor  (the Joel test)




  Do you have a spec?
12 passos para um código
      melhor  (the Joel test)




Do programmers have quiet
    working conditions?
12 passos para um código
            melhor                         (the Joel test)




   Do programmers have quiet
       working conditions?
Agradável, Poucas interrupções, Possibilita HardFocus
12 passos para um código
      melhor  (the Joel test)




Do you use the best tools
    money can buy?
12 passos para um código
      melhor  (the Joel test)




  Do you have testers?
12 passos para um código
       melhor   (the Joel test)




Do new candidates write code
   during their interview?
12 passos para um código
      melhor   (the Joel test)




Do you do hallway usability
        testing?
Keep
knowledge
in plain
text

Contenu connexe

Tendances

Tendances (20)

[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
Agilidade NÃO é para desenvolvedores! - Agile Brazil 2018
 
Enter SCRUM
Enter SCRUMEnter SCRUM
Enter SCRUM
 
Testes de software
Testes de softwareTestes de software
Testes de software
 
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
Cornucópia – um agile game para facilitar a codificação segura - Agile Trends...
 
SETIC Scrum & XP
SETIC Scrum & XPSETIC Scrum & XP
SETIC Scrum & XP
 
Testes de software automatizados
Testes de software automatizadosTestes de software automatizados
Testes de software automatizados
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
 
aGITe antes de versionar
aGITe antes de versionaraGITe antes de versionar
aGITe antes de versionar
 
Sete dicas para criar produtos inovadores na Era das Tecnologias Disruptivas
Sete dicas para criar produtos inovadores na Era das Tecnologias DisruptivasSete dicas para criar produtos inovadores na Era das Tecnologias Disruptivas
Sete dicas para criar produtos inovadores na Era das Tecnologias Disruptivas
 
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
TDC2016POA | Trilha Ruby - Hora da aventura! Vamos melhorar seu código?!?
 
Agilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC FlorianópolisAgilidade é para desenvolvedores? TDC Florianópolis
Agilidade é para desenvolvedores? TDC Florianópolis
 
Evolução cultural: Criando times de alto desempenho no Elo7
Evolução cultural: Criando times de alto desempenho no Elo7Evolução cultural: Criando times de alto desempenho no Elo7
Evolução cultural: Criando times de alto desempenho no Elo7
 
Como se tornar Agile Tester
Como se tornar Agile TesterComo se tornar Agile Tester
Como se tornar Agile Tester
 
Lab metodologia
Lab metodologiaLab metodologia
Lab metodologia
 
#Qualidade decodigo
#Qualidade decodigo#Qualidade decodigo
#Qualidade decodigo
 
Lean software testing
Lean software testing Lean software testing
Lean software testing
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
 
PARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QAPARE, entenda seu contexto e contribua de maneira efetiva como QA
PARE, entenda seu contexto e contribua de maneira efetiva como QA
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 

Similaire à 12 passos para um código melhor

Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Giovani Elísio Silva
 

Similaire à 12 passos para um código melhor (20)

Big design up front (BDUF)
Big design up front (BDUF)Big design up front (BDUF)
Big design up front (BDUF)
 
Introdução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de DesenvolvimentoIntrodução às Metodologias Ágeis de Desenvolvimento
Introdução às Metodologias Ágeis de Desenvolvimento
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!Porque você precisa de uma estratégia de QA e precisa disso AGORA!
Porque você precisa de uma estratégia de QA e precisa disso AGORA!
 
Coding Dojo - Unreal Engine
Coding Dojo - Unreal EngineCoding Dojo - Unreal Engine
Coding Dojo - Unreal Engine
 
Extreme programming (xp) - Resumo
Extreme programming (xp) - ResumoExtreme programming (xp) - Resumo
Extreme programming (xp) - Resumo
 
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - KanbanMetodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
Metodologias Ágeis para Gestão e Planejamento de Projetos Scrum - XP - Kanban
 
Apresentação Executiva
Apresentação ExecutivaApresentação Executiva
Apresentação Executiva
 
Introdução ao XP
Introdução ao XPIntrodução ao XP
Introdução ao XP
 
Sobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis UberlândiaSobre TDD - Tech Friday da Everis Uberlândia
Sobre TDD - Tech Friday da Everis Uberlândia
 
Scrum
ScrumScrum
Scrum
 
Agilidade: Scrum e Xp
Agilidade: Scrum e XpAgilidade: Scrum e Xp
Agilidade: Scrum e Xp
 
Implementing lean software development
Implementing lean software developmentImplementing lean software development
Implementing lean software development
 
Scrum em 1h.
Scrum em 1h.Scrum em 1h.
Scrum em 1h.
 
Modelo ágil
Modelo ágilModelo ágil
Modelo ágil
 
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de ProjetosUma abordagem às Metodologias Ágeis em Gerência de Projetos
Uma abordagem às Metodologias Ágeis em Gerência de Projetos
 
Curso Scrum
Curso ScrumCurso Scrum
Curso Scrum
 
A Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao SêniorA Carreira de Desenvolvedor: do Jr ao Sênior
A Carreira de Desenvolvedor: do Jr ao Sênior
 
Extreme Programming (XP) e Scrum
Extreme Programming (XP) e ScrumExtreme Programming (XP) e Scrum
Extreme Programming (XP) e Scrum
 
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software LeanMinicurso: Uma Introdução ao Desenvolvimento de Software Lean
Minicurso: Uma Introdução ao Desenvolvimento de Software Lean
 

Dernier

Dernier (8)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 

12 passos para um código melhor

  • 1. Times ágeis e o desenvolvimento de software As pessoas e a articulação, o convívio e a aprendizagem contínua. Gilmar Pupo As equipes de alta performance @gpupo e o diferencial competitivo
  • 2. Sobre @gpupo • Desenvolvedor e consultor em GTI • Dependente de documentação, bookmarks e anotações • Doctrine ORM, Symfony, Perl, Bash, Linux, jQuery e o que funcionar... • Membro e co-fundador do #maisagil • Empreendedor no @hotellinux www.gilmar.eti.br www.gpupo.com Times ágeis. @gpupo
  • 4.
  • 5. Arquitetura • Se você é verdadeiramente Ágil, a arquitetura projetada por ti deve saber acomodar mudanças. Não só em tempo de projeto, mas durante todo o ciclo de vida de um sistema. Times ágeis. @gpupo
  • 6. Débito técnico Todo código que compromete o produto ou o futuro do projeto Times ágeis. @gpupo
  • 7. Débito técnico Intencional “Fazer o refactoring para abrigar a nova funcionalidade nos custará 5 dias... Times ágeis. @gpupo
  • 8. Débito técnico Intencional “... utilizar a arquitetura atual, mesmo que entortando alguns conceitos, nos custará 1 dia...” Times ágeis. @gpupo
  • 9. Débito técnico Intencional “... nossa entrega é no meio desta semana e a multa por atraso é indecente.” Times ágeis. @gpupo
  • 10. Débito técnico Não Intencional • Uma equipe técnica iniciante falha ao enxergar uma solução que não comprometa o futuro do projeto. Times ágeis. @gpupo
  • 11. Débito técnico Não Intencional • O PO é negligente ao considerar os riscos de suas ações, não considera os argumentos da equipe técnica e falha ao avaliar as necessidades de médio e longo prazo de seu projeto Times ágeis. @gpupo
  • 12. Débito técnico Não Intencional • O imponderável, algo que não pode ser antecipado nem por uma equipe sênior. Isto é comum a trabalhos de pesquisa e desenvolvimento de cunho científico Times ágeis. @gpupo
  • 13. 12 passos para um código melhor (the Joel test) Do you use source control?
  • 14. 12 passos para um código melhor (the Joel test) Can you make a build in one step?
  • 15. 12 passos para um código melhor (the Joel test) Do you make daily builds?
  • 16. 12 passos para um código melhor (the Joel test) Do you have a bug database?
  • 17. 12 passos para um código melhor (the Joel test) Do you fix bugs before writing new code?
  • 18. 12 passos para um código melhor (the Joel test) Do you have an up-to-date schedule?
  • 19. 12 passos para um código melhor (the Joel test) Do you have a spec?
  • 20. 12 passos para um código melhor (the Joel test) Do programmers have quiet working conditions?
  • 21. 12 passos para um código melhor (the Joel test) Do programmers have quiet working conditions? Agradável, Poucas interrupções, Possibilita HardFocus
  • 22. 12 passos para um código melhor (the Joel test) Do you use the best tools money can buy?
  • 23. 12 passos para um código melhor (the Joel test) Do you have testers?
  • 24. 12 passos para um código melhor (the Joel test) Do new candidates write code during their interview?
  • 25. 12 passos para um código melhor (the Joel test) Do you do hallway usability testing?