Diretriz: Ambiente XP
Relacionamentos
Elementos Relacionados
Descrição Principal

Nenhum processo é uma ilha. Em outras palavras, você não pode esperar obter um processo ou elementos de um processo em uma prateleira e usá-los sem se importar com o seu contexto.

A XP tem certos requisitos-chave de "ambiente"; as definições físicas, organizacionais e de negócio onde ela será aplicada.

Tópicos

Requisitos Físicos

Espaço de Trabalho Aberto

Um dos principais aspectos da XP é um forte foco em comunicação. Para comunicar de forma eficaz, uma equipe deve ter o mínimo possível de barreiras físicas entre si. O ambiente de programação ideal para a XP é um espaço de trabalho aberto cheio de mesas e com espaço suficiente para os pares de colaboradores trabalharem juntos e manterem contato com seus parceiros. Para mais informações, consulte a diretriz de espaço de trabalho aberto.

Conjunto de Ferramentas Uniforme

XP funciona melhor quando não existem impedimentos artificiais para que as pessoas recebam e forneçam ajuda. Se você tiver um espaço de trabalho aberto com cinco computadores para codificação de produção e cada um deles tiver um conjunto de ferramentas muito diferente, algumas pessoas irão gravitar até as máquinas que têm as ferramentas que elas gostam e irão sentir-se desconfortáveis em ter que se deslocar para máquinas que têm ferramentas não familiares. Pense em suas próprias experiências. Você se sente incapaz, trabalhando em uma IDE pouco familiar? Quanto isto atrapalha quando alguém lhe pede ajuda. Se, como uma equipe, você adotar um conjunto uniforme de ferramentas e manter as máquinas de desenvolvimento homogêneas, você estará fazendo com que seja muito mais fácil para as pessoas dar e receber ajuda.

Máquina Dedicada à Construção

Na XP, existem muitas formas diferentes de fazer construções. Entretanto, a principal restrição é que todos os testes de unidade devem ser executados antes que se faça check-in de qualquer código de produção. Na maioria dos casos, a forma mais fácil de conseguir isso é ter uma máquina dedicada à construção. Você pode fazer check-in do código e disparar a execução de uma construção através da rede ou ir a pé até uma máquina específica e executar a construção. Em ambas as formas, ter uma máquina dedicada lhe dá a vantagem de ter um ambiente comum para as construções.

Ferramenta de Controle de Versão

Todos os projetos de software precisam de ferramentas de controle de versão; entretanto, na XP damos um prêmio à sua usabilidade. A capacidade de fazer check-out de código, sem bloqueá-lo, também é valorizada. Quando uma equipe escreve testes de unidade públicos e prática a propriedade coletiva de código, o bloqueio de código para revisão é frequentemente muito pessimista. Isso cria gargalos desnecessários.

Requisitos Organizacionais

As organizações que querem adotar XP têm que ter a capacidade de dedicar uma pessoa para agir como Cliente XP em cada equipe. O papel Cliente na XP é crítico. Se a pessoa que estiver agindo como cliente tiver outras responsabilidades, é melhor que essas responsabilidades sejam menos importantes do que a disponibilidade para estar com a equipe.

Além de ter um cliente disponível, as organizações que praticam XP devem permitir que as equipes sejam auto-suficientes. Nas organizações onde muitas funções são suportadas por diferentes grupos (grupo de gestão de configuração, grupo de implantação, QA), as diferentes funções podem dificultar o desenvolvimento, se não existirem mecanismos para permitir que cada equipe faça o que é necessário para finalizar suas iterações sem esperar por outras equipes.

Requisitos de Negócio

XP funciona melhor em situações em que as organizações podem tirar proveito de um escopo variável. Se uma empresa cria um contrato de escopo fixo com uma data final fixa, pode ser difícil discernir quanto tempo será realmente necessário para uma equipe desenvolver sustentavelmente um bom software.

As pessoas nas organizações olham para o cronograma mais do que a velocidade dos dados que a XP produz. O resultado é facilmente previsível. O Software pode ser entregue a tempo, mas poderá também estar com erros e em uma plataforma pobre para desenvolvimento futuro. Na XP, reconhecemos que cada equipe tem uma velocidade particular com a qual elas podem desenvolver software confiável. Esta velocidade varia de equipe para equipe. Se uma equipe é acelerada além de sua velocidade, muitas vezes os resultados são desastrosos.