Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Princípios, Padrões e Práticas para um Design Ágil – Parte 3 - Java Magazine 86
Na última parte deste artigo, veremos o fluxo de um projeto que adota XP e o que pode ser utilizado na definição da arquitetura do software, apresentando a visão que um arquiteto deve ter nas fases de um projeto ágil e as práticas que dão suporte na construção de um Design evolutivo.
[fechar]
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Java Magazine 86
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 86
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Java Magazine 86
Princípios, Padrões e Práticas para um Design Ágil – Parte 3
Criando um Design Ágil com Extreme Programming
Aprenda a lidar com arquitetura de software no contexto de um projeto ágil utilizando Extreme Programming, e a aplicar boas práticas de Design OO com TDD
Na primeira e segunda parte desta série de artigos, publicados nas Edições 80 e 81, abordamos sobre fundamentos de arquitetura de software, padrões de projetos em uma arquitetura distribuída, analisamos como identificar sintomas de um software mal planejado, e como refatorar a sua aplicação para utilizar boas práticas de desenvolvimento OO.
Na última parte desta série, vamos analisar a fundo como funciona um Projeto XP, passando por todas as suas fases, e veremos também como adotar as práticas de engenharia da Extreme Programming para construir um software aplicando as melhores práticas de desenvolvimento OO utilizando TDD e testes de aceitação.
Abordaremos os valores destas metodologias através do Manifesto Ágil, apresentando de maneira clara como estes valores estão presentes na Extreme Programming. Analisaremos também, como a Arquitetura do Software é tratada em um projeto ágil e como algumas práticas do XP auxiliam na criação e evolução da Arquitetura. Por fim, vamos apresentar um estudo de caso onde implementaremos uma funcionalidade em um sistema fictício, mostrando desde a escrita da estória pelo cliente até sua implementação utilizando testes de aceite com o framework FitNesse e TDD.
O Manifesto Ágil
Nos últimos 10 anos vem emergindo um movimento que promove uma nova maneira de se desenvolver software, conhecido como Agile.
Este movimento tem ganhado muita força e notoriedade graças a Agile Alliance, uma organização sem fins lucrativos, formada por grandes nomes da comunidade de desenvolvimento de software, como Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, Robert C. Martin, Ken Schwaber, entre outros.
Em 2001, estes profissionais, criadores de metodologias como Extreme Programming, Scrum e Feature Driven Development, se reuniram em um resort de esqui em Utah nos Estados Unidos, para discutir novas maneiras de se produzir software, de um modo menos burocrático, mais simples e focado em pessoas. Foi nesta reunião que nasceu o termo Desenvolvimento de Software Ágil, e mais importante, foi onde nasceu o Manifesto Ágil.
O Manifesto Ágil é uma declaração dos princípios que fundamentam o desenvolvimento ágil de software, expressos por meio de quatro valores fundamentais:
• Indivíduos e suas Interações acima de procedimentos e ferramentas;
• Software em funcionamento acima de documentação abrangente;
• A colaboração dos clientes acima da negociação de contratos;
• A capacidade de resposta a mudanças acima de um plano pré-estabelecido.
É importante frisar que o manifesto ágil não exclui em suas práticas o uso de ferramentas e outros elementos oriundos do desenvolvimento de software tradicional, mas que, dentro de uma escala, os valores que estão em negrito nos princípios acima, são mais importantes do que os valores que estão à direita.
O manifesto contempla ainda 12 princípios (veja o site na seção Links) que endossam seu conteúdo e que servem como fundamento para toda metodologia considerada ágil.
Extreme Programming
Extreme Programming (ou simplesmente XP) é uma metodologia ágil para desenvolvimento de software proposta por Kent Beck, ideal para times pequenos e médios, que lidam com projetos complexos, onde os requisitos são vagos ou mudam constantemente.
Além de ser um método prescritivo simples de desenvolvimento, com diversas práticas de engenharia, de acordo com Kent Beck, XP é uma filosofia de desenvolvimento de software, pois integra não só os valores expressos no manifesto ágil, mas também propõe valores como Comunicação, Feedback, Simplicidade, Coragem e Respeito.
O ciclo de um projeto XP é apresentado na Figura 1.
Uma das premissas em um projeto XP é a participação efetiva do cliente junto à equipe de desenvolvimento, para que ambos possam trabalhar em conjunto com o objetivo de produzir um software que traga o máximo de valor para a empresa. Dentro deste contexto, no fluxo apresentado na Figura 1, podemos observar que um projeto XP inicia na Fase de Exploração, onde o cliente transmite a necessidade do projeto para o time de desenvolvimento, relatando a importância do mesmo para o negócio.
Nesta fase, é elaborada apenas uma projeção inicial da solução, sem focar nos detalhes de implementação, para que o time de desenvolvimento possa explorar soluções em potencial, reduzir o risco de problemas técnicos e aumentar a confiabilidade das estimativas das estórias do usuário (User Stories), o que auxilia o cliente a decidir se continua ou não com o projeto.
"
Este é um post disponível para assinantes MVP
Criando um Design Ágil com Extreme Programming
Aprenda a lidar com arquitetura de software no contexto de um projeto ágil utilizando Extreme Programming, e a aplicar boas práticas de Design OO com TDD
Na primeira e segunda parte desta série de artigos, publicados nas Edições 80 e 81, abordamos sobre fundamentos de arquitetura de software, padrões de projetos em uma arquitetura distribuída, analisamos como identificar sintomas de um software mal planejado, e como refatorar a sua aplicação para utilizar boas práticas de desenvolvimento OO.
Na última parte desta série, vamos analisar a fundo como funciona um Projeto XP, passando por todas as suas fases, e veremos também como adotar as práticas de engenharia da Extreme Programming para construir um software aplicando as melhores práticas de desenvolvimento OO utilizando TDD e testes de aceitação.
Abordaremos os valores destas metodologias através do Manifesto Ágil, apresentando de maneira clara como estes valores estão presentes na Extreme Programming. Analisaremos também, como a Arquitetura do Software é tratada em um projeto ágil e como algumas práticas do XP auxiliam na criação e evolução da Arquitetura. Por fim, vamos apresentar um estudo de caso onde implementaremos uma funcionalidade em um sistema fictício, mostrando desde a escrita da estória pelo cliente até sua implementação utilizando testes de aceite com o framework FitNesse e TDD.
O Manifesto Ágil
Nos últimos 10 anos vem emergindo um movimento que promove uma nova maneira de se desenvolver software, conhecido como Agile.
Este movimento tem ganhado muita força e notoriedade graças a Agile Alliance, uma organização sem fins lucrativos, formada por grandes nomes da comunidade de desenvolvimento de software, como Kent Beck, Alistair Cockburn, Ward Cunningham, Martin Fowler, Robert C. Martin, Ken Schwaber, entre outros.
Em 2001, estes profissionais, criadores de metodologias como Extreme Programming, Scrum e Feature Driven Development, se reuniram em um resort de esqui em Utah nos Estados Unidos, para discutir novas maneiras de se produzir software, de um modo menos burocrático, mais simples e focado em pessoas. Foi nesta reunião que nasceu o termo Desenvolvimento de Software Ágil, e mais importante, foi onde nasceu o Manifesto Ágil.
O Manifesto Ágil é uma declaração dos princípios que fundamentam o desenvolvimento ágil de software, expressos por meio de quatro valores fundamentais:
• Indivíduos e suas Interações acima de procedimentos e ferramentas;
• Software em funcionamento acima de documentação abrangente;
• A colaboração dos clientes acima da negociação de contratos;
• A capacidade de resposta a mudanças acima de um plano pré-estabelecido.
É importante frisar que o manifesto ágil não exclui em suas práticas o uso de ferramentas e outros elementos oriundos do desenvolvimento de software tradicional, mas que, dentro de uma escala, os valores que estão em negrito nos princípios acima, são mais importantes do que os valores que estão à direita.
O manifesto contempla ainda 12 princípios (veja o site na seção Links) que endossam seu conteúdo e que servem como fundamento para toda metodologia considerada ágil.
Extreme Programming
Extreme Programming (ou simplesmente XP) é uma metodologia ágil para desenvolvimento de software proposta por Kent Beck, ideal para times pequenos e médios, que lidam com projetos complexos, onde os requisitos são vagos ou mudam constantemente.
Além de ser um método prescritivo simples de desenvolvimento, com diversas práticas de engenharia, de acordo com Kent Beck, XP é uma filosofia de desenvolvimento de software, pois integra não só os valores expressos no manifesto ágil, mas também propõe valores como Comunicação, Feedback, Simplicidade, Coragem e Respeito.
O ciclo de um projeto XP é apresentado na Figura 1.
Uma das premissas em um projeto XP é a participação efetiva do cliente junto à equipe de desenvolvimento, para que ambos possam trabalhar em conjunto com o objetivo de produzir um software que traga o máximo de valor para a empresa. Dentro deste contexto, no fluxo apresentado na Figura 1, podemos observar que um projeto XP inicia na Fase de Exploração, onde o cliente transmite a necessidade do projeto para o time de desenvolvimento, relatando a importância do mesmo para o negócio.
Nesta fase, é elaborada apenas uma projeção inicial da solução, sem focar nos detalhes de implementação, para que o time de desenvolvimento possa explorar soluções em potencial, reduzir o risco de problemas técnicos e aumentar a confiabilidade das estimativas das estórias do usuário (User Stories), o que auxilia o cliente a decidir se continua ou não com o projeto.
"
A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVPEste post também está disponível para assinantes da Java Magazine DIGITAL
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
ou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Wagner Roberto Dos Santos
é Lead Editor da queue Arquitetura do portal Infoq Brasil (www.infoq.com/br), entusiasta do NetBeans IDE, tendo diversas participações na criação de plugins, traduções e testes do IDE. Palestrante em diversos eventos nacionais e vencedor de diversos prêmios de desenvolvimento, possui as certificaçõe...
O que você achou deste post?
Cursos relacionados
Publicidade



