Quase todas as organizações com um departamento de TI em funcionamento tentam aperfeiçoar algumas variações do DevOps em seu fluxo de entrega de software. E para que funcione como deve, o DevOps requer novas habilidades e mentalidade para assim alcançar os resultados pretendidos.
Quando bem feito, o DevOps é poderoso e oferece resultados visíveis. Então, automatizar o teste e garantia de qualidade, por exemplo, pode proporcionar um ROI de 250 a 300% mês a mês, de acordo com Chris DeGonia, diretor de QA da SOS internacional. Em um podcast recente com Kalyan Rao Konda, presidente e chefe da unidade de negócios da América do Norte na Cigniti, ele credita a capacidade de automatizar o fluxo, através de processos, verificações e balanços repetitivos no sistema.
Embora a automação permita a proliferação do DevOps, são necessárias pessoas com as habilidades e mentalidades certas para que as coisas aconteçam, enfatizam DeGonia e Konda. A mentalidade é importante, pois além de possuir o conhecimento geral de testes de software e funcionalidade de aplicativos, os engenheiros de teste agora precisam aumentar continuamente sua base de conhecimento nas últimas tendências e ferramentas. A implementação do DevOps está pressionando os engenheiros de teste a manter aprendendo cada vez mais sobre novas tecnologias.
As principais habilidades necessárias para o sucesso do DevOps incluem conhecimento de rede, scripts exclusivos básicos, capacidade de trabalhar com ferramentas de integração contínua e entrega contínua, como Jenkins, ferramentas de teste de desempenho e também uma compreensão decente dos contêineres”, diz Kalyan. “Os engenheiros de teste também precisam ter um entendimento justo do papel da nuvem e como os serviços em nuvem estão sendo usados ??no desenvolvimento e na hospedagem de produtos ou aplicativos.
DevOps requer novas habilidades e mentalidade
Ter uma mentalidade de DevOps é fundamental aqui, continua Kaylan.
Existe a necessidade de promover a colaboração dentro e entre as equipes para garantir a implementação correta do DevOps. As atividades de teste são fortemente integradas ao ciclo de vida de desenvolvimento de software em um ecossistema DevOps. Isso exige que várias equipes trabalhem em estreita colaboração, lado a lado, diariamente, a fim de cumprir os prazos de entrega significativamente reduzidos.
Kaylan enfatiza a importância do aprendizado constante com uma analogia:
Como um pássaro sentado em um galho, não acho que você deva depositar muita fé no galho, mas deve ter mais fé em suas asas. Se o galho do mesmo modo, os profissionais de teste de software precisam garantir que continuem melhorando suas habilidades, o que continua a ser relevante para as tendências da indústria.
Da mesma forma, uma mentalidade de DevOps é algo que pode ajudar uma organização a continuar voando, independentemente de quais mudanças de tecnologia ou de negócios ocorram por baixo. Existem seis princípios principais que definem uma mentalidade de DevOps, conforme identificado pela DevOps Agile Skills Association:
-
Seja para servir o cliente:
As organizações DevOps exigem que a coragem de agir como startups enxutas que inovam continuamente, giram quando uma estratégia individual não está (ou não está mais) funcionando e investe constantemente em produtos e serviços que receberão um nível máximo de cliente deleite.
-
Crie com o objetivo em mente:
Organizações de TI “precisam agir como empresas de produtos que se concentram explicitamente na criação de produtos vendidos para clientes reais, e todos os funcionários precisam compartilhar a mentalidade de engenharia necessária para visualizar e realizar esses produtos”.
-
Incentive a responsabilidade de ponta a ponta:
Onde as organizações tradicionais desenvolvem soluções de TI e as entregam às operações para implantar e manter essas soluções, em um ambiente de DevOps, as equipes são organizadas verticalmente, de modo a serem totalmente responsáveis ??do conceito ao túmulo.
-
Promova equipes autônomas multifuncionais:
Equipes de DevOps “precisam ser totalmente independentes durante todo o ciclo de vida” e até “se tornar um foco de desenvolvimento e crescimento pessoal”.
-
Melhore continuamente:
Minimize o desperdício, otimize a velocidade, os custos e a facilidade de entrega, e para melhorar continuamente os produtos e serviços oferecidos.
-
Automatize tudo o que puder:
Pense na automação não apenas do processo de desenvolvimento de software (entrega contínua, incluindo integração e implantação). Além disso, é também todo o cenário da infraestrutura, criando plataformas de nuvem baseadas em contêineres de última geração. Assim, permitem a versão da infraestrutura e tratado como código também.
Treinamento interno
Quando a organização não tem recursos para fornecer o treinamento internamente, os funcionários de SI ou de TI podem ter a opção de seguir o treinamento fornecido por uma fonte externa. Por exemplo, um centro de treinamento, faculdade ou universidade ou um currículo on-line.