Se DevOps é sobre pessoas, então por que só se fala de ferramentas?

Igor Abade | CEO & Founder, CloudMotion

Microsoft Regional Director

Sobre o palestrante

Igor Abade de Vasconcellos Leite (Igor Abade V. Leite) é Microsoft Regional Director e palestrante em diversos eventos da comunidade de desenvolvimento de software (Microsoft Ignite, The Developers’ Conference, DevOps Summit Brasil, Agile Brazil, Visual Studio Summit, QCon e outros). Foi também autor de artigos em revistas e sites como o MSDN Brasil e FórumAccess.

Em 2019 fundou a CloudMotion, uma consultoria especializada em DevOps, Computação na Nuvem e Treinamentos.

Links

  • Site: igorabade.com.br
  • Twitter: @igorabade
  • LinkedIn: /igorabade
  • Instagram: @igoravl

O que esperar desta palestra?

Precisamos falar sobre DevOps

O paradoxo da entrega de software: Velocidade vs. Controle

Muro da Confusão

Muro da Confusão

DevOps pode ajudar

Mais valor para seus usuários

Mais respeito pelo seu time

O que é DevOps?

O que é DevOps?

Movimento profissional que defende uma relação de trabalho colaborativa entre o Desenvolvimento e as Operações de TI, resultando no rápido fluxo de trabalho planejado, ao mesmo tempo em que aumenta a confiabilidade, estabilidade, resiliência e segurança do ambiente de produção.

Gene Kim. Autor, “The DevOps Handbook” e “The Phoenix Project”

O que é DevOps?

DevOps é um conjunto de práticas que transforma capital humano em capital organizacional de alto desempenho.

John Willis. Co-autor, “The DevOps Handbook”

O que é DevOps?

DevOps é a união de pessoas, processos e ferramentas a fim de permitir a entrega continua de valor aos usuários finais

Donovan Brown. Cloud Advocate, Microsoft

O que é DevOps?

Vamos falar sobre processos

Bases do DevOps

C A L M S

  • Cultura
  • Automação
  • Lean (“Enxuto”)
  • Monitoramento
  • Compartilhamento (“Sharing”)

Lean Manufacturing

Princípios Lean

  1. Identificar Valor
  2. Mapear o fluxo de valor
  3. Criar o fluxo
  4. Estabelecer sistema puxado
  5. Buscar Perfeição

Lean Software Development

Mary e Tom Poppendieck

Sete Princípios

  • ELIMINE DESPERDÍCIOS
  • INCLUA QUALIDADE NO PROCESSO
  • ENTREGUE RÁPIDO
  • CRIE CONHECIMENTO
  • RESPEITE AS PESSOAS
  • ADIE COMPROMETIMENTO (DECISÃO)
  • OTIMIZE O TODO

Sete Desperdícios

  • TRABALHO PARCIALMENTE CONCLUÍDO
  • FUNCIONALIDADES ADICIONAIS
  • ATRASOS
  • REVISITAR DECISÕES
  • TROCA DE ATIVIDADES (“TASK SWITCHING”)
  • DEFEITOS
  • PASSAGENS DE SERVIÇO (“HANDOFFS”)

Vamos falar sobre pessoas

No passado...

  • Analistas de negócios/sistemas escreviam requisitos
  • Desenvolvedores escreviam código
  • Testers/QA garantiam a qualidade
  • Ops / sysadmins provisionavam / mantinham os ambientes
  • Segurança cuidava das ameaças
  • DBAs mantinham os bancos de dados no ar

Agora as linhas são mais tênues

  • Engenheiro de Software

    • Desenvolvedor
    • Tester / QA
    • Ops / Sysadmin
    • Segurança
    • DBA
  • Papéis se fundindo no Engenheiro

  • Laços de feedback mais rápidos (“shift-left”)

  • Corrige erros ao invés de gerenciar erros

  • Facilita proatividade

  • Experiências complementares, responsabilidade compartilhada

Objetivo: Entregar valor para o cliente

Primeira regra sobre um time DevOps...

… é que não existe um time DevOps

  • DevOps não é um cargo
    • É um mindset que deve estar em todo o time
  • Mas é aceitável haver um “time DevOps”
    • Comum durante processo de adoção/adaptação
    • Em algum momento deve sumir

Desenvolvedores num time moderno

  • Mudança de mindset: menos “programador”, mais “engenheiro”
  • Responsável não só por funcionalidades
  • Cuida também de qualidade, segurança e outros requisitos nãofuncionais
  • Qualidade é um problema de todos, não só “do QA”

Testadores num time moderno

  • Foco em automação
  • Menos testes manuais, mais testes automatizados
  • Traz mindset de qualidade para o time
  • Fusão com papel de desenvolvedor: • Evolução gradual para engenheiro

Ops num time moderno

  • Envolvidos no processo de desenvolvimento
  • Participam de design / arquitetura
  • Foco em estabilidade, escalabilidade, confiabilidade
  • Antecipam aspectos relacionados ao ambiente

PO num time moderno

  • Importante que times tenham o papel de Product Owner (PO)
    • Tipicamente alguém da área de negócios
    • Pode também ser desempenhado por analistas de sistemas/negócios
    • Responsável por decisões estratégicas no dia-a-dia
  • Papel fundamental no time

Estrutura tradicional de equipe

  • Baseado na estrutura departamental
    • Desenvolvimento, Controle de Qualidade, Infraestrutura…
  • Prós
    • Otimizado para eficiência em silos
    • Responsabilização (“accountability”) é mais clara
  • Contras
    • Otimizar localmente geralmente implica em degradar globalmente
    • Aumento de passagens de serviço (“handoffs”)
    • Ciclos de feedback mais longos

Estrutura Moderna (DevOps) de equipe

  • Foco em times multifuncionais
    • Abordagem Ágil / Lean
    • Times requerem conhecimento diversificado e aprofundado
  • Prós
    • Reduz a necessidade de passagens de serviço
    • Facilita / acelera os laços de feedback
    • Desloca o controle de qualidade para “a esquerda”
  • Contras
    • Frequentemente incompatível com a estrutura de departamentos
    • Pode causar conflitos entre times e gestores
    • Requer buy-in de cima para mudanças profundas
    • “Accountability” menos claro na transição

O caminho da mudança: piloto

Projetos-piloto de adoção permitem

  • Ganhar tempo
  • Otimizar investimento
  • Descobrir o que funciona (ou não)
  • Depois expandir para o resto da empresa

Práticas DevOps tendem a evoluir gradualmente

  • Foco na experimentação e melhoria contínuas
  • Pode requerer uma mudança na estrutura organizacional da empresa
  • Líderes são fundamentais

O papel do líder

  • “Líder servidor”
  • Suportar o time
  • Ajudar a resolver os problemas
  • Garantir a evolução do time
  • Ajudar o time a encontrar sua motivação

Proteja seu time da multitarefa

  • Pessoas não conseguem fazer duas coisas ao mesmo tempo
  • Troca de contexto implica em perda de produtividade de aprox. 40%
  • Perde-se tempo e qualidade

Evite:

  • Mudanças de Prioridades
  • Interrupções e Distrações
  • Alocação simultânea em mais de um projeto / atividade

Cuidando do moral do time

Não se esqueça: as pessoas são nosso maior patrimônio

  • Como o time está se sentindo?
  • Eles têm apoio para remover desperdícios?
  • Eles têm as ferramentas para evoluir?
  • Eles se sentem seguros?
  • Eles estão motivados?

Mantendo pessoas motivadas

Por que Como O que

Employee Net Promoter Score (eNPS)

  • Métrica para medir a satisfação das pessoas com o local de trabalho
  • Indicador importante de que algo não está funcionando
  • Pesquisa anônima

Duas perguntas simples:

  1. “Numa escala de 1 a 10, você recomendaria a sua empresa a um amigo ou parente como um local para se trabalhar?”
  2. “Numa escala de 1 a 10, você recomendaria a sua equipe a um amigo ou parente como um local para se trabalhar?”

Employee Net Promoter Score (eNPS)

Fórmula eNPS: %Promotores - %Detratores

eNPS alto = times felizes

  • Percebem a conexão entre seu trabalho e o impacto no cliente
  • Enxergam toda o fluxo de valor, desde o desenvolvimento até o cliente
  • Estão alinhados com os valores e objetivos da empresa
  • Sentem-se seguros para aprender, arriscar, evoluir
  • Podem contar uns com os outros

Dúvidas?

Obrigado!!!

Links

  • Site: igorabade.com.br
  • Twitter: @igorabade
  • LinkedIn: /igorabade
  • Instagram: @igoravl