Desenvolvimento Ágil de Software

Software infelizmente é sinônimo de problemas para muitas pessoas, sejam elas empresas, clientes ou usuários. Boa parte disso se deve as inúmeras dificuldades enfrentadas durante o desenvolvimento: baixa qualidade, requisitos não atendidos, prazos longos,  falta de feedback, orçamentos fora do estimado, dentre tantas outras.

Origem: A crise do software

O termo “Crise do software” foi utilizado na década de 70 para expressar as dificuldades frente a enorme demanda por software, aumento da complexidade e inexistência de técnicas adequadas para o desenvolvimento. Na tentativa de resolver a questão, foram elaboradas metodologias e técnicas a partir de outras áreas, como a construção civil e nas produções em séries. Como resultado, surgiu a Engenharia de Software.

Com a Engenharia de Software foram definidos diversos modelos para a especificação, implementação e manutenção do software. Entretanto, ao longo do tempo, tudo isso se mostrou incapaz de atender aos reais problemas, devido aos ”pesados” modelos impostos, caracterizados por um processo rígido, burocráticos e sem feedback rápido. Em grande parte dos projetos, a dor de cabeça para as empresas e clientes ainda continua sem solução.

Qual é a solução?

Em meados da década de 90 começou uma reação contra os modelos rígidos. Como resposta, foram elaboradas idéias e modelos visando a agilidade. Em 2001, pessoas da comunidade se reuniram em Snowbird e adotaram o nome métodos ágeis (agile) e publicaram o Manifesto Ágil.

Manifesto Ágil

É um conjunto de metodologias e técnicas (Scrum, XP, BDD, entre outras) de desenvolvimento de software na qual visam a agilidade do desenvolvimento do software e focadas nas pessoas. O objetivo é maximizar ambientes ágeis, garantindo o trabalho em equipes o tempo todo.

      Valores

  • Indivíduos e interação entre eles 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

      Doze Princípios

  1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
  2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas.
  3. Entregar software funcionando com freqüencia, na escala de semanas até meses, com preferência aos períodos mais curtos.
  4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diáriamente, durante todo o curso do projeto.
  5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
  6. O Método mais eficiente e eficaz de transmitir informações para, e por dentro de um time de desenvolvimento, é através de uma conversa cara a cara.
  7. Software funcional é a medida primária de progresso.
  8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
  9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
  10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  11. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.
  12. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.

E na Agivis?

Cientes das vantagens das metodologias ágeis, aplicamos esses conceitos em todos nossos projetos. Somos um time engajado e motivado para atender de forma clara, transparente e aberta as necessidades de nossos clientes. Para saber melhor sobre o nosso processo de desenvolvimento, deixe sua dúvida aqui no blog ou entre em contato.

Gostou do conteúdo do post? Deixe seu comentário e nos siga no Twitter.