outubro 31, 2005

 

Entrevista com Kent Beck para a Revista Inform

Na semana passada entrevistei o Kent Beck a pedido da Revista Inform. A entrevista será publicada na edição de dezembro. A entrevista segue abaixo em primeira mão para o XP Rio.

Vinícius: Como o XP se compara a abordagens tradicionais de desenvolvimento de software, tais como PSP (Personal Software Process) do SEI ou o RUP da Rational?

Kent: PSP se concentra em aprimorar habilidades individuais. RUP é uma coleção de práticas que podem ter valor para o desenvolvimento de software. Comparado a ambos, XP é muito explícito sobre a importância dos relacionamentos sociais para se desenvolver software de forma eficaz, além de forçar o lado técnico a ser mais rigoroso que o usual. XP é descrito não apenas por práticas, mas também pelos valores e princípios que motivam essas práticas.

Vinícius: XP e metodologias ágeis em geral têm uma íntima co-relação com princípios Just-in-Time criados e aprimoradas na Toyota. Você acredita que o XP terá, no longo prazo, os mesmos efeitos na indústria de software que o Just-in-Time teve na indústria automobilística?

Kent: Espero que sim, mas mudanças fundamentais como essas levam décadas para se espalhar por uma indústria, portanto, não saberemos a resposta por um tempo.

Vinícius: Você acredita que haveria vantagens para as empresas produtoras de software brasileiras se elas optassem pela adoção do XP para melhoria de qualidade, ao invés de outras abordagens, como o CMM?

Kent: Sim. As práticas do XP são descritas de forma clara, embora cada equipe deva decidir como aplicá-las. Os resultados da utilização do XP podem ser imediatos e substanciais, apesar de as equipes poderem continuar melhorando durante anos à medida que o utilizam. No XP, eu sugiro que as equipes adotem ciclos rápidos de feedback, de modo que possam avaliar rapidamente mudanças em suas práticas de desenvolvimento. Finalmente, enquanto algumas das mudanças propostas pelo XP possam ser aplicadas por um programador sozinho, algumas das práticas corolárias demandam mudanças da parte do cliente, fornecedores e executivos, além dos próprios desenvolvedores.

Vinícius: Qual é o papel dos frameworks em projetos XP e a relação deles com o valor da simplicidade?

Kent: Frameworks são arriscados quando são escritos cedo demais, pois nesse caso serão difíceis de usar. Mediocridade consistente não é um objetivo valioso. Se você estiver trabalhando no estilo XP, você primeiro constrói duas ou mais aplicações e então abstrai aquilo que é comum, fazendo com que aplicações semelhantes sejam construídas mais facilmente no futuro. Depois de muitos anos trabalhando dessa forma, as equipes terão criado frameworks poderosos, mas sem o risco de que eles sejam mais difíceis de utilizar do que o necessário.

Vinícius: Qual é o futuro do JUnit?

Kent: Estamos trabalhando ativamente no JUnit 4, que trará a primeira grande mudança na API. Nosso objetivo é fazer com que escrever testes seja ainda mais fácil e simples para os desenvolvedores. A nova versão também possui novas áreas úteis para aqueles que desejam criar plugins para o JUnit.
Além disso, os testes antigos serão executados sem modificações na nova versão e os testes baseados no novo estilo poderão ser facilmente executados em versões antigas do JUnit.

Vinícius: Quais são os seus planos com a Agitar? O que você está produzindo com eles no momento?

Kent: A Agitar Software produz ferramentas que tornam os testes dos desenvolvedores mais valiosos e mais visíveis. Acredito que o futuro do desenvolvimento de software envolva maior responsabilidade e transparência, de modo que nossos objetivos estão bem alinhados. Eu trabalho com eles planejando e revisando produtos, além de conversar com clientes e potenciais clientes.

Vinícius: Como a documentação se encaixa nas práticas do XP?

Kent: Comunicação é algo crítico para se desenvolver software de forma bem sucedida, e o meio de comunicação deve ser escolhido de modo a maximizar os benefícios e minimizar os custos. Cada equipe encontra uma forma diferente de solucionar suas necessidades de comunicação. Entretanto, uma das premissas básicas por trás do XP é que as decisões perdem valor muito rapidamente no desenvolvimento de software. Por isso, escrever documentos enormes contendo milhares de decisões de análise e design, cada uma das quais vai perdendo valor gradualmente, não é uma atividade valiosa. Equipes normalmente encontram formas de comunicação melhores que essa.

Vinícius: Quais são os pontos negativos do XP que você já tenha notado como sendo os mais nítidos?

Kent: Ele desafia as convicções de algumas pessoas. Para aplicá-lo de forma eficaz, as crenças precisam estar alinhadas com as do XP. Quando pensamentos básicos estão desalinhados com os valores do XP há interferências nos benefícios que podem ser obtidos. Para alguns, isso requer uma grande mudança na forma de pensar e de agir.

Vinícius: Você acredita que o XP possa ser aplicado a projetos que envolvam muitas pessoas? Isso impediria o sucesso da adoção do XP?

Kent: Acredito que o XP possa ser aplicado em muitas escalas diferentes. As verdades básicas sobre a natureza humana e sobre desenvolvimento de software são as mesmas para uma equipe de uma pessoa ou de mil. Grandes organizações que obtiveram sucessos isolados com desenvolvimento ao estilo do XP estão interessadas em obter os mesmos tipos de melhorias em toda a equipe. Acredito que seja positivo para o XP que as companhias queiram que todos as suas equipes mostrem resultados concretos com frequência, que tenham significativamente menos defeitos e que reduzam custos de uma forma geral.

Vinícius: O que você recomenda para empresas interessadas em começar a utilizar o XP?

Kent: Experimente. O processo mais eficaz que encontrei para a aplicação do XP é olhar para as práticas e lembrar momentos nos quais você e a sua equipe fizeram um bom trabalho. Então, aplique aquilo que você já sabe que funciona, mas veja se você consegue fazer algo ainda melhor desta vez. Gerentes têm o direito de demandar visibilidade e responsabilidade de suas equipes. XP é uma forma de prover comunicação clara sobre o projeto. Os outros processos que você mencionou no início da entrevista são outras formas de atingir esse objetivo.

Obrigado pela oportunidade de me expressar para o público brasileiro. Entrem em contato caso tenham mais questões.

Sinceramente,

Kent Beck
Diretor, Threee Rivers Institute