TDD (Test Driven Development) e a batalha das opiniões

Uma técnica ágil pouco usada e proporcionalmente conhecida, o TDD(Test Driven Development) ou Desenvolvimento orientado a testes, pode ser enxergado como um vilão aos olhos de algumas empresas, mas para outras esta técnica veio como um heroi. Descubra lendo esse artigo o porquê dessa guerra de opiniões e também um pouco de sua história. Continue lendo “TDD (Test Driven Development) e a batalha das opiniões”

Coding Dojo: Treinamento e transferência de conhecimento tecnológico

Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”

Na Wikipédia encontramos: “Dojo (em japonês: 道場 sítio do caminho?, Dōjō) é o local onde se treinam artes marciais japonesas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes”. Mas no nosso contexto, o treinamento é da arte da construção de software e codificação. Continue lendo “Coding Dojo: Treinamento e transferência de conhecimento tecnológico”

Refactoring: Re-escrevendo código fonte para ganhar qualidade e performance

“Refatoração é uma técnica elaborada para reestruturar um código fonte existente, alterando sua estrutura interna sem mudar o seu comportamento final, anda junto com a manutenção de software.

A idéia principal de refatorar está em uma série de pequenas melhorias que mantém a estrutura inicial da regra de negócio realizando a manutenção do código. Cada refatoração faz pouca coisa, mas uma seqüência de pequenas refatorações pode fazer uma diferença significativa. Uma vez que cada refatoração tem um escopo pequeno e é localizada existe um baixo risco associado. O sistema se mantém funcionando normalmente após cada refatoração, reduzindo as chances de o sistema sofrer um grande erro durante sua reestruturação. Continue lendo “Refactoring: Re-escrevendo código fonte para ganhar qualidade e performance”

Introdução ao Scrum

Metodologias “ágeis” de desenvolvimento de software formam um novo paradigma em relação a engenharia de software tradicional, nos métodos “ágeis” preza-se mais pelos resultados que pela documentção gerada no processo. Isso é um assunto para tratarmos em outro post.

Scrum é por definição uma metodologia ágil para gestão e planejamento de projetos de software.

No Scrum, os projetos são dividos em ciclos (tipicamente mensais) chamados de Sprints. O Sprint representa um Time Box dentro do qual um conjunto de atividades deve ser executado. Continue lendo “Introdução ao Scrum”