Desenvolvimento ágil de Software

Agile Development and DevOps culture

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Rocket clouds
Desenvolvimento ágil de Software por Mind Map: Desenvolvimento ágil de Software

1. Pilares

1.1. Responder a mudanças

1.1.1. mais que seguir um plano

1.2. Colaboração com o cliente

1.2.1. mais que negociação de contratos

1.3. Software em funcionamento

1.3.1. mais que documentações abrangentes

1.4. Indivíduos e interações

1.4.1. mais que processos e ferramentas

1.5. Mesmo havendo valor nos itens à direita

1.5.1. valorizamos mais os itens à esquerda.

2. Referências

2.1. Agile is Dead (Long Live Agility)

2.2. Agile: a Verdade por trás do Método

2.3. #noEstimates Debunked

2.4. Accountability

2.5. GOTO 2015 • Agile is Dead • Pragmatic Dave Thomas

3. Princípios

3.1. Entrega contínua de valor para o cliente

3.1.1. Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor

3.2. Aceitar mudanças de requisitos

3.2.1. 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.3. Entregar software funcionando com frequência

3.3.1. Entregar software funcionando com frequencia, na escala de semanas até meses, com preferência aos períodos mais curtos

3.4. Desenvolvimento e négocio, trabalhando em conjunto

3.4.1. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diáriamente, durante todo o curso do projeto

3.5. Dar suporte para os indivíduos

3.5.1. Construir ferramentas ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho

3.6. A conversa é a melhor maneira de trasmitir informações

3.6.1. 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

3.7. Software funcional é a medida primária de progresso

3.8. Manter constantemente o ambiente sustentável

3.8.1. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes

3.9. Contínua atenção à excelência técnica e bom design, aumenta a agilidade

3.10. Simplicidade

3.10.1. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito, é essencial

3.11. Times auto gerenciaveis

3.11.1. As melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis

3.12. Refletir em como ficar mais efetivo

3.12.1. Em intervalos regulares, o time reflete em como ficar mais efetivo, então, se ajustam e otimizam seu comportamento de acordo

4. Agilidade é

4.1. Entender aonde você está

4.2. Dar um pequeno passo para aonde você quer ir

4.3. Avaliar o que você fez baseado no que aprendeu

4.4. Repita

4.5. E quando tiver mais de uma alternativa para entregar o mesmo valor, tome decisões que serão mais fáceis de mudar no futuro

4.5.1. Um bom design, é mais fácil de mudar do que um mau design

5. Cultura DevOps

5.1. O que é

5.1.1. é uma métodologia de integração entre desenvolvedores e sysAdmins

5.2. CAMS

5.2.1. Cultura (Culture)

5.2.1.1. Colaboração

5.2.1.2. Fim das divisões

5.2.1.3. Relação saudável entre as áreas

5.2.1.4. Mudanças de comportamento

5.2.2. Automatização (Automatization)

5.2.2.1. Implementação

5.2.2.2. Controle

5.2.2.3. Monitoramento

5.2.2.4. Gerência de configuração

5.2.2.5. Orquestração

5.2.3. Avaliação (Measurement)

5.2.3.1. Métricas

5.2.3.2. Medições

5.2.3.3. Performance

5.2.3.4. Logs e integração

5.2.4. Compartilhamento (Sharing)

5.2.4.1. Feedback

5.2.4.2. Comunicação entre a equipe

5.3. Premissas técnicas

5.3.1. Infraestrutura como código

5.3.2. Orquestração de servidores

5.3.3. Deploy Automatizado

5.3.4. Gerência de configurações

5.3.5. Provisionamento dinâmico e automatizado de ambientes

5.3.6. Controle de versões compartilhado entre infraestrutura e desenvolvimento

5.3.7. Múltiplos ambiente para sistemas (desenvolvimento, teste, produção)

5.3.8. Ambientes de entrega e integração contínua (CI/CD);

5.3.9. Publicação de novas versões de software passando por um pipeline de testes automatizados que aceitam ou não a versão (TDD/BDD/ATDD);

5.3.10. Coleta, Processamento, Armazenamento e visualização de dados dos serviços e sistemas;

5.3.11. Monitoramento do ponto de vista do negócio com processamento adequado dos eventos e métricas

5.3.12. Capacidade de resposta rápida a incidentes e problemas utilizando automação

5.3.13. Backup e restauração confiáveis

5.4. Referências

5.4.1. O que é a cultura DevOps?