Princípios do XP

Princípios existem para servir de ponte entre valores e práticas. Princípios servem como guias que se aplicam a um domínio específico.

Valores são abstratos demais para guiar comportamentos. Documentos longos têm a intenção de comunicar, assim como diálogos. Qual é o mais efetivo? A resposta depende em parte do contexto e, em parte, de princípios intelectuais. Neste caso, o princípio do humanismo sugere que diálogos atendem à necessidade humana de conexão, portanto, é a forma de comunicação preferível, sem levarmos em conta outros fatores.

A comunicação escrita é intrinsecamente mais dispendiosa. Apesar de a comunicação escrita permitir alcançar uma audiência mais ampla, trata-se de uma comunicação de mão única. Conversas, por sua vez, permitem esclarecer questões, feedback imediato, troca de idéias e outras coisas que não são possíveis de serem feitas com documentos. Comunicação escrita normalmente é tida como fato ou rejeitada completamente. Nenhuma das duas opções incentiva aprimoramentos na comunicação.

Os princípios listados aqui não são os únicos possíveis para guiar o desenvolvimento de software. Outros princípios eventualmente guiarão suas práticas de desenvolvimento de software, mas estes são os que guiam o desenvolvimento de software em XP.

Valores indicam o propósito, aquilo em que acreditamos, a razão pela qual agimos de certa forma. Práticas, por sua vez, são nossas ações. Normalmente são específicas, enquanto princípios são genéricos e mais vagos. Princípios, por sua vez, procuram clarificar os valores dentro do contexto de desenvolvimento de software.

Práticas: aquilo que efetivamente fazemos no dia-a-dia. Identificar práticas é útil porque elas são claras e objetivas. Ou você escreve um teste antes do código ou não. Práticas também são úteis porque revelam um ponto de partida claro. Você pode começar escrevendo testes antes de codificar e obter benefícios dessa prática, antes mesmo de compreender o desenvolvimento de software de uma forma mais profunda.

Valores representam a essência daquilo que gostamos ou não a respeito de alguma coisa. Identificar valores é importante, pois sem eles, as práticas perdem sentido. Se tornam atividades feitas por fazer, sem um propósito bem definido. Portanto, valores revelam os propósitos das práticas.

Práticas servem como evidências dos valores. Por sua vez, valores são expressos em um nível tão alto, tão abstrato, que seria possível fazer qualquer coisa em nome de um determinado valor. Por exemplo, "escrevi esse documento de mil páginas porque valorizo comunicação".

Práticas são claras. Todo mundo é capaz de dizer se eu estive presente na reunião de pé de manhã. Agora, dizer se eu valorizo ou não comunicação é algo mais nebuloso. Existe um oceano entre valores e práticas. Valores são universais. Idealmente, meus valores no trabalho são os mesmos do restante da minha vida. Práticas, por outro lado, são completamente situadas. O valor feedback é expresso de formas completamente diferentes nas atividades de programar e trocar fraldas.

Princípios existem para servir de ponte entre valores e práticas. Princípios servem como guias que se aplicam a um domínio específico.

Autoria

Texto de Vinícius Manhães Teles.
Ilustrações de Leandro Mello.

Publicado em 02/10/2006.

Licenciado como Creative Commons Atribuição.