|
|||||
Existe Arquitetura de Software em Projetos XP?Quando se trata de Extreme Programming, arquitetura de software é um assunto polêmico. Vários críticos da metodologia afirmam que não existem atividades para o estabelecimento da arquitetura de software – constituindo assim seu “calcanhar de Aquiles”. Por outro lado, seus praticantes respondem que a arquitetura é representada pela Metáfora Sistêmica (System Metaphor), criada durante o Jogo de Planejamento (Planning Game). Mas adeptos e críticos concordam em uma coisa: existe muito pouca informação sobre como obter uma boa Metáfora Sistêmica. A prática da Metáfora Sistêmica é uma forma de explicar a arquitetura lógica através de uma analogia familiar tanto aos desenvolvedores quanto aos usuários. Até aí, ótimo! O maior problema é como conseguir uma boa metáfora. Das 190 páginas de “Extreme Programming Explained”, Kent Beck endereça somente duas delas para explicar o que é a Metáfora Sistêmica e deixa uma lacuna real em como atingí-la. Martin Fowler, um adepto não radical de XP, afirma em “Extreme Programming Examined” que, apesar da Metáfora Sistêmica ter funcionado bem para o projeto C3 (descrito no mesmo livro), ele próprio não faz a mínima idéia em como explicar a forma de obtê-la. Ainda na série XP da Addison-Wesley, os autores de “Extreme Programming Examined” declaram que a metáfora “é uma lacuna real no XP e que os XPmistas precisam resolvê-la” (desculpe, traduzimos “XPers” por “XPmistas”). Com a polêmica carregada pela Metáfora Sistêmica e pelo fato de boa parte dos programadores praticantes de XP afirmarem que constroem software de sucesso mesmo sem tal metáfora, Kent Beck comentou publicamente que cogita a hipótese de remover esta prática da metodologia. No site de Ron Jeffries (outro guru radical do XP), arquitetura e desenho chegam a ser tratados com um certo tom de deboche. Por ser um dos mais proeminentes métodos de desenvolvimento da atualidade, existem muitas propostas para preencher a lacuna arquitetural do XP. A seguir, citaremos algumas.
Os valores e a filosofia de Extreme Programming visam de uma forma “extrema” a simplicidade e a acomodação das mudanças. Mudanças são de fato inevitáveis. Mas, mesmo acreditando nos princípios ágeis, devemos admitir que uma reestruturação arquitetural é uma atividade cara e de alto risco. Um esforço de investigação arquitetural um pouco maior que a indicada pelo XP “puro” pode minimizar boa parte dos riscos – não vale a pena ignorar aspectos estruturais já conhecidos no início do projeto. As abordagens indicadas podem ser um bom caminho para preencher a lacuna da arquitetura de software no XP. Resta ainda a questão: basta uma boa metáfora sistêmica para termos uma arquitetura completa? Para obter mais visões críticas sobre como a arquitetura pode ser desenvolvida em projetos XP, sugerimos as seguintes referências:
5 comments to Existe Arquitetura de Software em Projetos XP? |
|||||
|
Copyright © 2012 Arkhi - All Rights Reserved |
|||||
A metáfora sistêmica é uma das práticas do XP que não pegou. Quando há uma metáfora, ela ajuda. Porém, mesmo que se encontre uma boa metáfora sistêmica, ela não serve para descrever a arquitetura inteiramente. Apenas ajuda a comunicar a idéia geral do design.
Numa entrevista recente, fui perguntado:
“With several software development teams using Agile methodologies now-a-days, what can the software architects do to be Agile and pragmatic in documenting the application architectures?”
Veja minha resposta (que contém alguns links) em:
http://www.infoq.com/news/2008/11/paulo-merson-architecture
Excelente comentário, Paulo! Em verdade, temos ainda a intenção de postar alguma idéia sobre a eficácia da metáfora sistêmica.
Das propostas citadas, algumas visam obter sistematicamente a metáfora sistema, sem dependência de um “insight”. Mesmo assim, conforme você comentou, ainda será uma arquitetura incompleta. Outras complementam o XP de forma a descrever a arquitetura com maior ou menor completude. Por exemplo, a nota técnica de Nord, Tomayko e Wojcik apresenta uma abordagem consistente e o resultado possivelmente será uma arquitetura bem descrita. Mas… enfim, deixemos aos navegantes a escolha do método mais adequado a cada caso
E, aproveitando, muito boas suas respostas na entrevista (li há alguns dias). Fiquei curioso a respeito da sua apresentação e, em particular, da documentação do Duke’s Bank. Consigo obtê-la em algum lugar?
Obrigado pela sua participação!
Eros
ps: estamos aguardando ansiosamente pela terceira edição de “Documenting SA”
[...] de Software Enviado em arquitetura de software by Eros Viggiano em Novembro 1st, 2008 Existe Arquitetura de Software em Projetos XP? – 12 de Dezembro de [...]
[...] Metáfora é um “quebra galho” arquitetural Há algum tempo, comentamos em relação a como obter a metáfora sistêmica prescrita pelo XP e deixamos uma questão sobre o quanto ela contribui para a [...]
[...] Existe Arquitetura de Software em Projetos XP? Postado em arquitetura de software, ágil. Tags: agilidade, arquitetura de software. Nenhum comentário » [...]