Conciliando arquitetura com agilidade
Resenha sobre Tópicos em Metodologias de Desenvolvimento Ágil
MBA em Engenharia de Software Orientada a Serviços (SOA)
Metodologia de Desenvolvimento Ágil
Introdução
A arquitetura de um software acaba influenciando todo o desenvolvimento de um projeto, uma arquitetura mal definida pode gerar ao longo do desenvolvimento retrabalho e consequentemente atraso no cronograma do projeto. Nas metodologias convencionais no qual pensávamos em todo o projeto antes iniciar o desenvolvimento, a arquitetura do software era elaborada para suportar os requisitos não funcionais e consequentemente evitar surpresas e retrabalho, em metodologia ágeis em que entregamos o projeto em interações muitas vezes no momento em que vamos implementar algum requisito não funcional verificamos que a atual Arquitetura não suporta ou não se adapta facilmente as especificações dos requisitos, isso acaba gerando retrabalho e consequentemente atrasos no projeto. Esse texto tem como objetivo mostrar algumas técnicas utilizadas em metodologia ágeis para não termos problema com a Arquitetura do sistema no momento das implementações.
Conciliando arquitetura com agilidade
Em metodologias ágeis ir para o desenvolvimento sem pensar nos principais itens relacionados aos requisitos não funcionais pode gerar retrabalho, ou ainda impactar que dois desenvolvedores programem diferentes soluções para o mesmo problema, por isso em metodologias ágeis é importante no começo do projeto pensar nas soluções para os principais requisitos não funcionais e alinhá-las com toda a equipe. Uma prática que é utilizada em metodologias ágeis para pensar na arquitetura sem gerar muito esforço e consequentemente não perder tempo com implementações que o usuário não consiga validar se chama Arquitetura Cartoon. A Arquitetura Cartoon foca apenas nos requisitos não funcionais mais importantes do sistema e ignora os