SlideShare una empresa de Scribd logo
1 de 92
Descargar para leer sin conexión
A Maldição da Fábrica
  de Software Ágil
       Phillip Calçado
       ThoughtWorks
          http://fragmental.tw
      http://blog.fragmental.com.br
      http://www.thoughtworks.com
Quem?


Phillip Calçado
Quem?

    Consultor



Phillip Calçado
Quem?

Coach   Consultor



Phillip Calçado
Quem?

Coach   Consultor



Phillip Calçado
         Blogueiro
Quem?

Coach   Consultor   ~8 Anos Indústria

Phillip Calçado
         Blogueiro
Quem?

Coach   Consultor   ~8 Anos Indústria

Phillip Calçado



                                   5 Anos Agile
         Blogueiro
Quem?

               Coach               ~8 Anos Indústria
ThoughtWorks
                       Consultor



               Phillip Calçado



                                                  5 Anos Agile
                        Blogueiro
Quem?

               Coach                ~8 Anos Indústria
ThoughtWorks
                        Consultor



               Phillip Calçado



                                                   5 Anos Agile
               Australia Blogueiro
Quem?

               Coach                ~8 Anos Indústria
ThoughtWorks
                        Consultor



               Phillip Calçado



                                                   5 Anos Agile
                    Desenvolvedor
               Australia Blogueiro
VIDA DE CONSULTOR
Projeto #1
•Empresa tradicional
•Equipe de alto nível
•Adoção ágil salvou o projeto
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
                            como usuario
                             eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10 11
Projeto #2
•Equipe não tão excelente
•Prazo muito curto
•2 Arquitetos
•“Um pouco” de Design Up-Front
“para amenizar refactoring”
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo   Pronto
 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
Pra Fazer       Fazendo          Pronto
                  como usuario
                   eu quero fa


 como usuario
  eu quero fa


 como usuario
  eu quero fa
0 1 2 3 4 5 6 7 8 9 10 11
0 1 2 3 4 5 6 7 8 9 10 11
Versão 1.0
•Todas as funcionalidades priorizadas
•Entregue em metade do tempo
Versão 1.0
•Todas as funcionalidades priorizadas
•Entregue em metade do tempo


Versão 1.1
•Meia-dúzia de novas funcionalidades
•Após duas iterações time resolve
reescrever do zero - código é ilegível
Causa Mortis?
Quebra de Ciclo




         como usuario
          eu quero fa
Quebra de Ciclo #1
Quebra de Ciclo #1
Quebra de Ciclo #1

       =1 X/dia
Quebra de Ciclo #1

       =1 X/dia
Quebra de Ciclo #1

       =1 X/dia

             Um
       =    Montão
           de X/dia
Quebra de Ciclo #1
  Comunicação
   Constante
       +
     Testes
       +
Código Expressivo
Quebra de Ciclo #1
  Comunicação
   Constante
       +
     Testes
       +
Código Expressivo
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo


                             Documentação
                                Mínima
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo


       Evita Desperdício     Documentação
                                Mínima
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo


                             Documentação
                                Mínima
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo


                             Documentação
                                Mínima
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo


                             Documentação
                                Mínima
Quebra de Ciclo #1
  Comunicação
   Constante
                                Visão
       +                     Compartilhada
     Testes
       +
Código Expressivo
Quebra de Ciclo #2
Quebra de Ciclo #2
= $100
= $1
Quebra de Ciclo #2
= $100
= $1
Quebra de Ciclo #2
= $100                  Nem
                    = Ferrando!
= $1
Quebra de Ciclo #2
= $100                  Nem
                    = Ferrando!
= $1
Quebra de Ciclo #2
= $100                  Nem
                    = Ferrando!
= $1
Quebra de Ciclo #2

Refactoring
     +
  Testes
Quebra de Ciclo #2

Refactoring
     +
  Testes
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes




                        BDUF
                     Desnecessário
Quebra de Ciclo #2

Refactoring
                       Qualidade
     +                  Código
  Testes




  Evita Desperdício      BDUF
                      Desnecessário
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes




                        BDUF
                     Desnecessário
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes




                        BDUF
                     Desnecessário
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes




                        BDUF
                     Desnecessário
Quebra de Ciclo #2

Refactoring
                      Qualidade
     +                 Código
  Testes
Então... adaptar
metodologias ou não?
Sim, sabendo o que
   está fazendo.
...sabendo o que está fazendo.


         Experiência
         é o melhor guia
...sabendo o que está fazendo.


         Estudar os
         Conceitos
...sabendo o que está fazendo.


          No pain no
          gain.
...sabendo o que está fazendo.

         Lembre-se
         que você
         desenvolve
         software
...sabendo o que está fazendo.

          Experimente
          antes de
          jogar fora.
...sabendo o que está fazendo.

          Entenda
          antes de
          jogar fora.
...sabendo o que está fazendo.


         Introdução é
         exceção
...sabendo o que está fazendo.

         Cuidado com
         quem se
         contrata
...sabendo o que está fazendo.

         Só melhoria
         contínua
         salva
?
Obrigado!

http://blog.fragmental.com.br
    http://fragmental.tw
http://www.thoughtworks.com

Más contenido relacionado

Destacado

Contratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilContratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilHerbert Parente
 
Trabalho Fábrica de Softwares baseado em ISO 9001:2008
Trabalho Fábrica de Softwares baseado em ISO 9001:2008Trabalho Fábrica de Softwares baseado em ISO 9001:2008
Trabalho Fábrica de Softwares baseado em ISO 9001:2008Claudio Cardozo
 
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...Fatto Consultoria e Sistemas
 
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialFábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialStrada .
 
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Claudio Cardozo
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumGustavo Quezada
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de softwareAlan Correa Morais
 
Fábrica de software a necessidade de adaptação da estrutura organizacional
Fábrica de software   a necessidade de adaptação da estrutura organizacionalFábrica de software   a necessidade de adaptação da estrutura organizacional
Fábrica de software a necessidade de adaptação da estrutura organizacionalCristiane Xavier
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...Welington Monteiro
 
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.GeneXus
 
Fábrica de Software e Desenvolvimento Web - Bate-Papo
Fábrica de Software e Desenvolvimento Web - Bate-PapoFábrica de Software e Desenvolvimento Web - Bate-Papo
Fábrica de Software e Desenvolvimento Web - Bate-PapoEduardo Alves
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra
 
Fábrica de Software
Fábrica de SoftwareFábrica de Software
Fábrica de SoftwareVenki
 
Processos de fábrica de software - MPS.BR + Lean
Processos de fábrica de software - MPS.BR + LeanProcessos de fábrica de software - MPS.BR + Lean
Processos de fábrica de software - MPS.BR + LeanVanderlei Sbaraini Amancio
 
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Leonardo Molinari
 
Apresentação Fabrica de Software - Senac MS
Apresentação Fabrica de Software - Senac MSApresentação Fabrica de Software - Senac MS
Apresentação Fabrica de Software - Senac MSSamuel Cavalcante
 
Curso sobre Gerenciamento de Fábrica de Software
Curso sobre Gerenciamento de Fábrica de SoftwareCurso sobre Gerenciamento de Fábrica de Software
Curso sobre Gerenciamento de Fábrica de SoftwareIvan Luizio Magalhães
 

Destacado (19)

Contratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia ÁgilContratação de Fábrica de Software com Metodologia Ágil
Contratação de Fábrica de Software com Metodologia Ágil
 
Trabalho Fábrica de Softwares baseado em ISO 9001:2008
Trabalho Fábrica de Softwares baseado em ISO 9001:2008Trabalho Fábrica de Softwares baseado em ISO 9001:2008
Trabalho Fábrica de Softwares baseado em ISO 9001:2008
 
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...
Métricas para Contratação de Fábrica de Software - Pontos de Função - ENCOSEP...
 
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialFábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
 
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008Apresentação Fábrica de Softwares baseado em ISO 9001:2008
Apresentação Fábrica de Softwares baseado em ISO 9001:2008
 
Participação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos ScrumParticipação do Time de Teste em Projetos Scrum
Participação do Time de Teste em Projetos Scrum
 
Projeto arrastão projeto fábrica de software
Projeto arrastão   projeto fábrica de softwareProjeto arrastão   projeto fábrica de software
Projeto arrastão projeto fábrica de software
 
Fábrica de software a necessidade de adaptação da estrutura organizacional
Fábrica de software   a necessidade de adaptação da estrutura organizacionalFábrica de software   a necessidade de adaptação da estrutura organizacional
Fábrica de software a necessidade de adaptação da estrutura organizacional
 
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...Vi ebts   implantação de fábrica de teste - desafios, resultados e melhores p...
Vi ebts implantação de fábrica de teste - desafios, resultados e melhores p...
 
Fábrica de Software
Fábrica de SoftwareFábrica de Software
Fábrica de Software
 
Apresentação3 fabrica de software
Apresentação3 fabrica de softwareApresentação3 fabrica de software
Apresentação3 fabrica de software
 
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.
MPS Br em fábrica de Software com GeneXus, GXserver e GXtest.
 
Fábrica de Software e Desenvolvimento Web - Bate-Papo
Fábrica de Software e Desenvolvimento Web - Bate-PapoFábrica de Software e Desenvolvimento Web - Bate-Papo
Fábrica de Software e Desenvolvimento Web - Bate-Papo
 
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de SoftwareDextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
Dextra Sistemas: A linguagem PHP no modelo de Fábrica de Software
 
Fábrica de Software
Fábrica de SoftwareFábrica de Software
Fábrica de Software
 
Processos de fábrica de software - MPS.BR + Lean
Processos de fábrica de software - MPS.BR + LeanProcessos de fábrica de software - MPS.BR + Lean
Processos de fábrica de software - MPS.BR + Lean
 
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
Palestra - Claudia Hazan na Isma - Armadilhas em Contratos de Fábrica de Soft...
 
Apresentação Fabrica de Software - Senac MS
Apresentação Fabrica de Software - Senac MSApresentação Fabrica de Software - Senac MS
Apresentação Fabrica de Software - Senac MS
 
Curso sobre Gerenciamento de Fábrica de Software
Curso sobre Gerenciamento de Fábrica de SoftwareCurso sobre Gerenciamento de Fábrica de Software
Curso sobre Gerenciamento de Fábrica de Software
 

Similar a A Maldição da Fábrica de Software Ágil (The Curse of the Agile Software Factory)

Scrum - Framework, Competências e Valores (versão community)
Scrum -  Framework, Competências e Valores (versão community)Scrum -  Framework, Competências e Valores (versão community)
Scrum - Framework, Competências e Valores (versão community)Manoel Pimentel Medeiros
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro LocawebFabio Akita
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb CuritibaFabio Akita
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoraçãoguest23778e
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme ProgrammingMilfont Consulting
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugsSarah Pimentel
 
Agile Brazil 2013 - Resumo
Agile Brazil 2013 - ResumoAgile Brazil 2013 - Resumo
Agile Brazil 2013 - ResumoBruno Nardini
 
Gestão de Projetos com foco em Agilidade
Gestão de Projetos com foco em AgilidadeGestão de Projetos com foco em Agilidade
Gestão de Projetos com foco em AgilidadeDaniel Mello
 
Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Flavia Fortes
 
Test-Driven Development - Introdução
Test-Driven Development - IntroduçãoTest-Driven Development - Introdução
Test-Driven Development - IntroduçãoHélio Costa e Silva
 
Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPlucianocoelho
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de UnidadeAndre Baltieri
 

Similar a A Maldição da Fábrica de Software Ágil (The Curse of the Agile Software Factory) (20)

Palestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnitPalestra Testes De Unidade Com JUnit
Palestra Testes De Unidade Com JUnit
 
Scrum - Framework, Competências e Valores (versão community)
Scrum -  Framework, Competências e Valores (versão community)Scrum -  Framework, Competências e Valores (versão community)
Scrum - Framework, Competências e Valores (versão community)
 
Scrum, Agilismo e Boas Práticas
Scrum, Agilismo e Boas PráticasScrum, Agilismo e Boas Práticas
Scrum, Agilismo e Boas Práticas
 
Encontro Locaweb
Encontro  LocawebEncontro  Locaweb
Encontro Locaweb
 
Encontro Locaweb Curitiba
Encontro  Locaweb CuritibaEncontro  Locaweb Curitiba
Encontro Locaweb Curitiba
 
Bdd e ci
Bdd e ciBdd e ci
Bdd e ci
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoração
 
Testes e Refatoração
Testes e RefatoraçãoTestes e Refatoração
Testes e Refatoração
 
Apresentando Extreme Programming
Apresentando Extreme ProgrammingApresentando Extreme Programming
Apresentando Extreme Programming
 
Quero ser um caçador de bugs
Quero ser um caçador de bugsQuero ser um caçador de bugs
Quero ser um caçador de bugs
 
Agile Brazil 2013 - Resumo
Agile Brazil 2013 - ResumoAgile Brazil 2013 - Resumo
Agile Brazil 2013 - Resumo
 
Gestão de Projetos com foco em Agilidade
Gestão de Projetos com foco em AgilidadeGestão de Projetos com foco em Agilidade
Gestão de Projetos com foco em Agilidade
 
Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby Quais são os erros mais comuns de um programador ruby
Quais são os erros mais comuns de um programador ruby
 
Test-Driven Development - Introdução
Test-Driven Development - IntroduçãoTest-Driven Development - Introdução
Test-Driven Development - Introdução
 
Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2Ctai Teste De Software Aula 2
Ctai Teste De Software Aula 2
 
Testes
TestesTestes
Testes
 
Desenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XPDesenvolvimento Ágil com Scrum e XP
Desenvolvimento Ágil com Scrum e XP
 
Liderança e Kanban
Liderança e KanbanLiderança e Kanban
Liderança e Kanban
 
Liderando Equipes Ágeis
Liderando Equipes ÁgeisLiderando Equipes Ágeis
Liderando Equipes Ágeis
 
Refatorando para Testes de Unidade
Refatorando para Testes de UnidadeRefatorando para Testes de Unidade
Refatorando para Testes de Unidade
 

Más de Phil Calçado

the afterparty: refactoring after 100x hypergrowth
the afterparty: refactoring after 100x hypergrowththe afterparty: refactoring after 100x hypergrowth
the afterparty: refactoring after 100x hypergrowthPhil Calçado
 
don't try this at home: self-improvement as a senior leader
don't try this at home: self-improvement as a senior leaderdon't try this at home: self-improvement as a senior leader
don't try this at home: self-improvement as a senior leaderPhil Calçado
 
The Economics of Microservices (redux)
The Economics of Microservices (redux)The Economics of Microservices (redux)
The Economics of Microservices (redux)Phil Calçado
 
From microservices to serverless - Chicago CTO Summit 2019
From microservices to serverless - Chicago CTO Summit 2019From microservices to serverless - Chicago CTO Summit 2019
From microservices to serverless - Chicago CTO Summit 2019Phil Calçado
 
The Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessThe Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessPhil Calçado
 
Ten Years of Failing Microservices
Ten Years of Failing MicroservicesTen Years of Failing Microservices
Ten Years of Failing MicroservicesPhil Calçado
 
The Next Generation of Microservices
The Next Generation of MicroservicesThe Next Generation of Microservices
The Next Generation of MicroservicesPhil Calçado
 
The Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 BrisbaneThe Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 BrisbanePhil Calçado
 
The Economics of Microservices (2017 CraftConf)
The Economics of Microservices  (2017 CraftConf)The Economics of Microservices  (2017 CraftConf)
The Economics of Microservices (2017 CraftConf)Phil Calçado
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Phil Calçado
 
Finagle @ SoundCloud
Finagle @ SoundCloudFinagle @ SoundCloud
Finagle @ SoundCloudPhil Calçado
 
A Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsA Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsPhil Calçado
 
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Phil Calçado
 
Rhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a FunctionRhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a FunctionPhil Calçado
 
ScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a FunctionScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a FunctionPhil Calçado
 
Finagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloudFinagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloudPhil Calçado
 
An example of Future composition in a real app
An example of Future composition in a real appAn example of Future composition in a real app
An example of Future composition in a real appPhil Calçado
 
APIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog FoodAPIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog FoodPhil Calçado
 
Evolutionary Architecture at Work
Evolutionary  Architecture at WorkEvolutionary  Architecture at Work
Evolutionary Architecture at WorkPhil Calçado
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in ScalaPhil Calçado
 

Más de Phil Calçado (20)

the afterparty: refactoring after 100x hypergrowth
the afterparty: refactoring after 100x hypergrowththe afterparty: refactoring after 100x hypergrowth
the afterparty: refactoring after 100x hypergrowth
 
don't try this at home: self-improvement as a senior leader
don't try this at home: self-improvement as a senior leaderdon't try this at home: self-improvement as a senior leader
don't try this at home: self-improvement as a senior leader
 
The Economics of Microservices (redux)
The Economics of Microservices (redux)The Economics of Microservices (redux)
The Economics of Microservices (redux)
 
From microservices to serverless - Chicago CTO Summit 2019
From microservices to serverless - Chicago CTO Summit 2019From microservices to serverless - Chicago CTO Summit 2019
From microservices to serverless - Chicago CTO Summit 2019
 
The Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to ServerlessThe Not-So-Straightforward Road From Microservices to Serverless
The Not-So-Straightforward Road From Microservices to Serverless
 
Ten Years of Failing Microservices
Ten Years of Failing MicroservicesTen Years of Failing Microservices
Ten Years of Failing Microservices
 
The Next Generation of Microservices
The Next Generation of MicroservicesThe Next Generation of Microservices
The Next Generation of Microservices
 
The Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 BrisbaneThe Next Generation of Microservices — YOW 2017 Brisbane
The Next Generation of Microservices — YOW 2017 Brisbane
 
The Economics of Microservices (2017 CraftConf)
The Economics of Microservices  (2017 CraftConf)The Economics of Microservices  (2017 CraftConf)
The Economics of Microservices (2017 CraftConf)
 
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
Microservices vs. The First Law of Distributed Objects - GOTO Nights Chicago ...
 
Finagle @ SoundCloud
Finagle @ SoundCloudFinagle @ SoundCloud
Finagle @ SoundCloud
 
A Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing OrganisationsA Brief Talk On High-Performing Organisations
A Brief Talk On High-Performing Organisations
 
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
Three Years of Microservices at SoundCloud - Distributed Matters Berlin 2015
 
Rhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a FunctionRhein-Main Scala Enthusiasts — Your microservice as a Function
Rhein-Main Scala Enthusiasts — Your microservice as a Function
 
ScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a FunctionScalaItaly 2015 - Your Microservice as a Function
ScalaItaly 2015 - Your Microservice as a Function
 
Finagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloudFinagle-Based Microservices at SoundCloud
Finagle-Based Microservices at SoundCloud
 
An example of Future composition in a real app
An example of Future composition in a real appAn example of Future composition in a real app
An example of Future composition in a real app
 
APIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog FoodAPIs: The Problems with Eating your Own Dog Food
APIs: The Problems with Eating your Own Dog Food
 
Evolutionary Architecture at Work
Evolutionary  Architecture at WorkEvolutionary  Architecture at Work
Evolutionary Architecture at Work
 
Structuring apps in Scala
Structuring apps in ScalaStructuring apps in Scala
Structuring apps in Scala
 

A Maldição da Fábrica de Software Ágil (The Curse of the Agile Software Factory)

  • 1. A Maldição da Fábrica de Software Ágil Phillip Calçado ThoughtWorks http://fragmental.tw http://blog.fragmental.com.br http://www.thoughtworks.com
  • 3. Quem? Consultor Phillip Calçado
  • 4. Quem? Coach Consultor Phillip Calçado
  • 5. Quem? Coach Consultor Phillip Calçado Blogueiro
  • 6. Quem? Coach Consultor ~8 Anos Indústria Phillip Calçado Blogueiro
  • 7. Quem? Coach Consultor ~8 Anos Indústria Phillip Calçado 5 Anos Agile Blogueiro
  • 8. Quem? Coach ~8 Anos Indústria ThoughtWorks Consultor Phillip Calçado 5 Anos Agile Blogueiro
  • 9. Quem? Coach ~8 Anos Indústria ThoughtWorks Consultor Phillip Calçado 5 Anos Agile Australia Blogueiro
  • 10. Quem? Coach ~8 Anos Indústria ThoughtWorks Consultor Phillip Calçado 5 Anos Agile Desenvolvedor Australia Blogueiro
  • 13. •Empresa tradicional •Equipe de alto nível •Adoção ágil salvou o projeto
  • 14. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 15. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 16. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa
  • 17. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 18. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 19. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 20. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 21. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 22. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 23. 0 1 2 3 4 5 6 7 8 9 10 11
  • 24. 0 1 2 3 4 5 6 7 8 9 10 11
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 35. •Equipe não tão excelente •Prazo muito curto •2 Arquitetos •“Um pouco” de Design Up-Front “para amenizar refactoring”
  • 36. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 37. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa
  • 38. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa
  • 39. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 40. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 41. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 42. Pra Fazer Fazendo Pronto como usuario eu quero fa como usuario eu quero fa como usuario eu quero fa
  • 43. 0 1 2 3 4 5 6 7 8 9 10 11
  • 44. 0 1 2 3 4 5 6 7 8 9 10 11
  • 45. Versão 1.0 •Todas as funcionalidades priorizadas •Entregue em metade do tempo
  • 46. Versão 1.0 •Todas as funcionalidades priorizadas •Entregue em metade do tempo Versão 1.1 •Meia-dúzia de novas funcionalidades •Após duas iterações time resolve reescrever do zero - código é ilegível
  • 48. Quebra de Ciclo como usuario eu quero fa
  • 51. Quebra de Ciclo #1 =1 X/dia
  • 52. Quebra de Ciclo #1 =1 X/dia
  • 53. Quebra de Ciclo #1 =1 X/dia Um = Montão de X/dia
  • 54. Quebra de Ciclo #1 Comunicação Constante + Testes + Código Expressivo
  • 55. Quebra de Ciclo #1 Comunicação Constante + Testes + Código Expressivo
  • 56. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo
  • 57. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo
  • 58. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo Documentação Mínima
  • 59. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo Evita Desperdício Documentação Mínima
  • 60. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo Documentação Mínima
  • 61. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo Documentação Mínima
  • 62. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo Documentação Mínima
  • 63. Quebra de Ciclo #1 Comunicação Constante Visão + Compartilhada Testes + Código Expressivo
  • 65. Quebra de Ciclo #2 = $100 = $1
  • 66. Quebra de Ciclo #2 = $100 = $1
  • 67. Quebra de Ciclo #2 = $100 Nem = Ferrando! = $1
  • 68. Quebra de Ciclo #2 = $100 Nem = Ferrando! = $1
  • 69. Quebra de Ciclo #2 = $100 Nem = Ferrando! = $1
  • 70. Quebra de Ciclo #2 Refactoring + Testes
  • 71. Quebra de Ciclo #2 Refactoring + Testes
  • 72. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes
  • 73. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes
  • 74. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes BDUF Desnecessário
  • 75. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes Evita Desperdício BDUF Desnecessário
  • 76. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes BDUF Desnecessário
  • 77. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes BDUF Desnecessário
  • 78. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes BDUF Desnecessário
  • 79. Quebra de Ciclo #2 Refactoring Qualidade + Código Testes
  • 81. Sim, sabendo o que está fazendo.
  • 82. ...sabendo o que está fazendo. Experiência é o melhor guia
  • 83. ...sabendo o que está fazendo. Estudar os Conceitos
  • 84. ...sabendo o que está fazendo. No pain no gain.
  • 85. ...sabendo o que está fazendo. Lembre-se que você desenvolve software
  • 86. ...sabendo o que está fazendo. Experimente antes de jogar fora.
  • 87. ...sabendo o que está fazendo. Entenda antes de jogar fora.
  • 88. ...sabendo o que está fazendo. Introdução é exceção
  • 89. ...sabendo o que está fazendo. Cuidado com quem se contrata
  • 90. ...sabendo o que está fazendo. Só melhoria contínua salva
  • 91. ?
  • 92. Obrigado! http://blog.fragmental.com.br http://fragmental.tw http://www.thoughtworks.com