< Return to Video

Debt Metaphor

  • 0:00 - 0:02
    Metáfora
  • 0:04 - 0:11
    Comecei a me interessar sobre a forma como metáforas influenciam o nosso pensamento
  • 0:11 - 0:13
    depois de ler o livro de George Lakoff e Mark Johnson
  • 0:13 - 0:15
    "Metaphors We Live By".
  • 0:15 - 0:18
    Uma ideia importante é a de que
  • 0:18 - 0:25
    nós raciocinamos por analogia com metáforas que existem no nosso idioma.
  • 0:27 - 0:28
    Dívida
  • 0:30 - 0:34
    Eu criei a metáfora da dívida para explicar
  • 0:34 - 0:39
    o refatoramento que estávamos fazendo no aplicativo WyCash.
  • 0:39 - 0:45
    Era um software escrito em Smalltalk
  • 0:45 - 0:47
    e era importante para mim
  • 0:47 - 0:53
    que acumulássemos o aprendizado obtido sobre o aplicativo ao longo do tempo
  • 0:53 - 0:58
    modificando o programa para que parecesse
  • 0:58 - 1:02
    que nós sabíamos o tempo todo o que estávamos fazendo
  • 1:02 - 1:07
    e também para parecer que havia sido fácil fazê-lo.
  • 1:07 - 1:11
    A explicação que dei ao meu chefe, dado que era um software financeiro,
  • 1:11 - 1:15
    foi uma analogia financeira que eu chamei de "a metáfora da dívida".
  • 1:15 - 1:21
    Eu disse que se falhássemos em fazer o nosso programa se alinhar
  • 1:21 - 1:28
    com o que entendíamos ser a forma apropriada de se pensar a respeito dos objetos financeiros
  • 1:28 - 1:34
    então iríamos continuamente tropeçar nesse desacordo, e isso iria deter o nosso avanço,
  • 1:34 - 1:36
    seria como pagar os juros de uma dívida.
  • 1:37 - 1:39
    Velocidade
  • 1:40 - 1:45
    Com dinheiro emprestado você pode fazer coisas mais cedo do que poderia sem ele
  • 1:45 - 1:51
    mas até que você pague de volta este dinheiro, você estará pagando juros.
  • 1:51 - 1:56
    Eu achava que pegar dinheiro emprestado era uma boa ideia,
  • 1:56 - 1:59
    eu achava que entregar software rapidamente,
  • 1:59 - 2:02
    a fim de ganhar alguma experiência com ele, era uma boa ideia
  • 2:02 - 2:07
    mas é claro, em algum momento você teria que voltar
  • 2:07 - 2:13
    e ao aprender coisas a respeito do software, você iria pagar aquele empréstimo
  • 2:13 - 2:20
    refatorando o programa para refletir o entendimento que você adquiriu.
  • 2:20 - 2:22
    Carga
  • 2:23 - 2:28
    Acho que há muitos casos em que as pessoas entregam software rapidamente
  • 2:28 - 2:34
    e aprendem coisas, mas nunca colocam aquele aprendizado de volta no programa
  • 2:34 - 2:39
    e por analogia, isso é como
  • 2:39 - 2:43
    pegar dinheiro emprestado achando que você nunca precisará pagá-lo.
  • 2:43 - 2:45
    É claro que, se você fizer isso,
  • 2:45 - 2:47
    com seu cartão de crédito, por exemplo,
  • 2:47 - 2:50
    eventualmente todo a sua renda será para pagar os juros
  • 2:50 - 2:52
    e seu poder de compra vai a zero.
  • 2:52 - 2:56
    Da mesma forma, se você desenvolver um programa por um longo período de tempo,
  • 2:56 - 2:58
    apenas adicionando funcionalidades
  • 2:58 - 3:03
    e nunca reorganizando o código para refletir o seu entendimento dessas funcionalidades
  • 3:03 - 3:07
    eventualmente o seu programa não conterá mais nenhum entendimento
  • 3:07 - 3:11
    e todos os esforços para trabalhar nesse software tomarão mais e mais tempo.
  • 3:11 - 3:14
    Em outras palavras, todo o seu tempo será para pagar os juros
  • 3:14 - 3:16
    e você não fará mais nenhum progresso.
  • 3:16 - 3:18
    Agilidade
  • 3:19 - 3:25
    Muitos bloggers tem explicado a metáfora da dívida
  • 3:25 - 3:29
    e eu acho que eles a confundem com a ideia de que
  • 3:29 - 3:34
    você poderia escrever código de baixa qualidade com a intenção de melhorá-lo depois
  • 3:34 - 3:38
    pensando que seria essa a fonte primária da dívida.
  • 3:38 - 3:42
    Eu nunca sou a favor de escrever código de baixa qualidade
  • 3:42 - 3:47
    mas sou a favor de escrever código que reflete a sua compreensão atual do problema
  • 3:47 - 3:50
    mesmo que essa compreensão seja parcial.
  • 3:50 - 3:55
    Se você quiser ser capaz de adquirir uma dívida dessa maneira,
  • 3:55 - 3:59
    desenvolvendo um software que você ainda não compreende completamente,
  • 3:59 - 4:05
    você deverá fazer esse software refletir o seu entendimento da melhor forma possível
  • 4:05 - 4:09
    para que quando chegue a hora de refatorar
  • 4:09 - 4:12
    esteja claro o que você estava pensando quando o escreveu
  • 4:12 - 4:16
    e fique mais fácil você refatorar para que ele se alinhe com o seu entendimento atual.
  • 4:16 - 4:19
    Em outras palavras, a metáfora da dívida,
  • 4:19 - 4:22
    ou seja, a habilidade de pagar uma dívida,
  • 4:22 - 4:25
    e fazer a metáfora funcionar a seu favor
  • 4:25 - 4:30
    depende de você escrever um código limpo o suficiente para que você seja capaz de refatorá-lo
  • 4:30 - 4:32
    no momento em que você entender melhor o problema que está tentando resolver.
  • 4:32 - 4:34
    Eu acho que essa é uma boa metodogia.
  • 4:34 - 4:37
    Ela está no cerne do Extreme Programming,
  • 4:37 - 4:41
    e é uma boa explicação, uma das muitas explicações
  • 4:41 - 4:44
    de por que o Extreme Programming funciona.
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
  • Not Synced
Title:
Debt Metaphor
Description:

more » « less
Video Language:
English
Duration:
04:44
Angela Freitas edited Portuguese subtitles for Debt Metaphor
Angela Freitas edited Portuguese subtitles for Debt Metaphor
Angela Freitas edited Portuguese subtitles for Debt Metaphor
Angela Freitas edited Portuguese subtitles for Debt Metaphor
Angela Freitas edited Portuguese subtitles for Debt Metaphor
Angela Freitas edited Portuguese subtitles for Debt Metaphor

Portuguese subtitles

Incomplete

Revisions