Pergunta

O Agile/XP pode combinar com a abordagem em camadas?

O Agile/XP deve combinar com a abordagem em camadas?

Dividir o código-fonte em camadas requer esforços extras e, portanto, aumenta significativamente o tempo de desenvolvimento.

Obs.:Por 'Camadas' quero dizer montagens separadas com POCO, DA, etc.

Foi útil?

Solução

Agile/XP é uma abordagem para gerenciar as atividades, entregas e cronogramas do seu projeto.

Aplicativos em camadas (N camadas) são uma forma de melhorar a capacidade de manutenção, a escalabilidade e a capacidade dos membros da equipe separarem áreas de responsabilidade.

Eles não têm muito a ver um com o outro, exceto que ambos exigirão um investimento adicional de tempo se você não estiver familiarizado com cada um.Ambos tenderão a melhorar a qualidade do seu projeto se utilizados de maneira adequada, em comparação com as alternativas tradicionais.

Outras dicas

Parece -me que o aviso ágil "você não vai precisar" não é evitar a complexidade, mas para evitar adicionar complexidade desnecessária. De fato, um dos benefícios dos testes de unidade é estabelecer uma disciplina na qual você possa refatorar sem medo para que as coisas acabe onde pertencem, e não onde podem ter começado.

Portanto, o objetivo é não evitar camadas (ou camadas, se você precisar) - o objetivo é evitar camadas que sugam.

Os dois são inteiramente ortogonais.

No XP, você desenvolve o recurso do sistema por recurso. À medida que você adiciona recursos, você refatora continuamente o sistema para garantir que a implementação seja o mais clara possível. As camadas geralmente caem dessa refatoração. Assim como as camadas se essa arquitetura for apropriada ou outras estruturas arquitetônicas em larga escala, como seda ou descanso.

Eu acho que eles verdadeiros aqui é que deve ter desenvolvedores divididos por camadas em uma equipe- se você tiver um dev html, um js dev, uma pessoa de nível intermediário, uma pessoa do sistema de mensagens e um DBA trabalhando juntos para construir um formulário CRUD , ou você deve construir por recurso e deixar uma pessoa possuir o tópico. Este último é preferível em generalistas ágiles, é preferido a especialistas.

É sensato ter várias equipes trabalhando juntas em um projeto ágil? Sim: trabalhei em um projeto em larga escala com mais de 200 desenvolvedores em mais de 15 equipes. Havia cerca de 20 ou 30 serviços no total.

Isso pode ser feito com equipes especializadas? Na verdade, não.

Os membros das equipes podem ter especializações? Sim, mas você realmente precisa de generalistas com pontos fortes em algumas áreas, em vez de pessoas que só conhecem uma coisa e não tocam mais nada.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top