285 - CUIDADO com o OVERENGINEERING! | theWiseDev Engineering

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 22

  • @faadias
    @faadias Год назад +1

    Excelente vídeo como sempre. Quem acompanha o canal já sabe que para entregar rápido e com qualidade precisam existir testes; tanto neste vídeo quanto no do Dave Farley não é citado o TDD explicitamente, mas acredito que esteja implícito. Afinal, não adianta ter uma estrutura que segue à risca a cartilha do SOLID se não existirem testes que dão a segurança para modificar e evoluir o sistema. Sem eles, o medo de colocar algo em produção sempre estará à espreita.

    • @otaviolemos
      @otaviolemos  Год назад +1

      Código sem teste não existe. 😅

  • @raffaeleloi
    @raffaeleloi Год назад +2

    Que vídeo incrível. Esse é um daqueles vídeos para ficar reassistindo de tempos em tempos

  • @igorlmfs
    @igorlmfs Год назад +6

    Professor, nós precisamos acabar com a ideia estabelecida do que é um MVP. No mercado a ideia estabelecida do MVP é sinônimo de underengineering. Basicamente: precisamos dessa feature para ontem. Daí sufocam o estágio inicial do projeto, que é o estágio no qual demoramos mais se seguimos boas práticas. Eu sempre lembro dos gráficos do primeiro capítulo do arquitetura limpa. A velocidade aumentando vertiginosamente na adoção de desenvolvimento profissional ao passo com que o número de desenvolvedores se mantém estável. Em contrapartida se seguirmos a ideia estabelecida de “MVP” acontece estritamente o contrário. A velocidade de desenvolvimento cai e o número de desenvolvedores aumenta. Outro ponto importante, ser ágil não é só entregar rápido a qualquer custo, não é só usar colunas quadro. Envolve entregar rápido com qualidade uma solução extensível (no sentido estrito do OCP).

    • @otaviolemos
      @otaviolemos  Год назад +3

      Sim. Queria deixar claro que quando falo em entregar rápido não estou falando em entregar com pressa. É entregar cedo e com frequência. O overengineering vem muitas vezes de ficar adiando a entrega, de ficar preso no processo, sem um objetivo claro. Quando falo para entregar cedo, não é para entregar qualquer coisa. É para entregar algo de qualidade, mas cedo e frequentemente.

  • @joaopaulosouza1284
    @joaopaulosouza1284 Год назад +3

    Fez um resumo com qualidade, quantidade e em pouco tempo. Metalinguagem !

  • @luisporto7798
    @luisporto7798 Год назад +1

    Excelente video mestre Otávio

  • @artu_almeida
    @artu_almeida Год назад +1

    concordo 100% com a segunda parte do vídeo, sobre o overengineering, inclusive podemos cair no overengineering escolhendo programação funcional para um projeto hehe, isso eu sei que você vai discordar! 😅
    sobre a primeira parte do vídeo, que fala sobre velocidade X qualidade, estamos de acordo que no agil não deveriamos utilizar triangulo de ferro, inclusive publiquei um artigo no medium com o título "Ser ágil e utilizar o triângulo de ferro não faz sentido!"
    mas além disso tenho alguns pontos: dizer que "é um mito que TDD deixa a equipe mais lenta" não é verdade, utilizando TDD o time fica mais lento sim, podendo chegar a 15% a mais de tempo, em compensação leva o produto para produção com menos defeitos
    a forma mais rápida de entregar um software é com ZERO qualidade, e o go horse é prova disso: tudo é feito de qualquer jeito, sem se preocupar com o amanhã, sem nenhum pattern ou boa prática, você só faz o que tem que ser feito, essa que é a forma mais rápida de entregar software, e obviamente se você for fazer algo visando a qualidade, você vai demorar mais para entregar, isso é um fato na engenharia de software...
    não faz sentido dizer que quem produz software com qualidade entrega mais rápido que quem faz go horse A MENOS QUE você esteja se referindo a longo prazo... ai eu concordo com você, o go horse na medida que você vai mexendo no código e entregando, vai ficando cada vez mais dificil e devagar lidar com o débito técnico, e com código de qualidade e testes de verdade, você consegue implantar mais rápido
    mas no mundo real, infelizmente o pessoal de negócios vai pressionar, o time vai dizer que ainda está no período de testes ainda, o pessoal de negócios vai escalar pros "deuses do olimpio", que vai te mandar deployar em produção até o fim do dia, dane-se os testes inacabados, e você vai deployar porque quer manter seu emprego 🤷🏻‍♂

    • @otaviolemos
      @otaviolemos  Год назад +1

      Pq PF seria overengineering? Pra quem manja, o código sai até mais rápido e é bem mais enxuto e poderoso.
      Sobre sua argumentação: de fato, NO COMEÇO, o go horse vai mais rápido. Mas logo começa a ficar difícil mudar o software e, portanto, fica mais devagar. O mesmo com TDD. Talvez no começo será um pouco mais lento mas com um pouco de tempo já fica mais ágil do que fazer tudo nas coxas. Você precisa pensar as coisas mais a médio / longo prazo para entender a ideia.
      Eu entendo a questão da pressão. É necessário maturidade para conseguir trabalhar de maneira ordenada e convencer as lideranças de que você sabe o que está fazendo.

    • @otaviolemos
      @otaviolemos  Год назад +1

      A propósito: esse 15% você tirou de onde?

    • @artu_almeida
      @artu_almeida Год назад

      ​@@otaviolemos imagina que uma empresa pequena quer um sistema simples pra solicitação de reembolso dos funcionários, um PHP ou Ruby já resolve sua vida, a curva de aprendizado e a complexidade associada a PF podem ser desnecessárias para um sistema de reembolso relativamente simples, uma linguagem de programação imperativa evita a complexidade desnecessária que uma linguagem funcional como Clojure pode trazer, então sim, podemos cair no overengineering escolhendo qualquer coisa para nosso projeto, PF não está de fora!

    • @artu_almeida
      @artu_almeida Год назад

      @@otaviolemos sobre os 15% do TDD, eu recebi essa informação, quando eu estava fazendo minha pós graduação em engenharia de software, do meu professor @Renato Barbieri, que é um especialista na área e possui diversas certificações relevantes sobre o assunto

    • @otaviolemos
      @otaviolemos  Год назад

      @@artu_almeida se você tiver um especialista em PF aposto contigo que ele faz mais rápido do que os caras do PHP/Ruby.

  • @01daengenharia
    @01daengenharia Год назад +1

    Parabéns pelo conteúdo chará!

  • @com0oan
    @com0oan Год назад +2

    🤔🤔🤔🤔🤔