AS FACETAS DO
   DESENVOLVEDOR ÁGIL
Entendendo o desenvolvimento de software como uma arte.


                       Paulo Igor


   piagodinho@gmail.com
   @pigodinho

   blog.pigor.net
Bacharel em   Sistemas de Informação                                     e Mestre em   Ciência da
Computação                        . Há 7 anos   desenvolve sistemas,     onde atuou em projetos para o   setor

bancário, P&D, Departamento de Trânsito, Companhia de Saneamento Básico e desenvolvendo
sistemas e portais em   projetos nacionais e internacionais pela Ci&T, ministrou aulas em disciplinas ligadas
a   Engenharia de Software         e   Metodologias Ágeis,    CSM pela Scrum Alliance e atualmente trabalha como

Engenheiro de Software no projeto Idopter.
Bacharel em   Sistemas de Informação          e Mestre em   Ciência da Computação.              Há 7 anos


desenvolve sistemas                              , onde atuou em projetos para o   setor bancário, P&D,

Departamento de Trânsito, Companhia de Saneamento Básico                  e desenvolvendo sistemas e portais

em   projetos nacionais e internacionais pela Ci&T, ministrou aulas em disciplinas ligadas a Engenharia

de Software e Metodologias Ágeis, CSM pela Scrum Alliance e atualmente trabalha como Engenheiro

de Software no projeto Idopter.
Bacharel em   Sistemas de Informação       e Mestre em   Ciência da Computação.           Há 7 anos   desenvolve
sistemas,       onde atuou em projetos para o   setor bancário, P&D, Departamento de Trânsito,
Companhia de Saneamento Básico                  e desenvolvendo sistemas e portais em   projetos nacionais e

internacionais pela Ci&T,         ministrou aulas em disciplinas ligadas a   Engenharia de
Software Metodologias Ágeis
                        e                                                    , CSM pela Scrum Alliance e atualmente


trabalha como   Engenheiro de Software no projeto Idopter.
Bacharel em   Sistemas de Informação     e Mestre em   Ciência da Computação.          Há 7 anos   desenvolve
sistemas,     onde atuou em projetos para o   setor bancário, P&D, Departamento de Trânsito,
Companhia de Saneamento Básico                e desenvolvendo sistemas e portais em   projetos nacionais e
internacionais pela Ci&T,        ministrou aulas em disciplinas ligadas a   Engenharia de Software          e


Metodologias Ágeis, CSM pela Scrum Alliance e atualmente trabalha como      Engenheiro de
Software no projeto idopter                                       .
idopter.com/users/paulo-igor
VAMOS FALAR SOBRE...
AS FACETAS DO
   DESENVOLVEDOR ÁGIL
Entendendo o desenvolvimento de software como uma arte.
AS FACETAS DO
   DESENVOLVEDOR ÁGIL
Entendendo o desenvolvimento de software como uma arte.
desenvolvedor ágil


desenvolvedor tradicional
desenvolvedor ágil


desenvolvedor tradicional
desenvolvedores
  programadores
   codificadores
     analistas
engenheiros de sw
        ...
você quer ser programador?
“Grandes poderes trazem grandes
 responsabilidades” (Ben Parker)
#FAIL
pensando com o dedo...
ASPIRA!!!!
o sistema é F$∂@!!!!
“desenvolver software não é só
          codificar...”
“...tem que debugar!!!!”
Essa é uma das
fases mais longas!!!
agora eu sei o que é importante!
Qualidade
“Entender bem o problema”
“Pensar na solução antes de
começar a escrever código”
“Certificar que a solução resolve o
           problema...”
“...mas sem gerar NOVOS
        problemas!!!”
“consegue entregar software de
          qualidade”
Zen Programmer
processo criativo e de aperfeiçoamento
Qualidade
passa a encarar os problemas com naturalidade...
Pair Programming
...mas funciona!!!
Qualidade do Código
  “Clean Code” (Uncle Bob)
Refatoração
“Refactoring: Improving the Design of
   Existing Code” (Martin Fowler)
Testes
Testes Manuais
Testes Automáticos
JUnit, JBehave, TestNG, RSpec, Cumcuber, Test::Unit
Especificação Testável
Especificação Testável
    Concordion / FitNesse
Código Blindado!!!
“...da qualidade não se abre mão”
TDD / BDD
“TDD - Kent Beck / BDD - Dan North”
Design
     Evolutivo
“TDD - Kent Beck / BDD - Dan North”
DNA do Programador
Preguiçoso
Preguiçoso Criativo
Continuous
 TDD / BDD
 Integration
“TDD - Kent Beck / BDD - Dan North”
         (Martin Fowler)
Continuous Delivery
(Jez Humble e David Farley)
Continuous Delivery


• Ant / Maven
• Capistrano
...técnicas e práticas
• Clean Code
• Refatoração
• Testes automatizados
• TDD / BDD
• Pair Programming
• Continuous Integration
• Continuous Delivery
Qualidade
“Arte de
Programar”
“controlar a
   força”
“A arte de programar é
um processo criativo e
 de aperfeiçoamento”
“Treinar pra quê?”
Obrigado!
 Paulo Igor

Facetas do desenvolvedor agil