¦ M ! L Є S i • B Λ S Γ Ø S ¦

Learning and Coolness – Beyond Code

Posts Tagueados ‘Agilidade

Arquitetura de Software Planejada e Evolutiva

fazer um comentário »

É notório que a crescente adoção de metodologias ágeis de desenvolvimento exigiu novas abordagens de engenharia de software. Essas abordagens desafiam muitos conceitos comuns sobre o Desenvolvimento Planejado de Software. Dentre tantos fatores, um dos mais polêmicos é a rejeição ao grande esforço realizado na fase inicial do projeto sugerindo uma abordagem evolutiva.

Nessa abordagem, a arquitetura de software deve adotar práticas que ajudem a definir uma estratégia de arquitetura evolutiva. Como @KentBeck observa, a arquitetura existe para possibilitar a evolução do software, com facilidade, a longo prazo.

Uma arquitetura deteriorada prejudica a capacidade de implementar mudanças com segurança. Nesse estado de entropia do software, com o tempo a arquitetura piora ainda mais. O software fica difícil de manter e vulnerável a bugs cada vez piores de serem identificados e corrigidos. Nesse processo de “codifica-remenda”, com o passar do tempo, os bugs tornam-se exponencialmente mais caros de corrigir.

Diante disso, como planejar uma estratégia de arquitetura capaz de evoluir junto com o código?

Definir um modelo de Arquitetura Orientada ao Domínio, um conjunto de padrões de arquitetura para aplicações corporativas, adotar boas práticas e beneficiar-se do avanço das tecnologias e ferramentas de desenvolvimento irá nos guiar no planejamento de uma estratégia de arquitetura evolutiva capaz de suportar o processo de desenvolvimento ágil.

Referências:


Is Design Dead? por Martin Fowler
Agile Brazil Keynotes por Martin Fowler

Escrito por Antônio Milesi Bastos

5/julho/2010 em 00:22

Publicado em Planejando a Arquitetura

Etiquetado com ,

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.