A meta de um processo de software é guiar a organização de desenvolvimento de software para:
- Construir o software certo.
- Acertar na construção do software.
- Construir o software rapidamente.
- Construir o software de forma frugal.
Existem muitas abordagens para este problema. Alguns processos de software são de alta cerimônia. Eles induzem os desenvolvedores a criar vários artefatos. Pontuam o projeto com fases e finalizações. Liberam raramente, por vezes apenas na conclusão do projeto. Existe tempo e lugar para esses processos.
Por outro lado, o recurso mais importante e escasso em qualquer projeto é o tempo dos desenvolvedores. Os processos de alta cerimônia preenchem esse tempo com atividades focadas em vários artefatos e revisões ao invés dos principais artefatos de código e teste. Para muitos projetos esta é uma despesa exorbitante.
Para gerenciar este custo, muitos projetos precisam de um processo que utilize um mínimo de cerimônia e concentre-se nos principais artefatos. Eles precisam de um processo direcionado por feedback que entregue rapidamente um software executável em curtas liberações.
XP é exatamente esse processo de pouca cerimônia. É usada pelas equipes e nos projetos cuja cerimônia tenha pouco valor, mas o rápido feedback seja valoroso. Tais projetos tendem a ser pequenos ou médios - menos de um ou dois milhões de linhas de código - e envolvem menos de uma ou duas dúzias de desenvolvedores. Eles tendem a existir em ambientes de intensas mudanças empresariais ou técnicas. Eles são, evidentemente, extremamente comuns.
A falta de cerimônia não implica em falta de gestão. XP coloca bastante ênfase nas técnicas de planejamento, estimativa e gestão de cronograma. A criação, manutenção e gestão de um plano de projeto são uma grande parte da XP.
A falta de cerimônia também não implica em falta de disciplina. XP defende a disciplina para todas as facetas do projeto. Existem disciplinas para teste, integração, planejamento, revisão e para a produção de software com estrutura interna de alta qualidade. A meta é manter o projeto em movimento e o software fácil de modificar, estender e desenvolver.
Resumindo, a XP coloca ênfase na garantia de que a equipe esteja trabalhando com o conjunto mínimo de atividades e artefatos que irão produzir o software certo, construído corretamente, rapidamente e de forma frugal.
|