comuns do desenvolvimento de software, bem como suas vantagens e desvantagens na avaliacao dos resultados das equipes de desenvolvimento. Este post relata a primeira parte das reflexoes que fizemos sobre este tema durante o encontro. Comecarei apresentando uma reflexao sobre produtividade baseada no calculo de linhas de codigo, dado que este era um tema presente no ambiente de producao do cliente e ainda persiste em muitas empresas de software pelo pais.Investigando a Unidade de Medida "Linhas de Codigo"Nao vou me deter muito tempo sobre este tema dado que o entendimento do mesmo ja deve ter evoluido bastante em nossa comunidade de software nos ultimos anos. Pelo menos isso e o que eu espero das pessoas que evoluiram junto com os avancos da nossa querida Engenharia de Software! ;-)Vou contar duas historias para tentar transmitir minha opiniao sobre produtividade calculada com linhas de codigo.Caso #1: Produtividade Negativa de um Desenvolvedor SeniorCerto dia, acordei com muita disposicao para trabalhar. Cheguei cedo no escritorio, li meus e-mails e me dirigi para a reuniao diaria de atualizacao de projeto. De volta para a minha mesa, e de posse dos requisitos funcionais que eu desenvolveria naquele dia, preparei minha IDE para comecar uma jornada de trabalho que seria a mais produtiva de minha vida! Fiz o update de meu projeto para ter a certeza de que eu teria todas as alteracoes de codigo realizadas por colegas de equipe desde o ultimo commit no repositorio. Analisei as demandas e identifiquei os componentes que seriam alterados e criados no sistema. Infelizmente, meu antigo colega havia feito um espaguetao quando desenvolveu os componentes que eu deveria atualizar naquele dia, demonstrando total desconhecimento de nossa arquitetura e conceitos basicos de programacao orientada a objetos. Fui obrigado a realizar um belo refactoring em todas aquelas classes e desenvolver novos componentes que receberiam elogios dos maiores gurus da engenharia de software. Eliminei centenas de linhas reutilizando componentes e explorando design patterns, escrevi poucos metodos e linhas de codigo, mantive o codigo padronizado e intuitivo para os proximos colegas que utilizariam o mesmo, garantindo 100% de cobertura em testes de unidade para cada componente. Passei todo o dia refatorando os componentes existentes e criando novos elementos altamente enxutos. Sabe qual foi o resultado? Entreguei tres novas funcionalidades num unico dia e reduzi em mais de 1.000 linhas nosso codigo fonte, tendo passado em todos os testes de integracao! Sinto-me realizado!.Comentario: Nosso amigo fez tudo isso e acabou tendo uma produtividade negativa calculada em linhas de codigo!Caso #2: Produtividade do Fornecedor Mal Intencionado"Pessoal, nao se esquecam de utilizar aquele sistema gerador de codigo que baixamos da Internet. Ele caiu como uma luva em nosso projeto, pois aumentou consideravelmente nossa produtividade! Para atender todas as necessidades de diferentes equipes de desenvolvimento, ele insere tudo que voce pode imaginar no codigo fonte, gerando um monte de linhas inuteis e deixando o mesmo dificil de ser analisado. Como nossa equipe e remunerada por linhas de codigo, ele e perfeito! A proposito, nao percam tempo estudando a API do sistema. Refacam tudo o que for necessario! Nao economizem na