anterior
Tweet about this on TwitterPin on PinterestShare on LinkedInShare on Google+Email this to someoneShare on Facebook
QR CODE

Metodologias Ágeis para desenvolvimento de software – Parte I

Oi pessoal!

Neste post irei falar sobre metodologias ágeis na área de desenvolvimento de software, comentar sobre sua história, seus valores, princípios e sua importância nos dias atuais dentro de uma empresa. Para você que tem interesse em entrar na área da programação não pode deixar de ter conhecimento sobre esse assunto. Gostaria também de deixar bem claro que não irei comentar sobre uma metodologia especifica, mas sim de todas em geral.

Figura-01

Nos dias atuais, as empresas de desenvolvimento de software enfrentam grandes problemas para desenvolver um software de qualidade, no prazo e dentro do orçamento. A engenharia de software busca sistematicamente esses problemas, e criam métodos para a melhora de produtos e projetos de software e para poder resolver esses problemas, foram criados métodos para desenvolver softwares com qualidade, com entregas no prazo e o melhor, sem retrabalho, que deixa o produto final mais barato.

O que é metodologia ágil?

Figura-02

Abordagem ágil ou metodologia ágil é um conjunto de processos para desenvolvimento de software, ou seja, é uma coleção de metodologias baseada na prática para modelagem efetiva de sistemas baseados em software. Através de erros e acertos em projetos anteriores podemos melhorar os próximos e podem ser aplicados por profissionais de software no seu dia a dia. As metodologias ágeis tem a função de minimizar os riscos da “não entrega” do software no período estipulado, no qual é chamado de interações (entrega da parte do projeto) e essas interações tem um tempo muito curto para serem criados, os quais gastam normalmente de uma semana até quatro. Cada interação é como um projeto de software, e nela inclui todas as tarefas ou processos necessários para implantar a interação da nova funcionalidade, com isso existe uma melhora constante e os problemas são resolvidos constantemente.

As metodologias ágeis se resumem em princípios, abaixo veremos os princípios mais importantes das metodologias ágeis:

  1. Uma das maiores prioridades é pela satisfação do consumidor por meio de entregas continua de valor e em um curto período de tempo;
  2. Mudanças de requisitos são bem vindas mesmo em estágios avançados do desenvolvimento. Processos ágeis aproveitam as mudanças em benefícios da vantagem competitiva do cliente;
  3. Entregar o produto funcionando em curto período;
  4. Desenvolvedores e gestores devem trabalhar diariamente em conjunto;
  5. Criar projetos com as pessoas motivadas. Confie nelas e de suporte e ambiente para que o trabalho seja feito;
  6. O método mais eficiente e eficaz de transmitir informações em um projeto é sempre informando diretamente ao cliente;
  7. Produto funcionando é a principal medida para o progresso;
  8. Processos ágeis promovem o desenvolvimento sustentável. As empresas contratantes, os desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente;
  9. Atenção contínua excelência técnica e ao design melhoram a agilidade;
  10. Simplicidade. A arte de deixar de fazer trabalhos desnecessários é essencial;
  11. Os melhores requisitos, arquiteturas e design surgem de equipes que praticam a autogestão;
  12. Em um determinado período de tempo a equipe deve repensar sobre como se tornar mais eficaz. Após a reflexão deve reajustar-se de acordo com as necessidades percebidas.

Como Surgiu?

Figura-03

As Metodologias Ágeis tornaram-se popular a partir de 2001 quando um grupo de dezessete especialistas em processos de desenvolvimento de software decidiu se reunir nos EUA, para discutir maneiras de melhorar o desempenho de seus projetos. Embora cada envolvido tivesse suas próprias práticas e teorias sobre como fazer um projeto de software ter sucesso, cada um com as suas particularidades, todos concordavam que, em suas experiências conseguiriam criar um conjunto de princípios para desenvolver uma nova metodologia.

Através dessa reunião se criou o manifesto ágil que também ficou conhecido com Software Development Alliance, ou simplesmente, Agile Alliance. Que é uma organização sem fins lucrativos, com adesão global, comprometida com o avanço e princípios de desenvolvimento e práticas ágeis.

Este grupo de pessoas definiu um manifesto para encorajar melhores meios de desenvolver software e, com base nesse manifesto, formulou um conjunto de princípios que definem critérios para os processos de desenvolvimento ágil de software. A partir dai então o termo Desenvolvimento Ágil passou a descrever abordagens de desenvolvimento que seguissem estes conceitos que implicam em valorizar:

  • Indivíduos e interação entre eles são mais que processos e ferramentas;
  • Software em funcionamento mais que documentação abrangente;
  • Colaboração com o cliente mais que negociação de contratos;
  • Responder a mudanças mais que seguir um plano.

O Manifesto Ágil deixa bem claro que os processos, ferramentas, documentação, a negociação de contratos ou o planejamento, têm importância secundária quando comparado com os indivíduos e interações, com o software funcionando, com a colaboração com o cliente e as respostas rápidas a mudanças e alterações.

Os Métodos Ágeis são Orientados a pessoas e não a processos: os processos têm desenvolvimento de software tem função de funcionar independentemente de quem os executa. Já os métodos Ágeis levam em consideração os indivíduos, sendo elaborados para auxiliá-las.

Para que tenha sucesso na implementação

Figura-04

Para que o projeto obtenha sucesso em sua implementação segue alguns princípios do método APM:

Entregar valor ao cliente: princípio relacionado a colaboração, onde a parceria deve existir entre desenvolvedores e clientes, cada um com suas respectivas responsabilidades para que seja possível realizar a entrega de valores ao cliente.

Empregar entregas interativas baseados em características: resumindo em quatro aspectos diferentes tais como: iteração baseado em características, espaço de tempo e incremental. A fase de interação é a criação parcial do produto, sendo realizadas futuras modificações e criada novas adaptações em um curto prazo de desenvolvimento. A entrega baseada em características propõe uma pré-visualização do produto final. A perspectiva para o espaço de tempo e incremental estão simultaneamente relacionadas aos curtos períodos de desenvolvimentos durante as iterações e expansão dessas versões;

Buscar excelência técnica: tem a função de buscar melhorar cada vez mais o produto este princípio visa a excelência técnica no desenvolvimento de produtos para que assim o mesmo tenha possibilidade de ser bem-sucedido e permanecer por mais tempo no mercado;

Encorajar a exploração: parte do princípio que o gerente de projetos tem fundamental importância no encorajamento a experimentação e o aprendizado por meio através dos sucessos e fracassos obtidos auxiliando os membros da equipe a visualizar o objetivo a ser alcançado. Dessa forma o gerente de projeto criar um ambiente apto as inovações.

Formar equipes adaptáveis: a principal tarefa do gerente de projetos está baseada no controle da liberdade, flexibilidade e responsabilidade, mesmo com a inconsistência de dados e ambiguidade das fases iniciais o gerente deverá instruir a sua equipe para que seja possível apresentar uma visão do produto que esteja prevista no escopo do projeto;

Simplificar: com o objetivo de simplificar algumas atividades burocráticas esse princípio busca diminuir a quantidade de documentações geradas, a forma em que as tarefas são detalhadas, transformando em um ambiente propício a inovação, uma vez que os desenvolvedores não precisam se preocupar com tais tarefas.

Pessoal espero que tenham gostado do post, é apenas a primeira parte, e não perca o próximo post sobre Metodologias Ágeis. Não esqueçam de comentar e compartilhar o post.

 

Próximo

Postado por

Postagem Relacionada

Apresentação Prezi – Parte I
Você já conhece o Prezi? Confira a primeira parte das postagens sobre esse software super
  • Mauricio Silva

    Ótimo artigo. Para conhecer um pouco mais visite o meu site, tem algumas informações sobre métodos ágeis de desenvolvimento. http://agiledevelop.blogspot.com.br/