tds-as
Aula 04 - Introdução a Metodologias Ágeis
O que uma Metodologia Ágil ?
Metodologia Ágil é uma nova forma de gestão e desenvolvimento de software que usa uma abordagem de planejamento e execução iterativa e incremental voltado para processos empíricos (complexos, caóticos ou com muita incerteza, que tem mudança ao longo do processo, não são repetitivos e são imprevisíveis) que divide o problema em produtos menores e que visa entregar software funcionando regularmente.
Manifesto Ágil - O que é o Manifesto Ágil?
– O Manifesto Ágil é uma declaração de valores e princípios essenciais para o desenvolvimento de software. Ele foi criado em fevereiro de 2001, onde se reuniram 17 profissionais que já praticavam métodos ágeis como XP, DSDM, SCRUM, FDD e etc.
Durante a reunião, foram observados os pontos comum de projetos que tiveram sucesso em suas metodologias e com base nesse pontos foi criado o Manifesto para Desenvolvimento Ágil de Software, no qual chamamos de Manifesto Ágil.
Valores do Manifesto Ágil
Indivíduos e interações mais que processos e ferramentas
– Devemos entender que o desenvolvimento de software é uma atividade humana e que a qualidade da interação entre as pessoas pode resolver problemas crônicos de comunicação. Processos e Ferramentas são importantes, mas devem ser simples e uteis.
Os valores do Manifesto Ágil
Software em funcionamento mais que documentação abrangente
– O maior indicador de que sua equipe realmente construiu algo é software funcionando. Clientes querem é resultado e isso pode ser com software funcionando. Documentação também é importante, mas que seja somente o necessário e que agregue valor.
Colaboração com o cliente mais que negociação de contratos
– Devemos atuar em conjunto com o cliente e não “contra” ele ou ele “contra” a gente. O que deve acontecer é colaboração, tomada de decisões em conjunto e trabalho em equipe, fazendo que todos sejam um só em busca de um objetivo.
Responder a mudanças mais que seguir um plano
– Desenvolver software e produtos é um ambiente de alta incerteza e por isso não podemos nos debruçar em planos enormes e cheio de premissas. O que deve ser feito é aprender com as informações e feedbacks e adaptar o plano a todo momento.
Os 12 princípios do Manifesto Ágil
Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor.
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.
Entregar software funcionando com freqüência, na escala de semanas até meses, com preferência aos períodos mais curtos.
Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto
Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho.
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.
Software funcional é a medida primária de progresso.
Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes.
Contínua atenção à excelência técnica e bom design, aumenta a agilidade.
Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
As melhores arquiteturas, requisitos e designs emergem de times auto organizáveis.
Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo.
Quais as características de uma equipe ágil?
Competência
-
– Habilidades específicas relacionadas a software
-
– Conhecimento global do processo que a equipe decidiu aplicar
Foco comum
-
– Todos devem estar focados em uma meta :
-
entregar um incremento de software em funcionamento ao cliente dentro do prazo prometido
-
Mesmo quando desempenham papeis diferentes nesse processo
Colaboração
– Os membros da equipe precisam colaborar:
-
uns com os outros;
-
com o cliente e;
-
com os gerentes do negócio.
– Criar informações que ajudarão o cliente e outros da equipe.
- Capacidade de tomada de decisão
– Liberdade de controlar o seu próprio destino à autonomia à equipe.
Habilidade de resolver problemas vagos
- – O problema que está sendo resolvido hoje pode não ser o problema que precisará ser resolvido amanhã
Respeito e confiança mútua
- – Uma equipe consolidada exibe confiança e respeito entre os membros
Auto-organização
- – A equipe serve como sua própria gerência
Ambiente, Trabalho e Cronograma
Atividade Teórica - Pesquisar sobre o uso das principais metodologias ágeis
-
SCRUM;
-
Programação Extrema (XP);
-
Feature Driven Development (FDD);
-
ScrumBan;
-
Lean;
-
OpenUP;
-
Design Sprint;
-
SAFe;
-
DevOps;
-
Agile Short Unified Process – ASUP;