Integração de times multi skills: DevOps

Compartilho com vocês um pouco da experiência de times multi skills que venho atuando com a implantação da cultura DevOps, a integração dos papéis, start do processo, execução, práticas que estamos utilizando e os resultados percebidos.

O que é a cultura DevOps?

A cultura surgiu da necessidade de melhorar agilidade nas entregas de TI. Devops foca em comunicação, colaboração e integração entre times de desenvolvimento e infraestrutura, mudando a visão de silos isolados.
Essa cultura veio estendida do modelo Agile , incluindo o lado operacional, promovendo integração contínua até a entrega com objetivo de agregar mais valor ao negócio com entregas mais rápidas de alta qualidade.

Nosso start

Na criação dos times foram selecionados desenvolvedores de senioridades mistas, trazendo para o time um senso de compartilhamento de conhecimento.

No modelo de negócio, nossos produtos tem muita necessidade de serviços de infraestrutura, por este motivo foram atrelados perfis com expertise e conhecimento atrelado aos produtos a serem desenvolvidos.

imagem ilustrativa integração de times multi skills

A integração do time

Nos primeiros encontros entendemos um pouco do papel de cada pessoa e o que executa dentro das suas responsabilidades.

Redefinimos o conceito de áreas para time, onde todos teriam o mesmo objetivo: entregar e agregar valor para o negócio com o desenvolvimento de um produto de qualidade.

Em seguida iniciamos inception e definição dos objetivos do negócio, visão do produto, problemas que queríamos resolver, funcionalidades envolvidas e por fim MPVs.

A sprint 0 (zero) teve como objetivo definir questões técnicas para melhor solução, juntos debateram e levantaram prós e contras, avaliaram as opções e definiram juntos.

DevOps na execução

Utilizando o framework Scrum fomos percebendo nas entregas incrementais que, para algumas atividades, era necessário skills específicos, e que isso algumas vezes gerava uma dependência de alguns integrantes. Sugeri para os times o mapeamento de competências de times, e após o levantamento geramos uma matriz para todos integrantes.

Com isso fizemos um quadro de quem queria ensinar e de quem queria aprender, priorizamos os assuntos e iniciamos talks para compartilhar conhecimento. Com o tempo e o conhecimento se disseminando esses problemas foram diluindo e diminuindo.

Logo no início, foi gerado um comprometimento alto de qualidade no qual é parte do processo teste unitário, peer review, teste integrado, documentação da solução apenas o necessário e refatoração.

Organizamos ambientes segregados para desenvolvimento e teste, onde só era submetido a produção após a validação de testes integrados.
A cada sprint geramos percepções do que estava avançando e do que podíamos melhorar (processos e ferramentas), criando plano de ação para melhoria contínua.

Integração com outros times e sistemas

No decorrer da criação da solução foram surgindo interações com times de outros produtos que envolviam diretamente a entrega do produto que estamos criando.

Havia algumas dificuldades de padrões que não estavam formalizadas, além do processo de merge e avaliação de código. Geramos encontros entre essas equipes para montar os acordos de trabalho e formas de sinalizar a finalização dos códigos para subida a produção.

Processos automatizados

Com os momentos de retrospectivas foi possível implantar melhoria continua, com isso além de melhorar o comprometimento, confiança e colaboração um dos itens que conseguimos colocar na prática foi automatizações de alguns processos. Alguns deles elevaram a performance do time, fazendo com que eles tivessem mais motivação para seguir o conceito.

Há pouco tempo entrou mais um skill pro time, desenvolvimento de testes automatizados, com isso começou a surgir as questões de como organizar o processo de deploy automatizado no continuos delivery e a segregação de ambientes.

Resultados percebidos com a cultura DevOps

Percebemos nesses meses que o sentimento de pertencimento a um time e comprometimento foi incorporado por todos.

Não há mais responsabilidades por área, todos ajudam a todos a resolverem as dificuldades. O fluxo de entrega ficou mais rápido, pois os impedimentos eram resolvidos internamente pelo time.

A questão da comunicação e alinhamento ficou muito mais transparente pois todos tem o mesmo objetivo. A questão da necessidade de provisionamento de ambientes segregados está clara para todos, e o preparo do ambiente é feita por integrantes do próprio time.

A facilidade de publicação das soluções e necessidade de automatização de processos nascem do time, a percepção é natural pois eles sempre tendem a ter mais performance. Os pontos que estamos trabalhando para melhorar estão vinculados a automatização de testes, monitoramento, gestão de incidentes e processo automatizado de deploy.

Esses são alguns dos passos que estamos executando a quatro meses, cada mês percebemos ganhos e amadurecimento para a cultura.
O aprendizado tem sido constante e tem gerando engajamento aos envolvidos, outros times vem se interessando e procuram apoio para vivenciar a cultura em seus times.

Espero que esse artigo ajude a quem tem interesse em adotar o Devops, e quem ainda não começou, minha sugestão é :

– Tente … da maneira que é possível dentro da sua realidade !!

A melhoria continua vem com o tempo, com prática , errando e aprendendo.
E se precisarem de alguma dica estou a disposição para compartilharmos experiências 😉


Metodologia ágil e fundamentos do Scrum

Nest post trouxe um material que fala sobre o metodologia ágil desde o seu manifesto, comento sobre mindset, valores e princípios. Na sequencia o passo a passo do framework do Scrum, seus fundamentos, valores, como funciona o processo passo a passo e papéis e responsabilidades dos participantes. Clique aqui e comenta se foi esclarecedor para você.

Transformação Ágil: algumas dicas por onde começar

O que significa Transformação ágil ?

Os valores da metodologia estão vinculados a mais interação entre pessoas, colaboração com cliente, responder bem a mudanças e foco no produto funcionando. Quando falamos nesses valores e avaliamos o modelo onde empresas ainda focam em contratos bem amarrados, processos burocráticos que não fazem sentido, planos de anos que ao chegar ao final já não tem mais o mesmo propósito, parece que faz mais sentido o motivo da necessidade da mudança. Eu particularmente acredito que nenhum modelo de negócio se sustenta com antigas metodologias, estão fadadas a diminuir seu faturamento ou até mesmo falir.

Vamos partir do significado da palavra transformação : ato ou efeito de se transformar ..(físico) qualquer alteração no estado de um sistema.
Agora vamos avaliar o significado do ágil, onde o significado que procuramos não está relacionado a ser rápido e sim ao conceito gerado pelo manifesto ágil em 2001, onde foi criada por um grupo de pessoas diferentes formas e conceitos de trabalho. Esses conceitos foram baseados em valores e propósitos onde está de fato o que queremos transformar. (Se quiser saber mais sobre o assunto segue o link https://www.manifestoagil.com.br)

Resumindo.. transformação ágil está relacionada a uma nova cultura de trabalho e relacionamentos, por isso ela pode estar atrelada a qualquer área, como exemplos Marketing, Publicidade e propaganda, Financeiro, Compras,Recursos humanos e Tecnologia.

Quem pode ajudar ?

paula martins

A consultoria do coaching nesse caso tem um olhar externo mais efetivo das questões culturais e mapear por onde começar. O processo é feito inicialmente com uma avaliação do momento atual, entendendo os pontos que necessitam ser trabalhados para conquistar a transformação. Esses passos dependem de cada consultor, normalmente estão atrelados a treinamentos e com continuidade de coaching.

Na agilidade a necessidade de mudar nem sempre está só vinculado a pessoas e processos, mas também à questões de infraestrutura e qualidade, onde se investe em ferramentas efetivas e uma arquitetura que apoia processos menos manuais, mais automatizadas.
Por isso o acompanhamento deste profissional é tão importante, para que de fato seja conquistado a transformação e não apenas baseado em adoção com mudança de processos e ferramentas. A transformação é aderida quando as questões comportamentais atreladas “a significação” que citamos no inicio deste artigo seja algo natural na empresa, não apenas executada por uma área. Ambientes abertos que recebem bem críticas construtivas, onde há colaboração para um propósito comum, costumam estimular novos comportamentos, além da liderança construtiva, que gera confiança, divide responsabilidades gerando engajamento.

Dicas gerais de aprendizado

As maiores dificuldades para transformação estão normalmente relacionadas ao mindset e comportamento das pessoas, mudar processos e rotinas de trabalho tiram as pessoas da zona de conforto, revelando pessoas resistentes. O coaching deve estar focado para que essas pessoas entendam o real valor e ganhos nestas mudanças e não disseminem conflitos.
Outro ponto significativo é o modelo de liderança e hierarquia que tendem ser resistentes por ter a ideia de perder o poder do controle sobre todas as coisas.

A agilidade traz no seu conceito que as pessoas sejam comprometidas com o que fazem, tendo assim responsabilidades pelas seus atos, pensar em trabalhar colaborativamente o tempo todo gerando melhoria contínua. Enfim processos menos burocráticos, foco na colaboração com cliente, documentar o que é importante, pessoas bem preparadas e qualificadas, investimento em qualidade, geram menos retrabalho , custo e clientes mais satisfeitos! 🙂