Se usa Baby Steps no mundo real da programação?

Neste post eu explico como adotar a metodologia do baby steps pode fazer com que você se torne um desenvolvedor mais eficaz.

Recebi uma dúvida interessante sobre Baby Steps de um aluno no Welcome to the Django. Encorajado pela galera que curtiu a resposta, decidi compartilhar no blog para expandir a conversa.

“Estou ainda na primeira metade dos vídeos do módulo 2. Entendi o motivo do Kata e dos Baby Steps, mas achei a evolução muito demorada.

Enfim, as dúvidas são:

Se usa isso (baby steps) no mundo real?

Sempre o código vai evoluir (ou é recomendado que evoluísse) dessa mesma forma?”

No trabalho do desenvolvimento de software a gente sempre tem prazos. E frequentemente prazos apertados. A preocupação com a demora é uma constante.

Em contrapartida, a gente não consegue programar o que não compreendemos. E muitas vezes quando subestimamos o desafio, até fazemos o código rápido, mas passamos uma infinidade de tempo tentando ajustar ou corrigir o que foi feito.

Baby Steps é uma estratégia de abordar o desafio passo à passo, defensivamente.

Minha inspiração pra relacionar Baby Steps ao desenvolvimento de software vem da música.

Na música, existem 2 momentos: Ensaio e Show

Se você ensaiar sempre tocando rápido, não vai cuidar da forma de tocar. Não vai cuidar das habilidades em si, vai só focar na reprodução.

Já se você fizer o show como um ensaio, não vai cuidar do conteúdo. Não vai cuidar do que seu público precisa.

Existe um equilíbrio dinâmico entre forma e conteúdo. Baby steps é essencial para o ensaio, para “tirar músicas novas”. Quanto mais você souber “tocar de cor” mais fácil é relaxar e improvisar no show.

Eu uso muito Baby Steps quando programo. A intensidade costuma variar com o quão experiente eu sou com um determinado desafio.

Combinando Baby Steps com TDD, eu consigo ter mais consciência sobre o trabalho e as decisões de design. Isso me ajuda a decidir sobre a “complexidade do arranjo da música”. Afinal, no desenvolvimento de software o show não é o código, mas a satisfação do usuário.

você pode gostar também

Comentários