Sobre mim
Sou desenvolvedor de software há por volta de 9 anos, tendo atuado em empresas nacionais e internacionais. Trabalhei nos mais diferentes projetos, desde simples aplicações web até aplicações de segurança embarcadas em dispositivos de pequeno porte. Também atuo como instrutor na Caelum Ensino e Inovação, aonde leciono cursos de Java e de métodos ágeis.
Sou aluno de mestrado em Ciência da Computação pelo IME/USP, onde pesquiso sobre a influência de TDD no design de sistemas orientados a objetos. A ideia do meu trabalho é fazer uso de métodos qualitativos para avaliar a prática, já que boa parte dos trabalhos que utilizam métodos quantitativos não me agradam. Acabei desistindo de tentar analisar alguma coisa em engenharia de software sem levar em conta o grande fator humano existente no processo. Pretendo divulgar minha dissertação e conto com o feedback de todos.
Publiquei recentemente um artigo no 1st Workshop Internacional em TDD, realizado em Paris (2010), aonde discuti alguns erros comuns que programadores cometem quando praticam TDD. Foi uma experiência bastante interessante: pude mostrar meu trabalho para pessoas como Michael Feathers, Steve Freeman, Laurie Williams, David Janzen, etc. Além disso, apresentei um trabalho também sobre TDD no Workshop de Teses e Dissertações do Simpósio Brasileiro de Engenharia de Software 2010, em Salvador, onde também obtive um excelente feedback.
Tive a sorte de nunca ficar preso em apenas uma única linguagem, o que me permitiu conhecer as mais diferentes plataformas. Dentre elas destaco Java, C# e C/C++. Além disso, adoro novas linguagens, e ultimamente tenho brincado bastante (ainda não tive chance de usar em um projeto real) com Scheme e Erlang. Ultimamente estou um pouco fascinado com o poder de Scala.
Apesar de TDD não ser uma prática focada em testes de software, também tenho estudado muito sobre isso. Nos últimos tempos, gastei muito tempo pensando e praticando algumas boas práticas de testes de unidade, testes de integração e aceitação nos mais diferentes tipos de sistema, desde embarcados até sistemas web.
Resumindo, minhas áreas de interesse são test-driven development (tdd), testes de software, orientação a objetos, engenharia de software e métodos ágeis.
Caso queira conversar sobre qualquer uma das minhas áreas de interesse, basta entrar em contato. Você pode me mandar um e-mail ou mandar uma mensagem no meu twitter: @mauricioaniche.
Siga-me no twitter!
Saudações Aniche,
Tenho acompanhado teus estudos sobre TDD por ser entusiasta pelo assunto.
Pretendo redigir meu artigo da pós sobre o tema, e gostaria de saber se tem uma referência:
A média que encontrei para um projeto com e sem TDD é que o projeto que utiliza a técnica leva 15% mais tempo para ser desenvolvido, mas reduz os erros em 50%.
Qual a porcentagem (em relação ao esforço e/ou tempo) para se corrigir um erro quando o projeto encontra-se em produção, visto que “economizou” 35% na entrega, porém com 50% a mais de erros?
grato