O documento discute como empresas corporativas podem adotar práticas ágeis como Build-Measure-Learn e DevOps para melhorar processos de desenvolvimento, implantação e monitoramento de software. Apresenta desafios comuns como falta de foco, qualidade como fase separada e feedbacks que não geram ação, e como práticas como implantação contínua, infraestrutura como código e telemetria podem ajudar a superá-los. Defende que começar por pequenas mudanças focadas em aprendizado é melhor do que tentar "instalar" Ag
Acelerando a criação de testes usando IntelliTest (Visual Studio Summit 2015)
Build-Measure-Learn em sistemas corporativos
1. Muito além das startups:
Build-Measure-Learn em
sistemas corporativos
IGOR ABADE V. LEITE (@IGORABADE)
MICROSOFT MVP, VISUAL STUDIO ALM
LAMBDA3 (WWW.LAMBDA3.COM.BR)
2. Desde 2006
• Visual Studio Team System
• Visual Studio ALM
@igorabade
www.tshooter.com.br
Desde 2010
• Consultoria
• Desenvolvimento
• Treinamento
Democracia Organizacional
9. MonitoreImplemente
Productbacklog
OPS backlog
Softwareem produção
Requisitos
Perda de foco
Qualidade é uma fase
Passagem de bastão entre desenv e testes
Integração de times multiplataforma
Expectativa dos
usuários não
atendidas
Requisitos de produção não
atendidos/estabelecidos
Dificuldade para identificar causas
raiz em incidentes de produção
Ferramentas e
processos distintos
Usuários/
Stakeholders
Operações
Desenv & Teste
Feedback não gera ação
para desenvolvimento
Requisitos não
compreendidos
Prioridades
conflitantes
Começando por DevOps
10. “DevOps é a colaboração
Entre Desenvolvimento e
Infra (Ops)”
“DevOps é tratar sua
Infraestrutura como
código”
“DevOps é usar automação”
“Kanban
para Ops?”
“DevOps é usar
feature switches”
“DevOps é fazer
pequenas implantações”
11.
12.
13. Construa (Build)
Aprenda (Learn)
Meça (Measure)
MonitoreImplemente
Productbacklog
OPS backlog
Softwareem produção
Requisitos
Perda de foco
Qualidade é uma fase
Passagem de bastão entre desenv e testes
Integração de times multiplataforma
Expectativa dos
usuários não
atendidas
Requisitos de produção não
atendidos/estabelecidos
Dificuldade para identificar causas
raiz em incidentes de produção
Ferramentas e
processos distintos
Usuários/
Stakeholders
Operações
Desenv & Teste
Feedback não gera ação
para desenvolvimento
Requisitos não
compreendidos
Prioridades
conflitantes
Build-Measure-Learn + DevOps
20. Implantação Contínua
Crie um processo de implantação unificado que atende
a todos os ambientes.
Dispare implantações em ambientes específicos a partir
de builds automatizados.
Visibilidade para o pipeline
Veja liberações e problemas de uma aplicação num só
lugar.
Monitore o progresso de cada liberação.
Liberações Consistentes
Flexibilidade para definir aprovações para cada etapa
da liberação.
Defina o fluxo de trabalho de liberação e suas
atividades para cada uma de suas aplicações.
PowerShell DSC
Infrastructure as Code
Ative a implantação
contínua
Identifique problemas e padrões
em suas liberações
Verifique o status
de suas liberações
Controle granular sobre
todo o processo de
liberação
Totalmente integrado ao
build automatizado
Use ações pré-definidas
ou crie as suas
Defina, por ambiente, o
workflow de liberação e as
atividades
Dispare ações baseadas
nas aprovações
Maneira simples de
solicitar e responder a
aprovações
23. Telemetria é coletada em cada
camada: aplicações móveis,
aplicações de servidor e browser
Telemetria chega ao serviço do
Application Insights onde ele é
processado e armazenado
Visão 360° da aplicação cobrindo
disponibilidade, desempenho e
utilização
Application
Insights
24.
25.
26.
27.
28. Application Insights
Identifique
problemas e
padrões em sua
plataforma e
na aplicação em
produção
Cheque o pulso de sua
plataforma e aplicação
Monte um dashboard de
sua plataforma e aplicação
com as métricas que lhe
interessam
29. “Insanidade: fazer a mesma coisa
sempre e esperar resultados diferentes.”
- Albert Einstein