Por que o DevOps não se integra bem aos negócios russos e quem é o culpado

O que é DevOps e quais tarefas um engenheiro de DevOps realiza

O termo DevOps (Operações de Desenvolvimento, ou operações dentro

desenvolvimento - "Alta tecnologia") foi usado pela primeira vez emConsultor de TI de 2009, Patrick Debois. No fundo, significa não apenas uma vaga, mas toda uma metodologia que permite criar produtos digitais de forma mais eficiente e rápida. Um conjunto relacionado de ferramentas de desenvolvimento, gerenciamento de produtos, engenharia de software e outras especialidades garante um processo contínuo de criação de software.

Um rico arsenal de práticas aproxima o DevOps de outras pessoaspopular na esfera de TI usando o método Agile. É uma abordagem de design iterativa que permite que você se adapte às mudanças de requisitos. Conseqüentemente, o especialista em DevOps tenta tornar o produto melhor e os processos de negócios mais previsíveis e transparentes. Ele também melhora as métricas de negócios, como reduzir o tempo de chegada ao mercado. Esse é o período de tempo desde o início do desenvolvimento do produto até seu lançamento no mercado. O conhecimento dos fatores que aumentam o tempo para criar software e uma abordagem de sistemas permitem que o engenheiro de DevOps torne a produção contínua e rápida. Para tornar isso mais claro, você pode fazer uma analogia com uma correia transportadora para montar carros. Todas as peças são projetadas com antecedência para que se encaixem perfeitamente durante a montagem. Os engenheiros que projetam um motor pensam em como ele funciona em conjunto com rodas, freios e assim por diante. DevOps faz o mesmo: assume responsabilidade por mais do produto do que o desenvolvedor, garante que todas as equipes colaborem.

Pink Pony World: Race for Fashion Philosophy

No entanto, nem todas as empresas precisam de DevOps. Por exemplo, em equipes sem departamentos de TI pré-existentes que não estão envolvidos na produção digital, a filosofia DevOps não se aplica a todos. Essas áreas incluem empresas cujo lucro não depende diretamente da satisfação dos clientes com o produto de TI com o qual interagem. Além disso, muitas vezes não é adequado para pequenas empresas. A metodologia requer mudanças em muitos processos de negócios estabelecidos e até mesmo na cultura corporativa. As pequenas empresas podem simplesmente não tolerar tais mudanças do ponto de vista da economia do projeto.

A doença da moda da transformação digital é muitas vezesdiz respeito aos dirigentes dessas empresas. Em busca de otimização sem fim, eles se esquecem de outros fatores que afetam os negócios. Como resultado, as empresas perdem dinheiro, eficiência e, na pior das hipóteses, processos de negócios que foram construídos ao longo dos anos. Gigantes de TI, bancos, grandes eventos comerciais e industriais são outra questão. Para eles, o DevOps pode ser muito benéfico. Assim, de acordo com o relatório anual do Alfa-Bank de 2017, a introdução da metodologia permitiu-nos acelerar o desenvolvimento e implementação em 60 vezes.

Stakhanovite-mnogostanochnik em vez de uma oficina

Claro, uma funcionalidade tão extensa é difícilpor funcionário, então o ideal é que toda uma equipe multifuncional esteja envolvida no DevOps. Inclui profissionais em funções e gerentes de processo e produto, desenvolvedor de código de infraestrutura, engenheiro e muitas outras funções. No entanto, na prática russa, um especialista em DevOps pode muitas vezes se tornar uma maneira elegante de economizar dinheiro na criação de produtos. Normalmente, essa situação ocorre depois que o gerente sênior da empresa decide que chegou a hora da transformação digital. A empresa recruta com urgência novos especialistas ou expande a lista de responsabilidades dos desenvolvedores e administradores de sistema existentes. Como resultado, os serviços de recrutamento não criam vagas para engenheiros de DevOps, mas para funcionários com várias estações.

Esse funcionário pode ser obrigado individualmenteconfigurar servidores, organizar sistemas de cabeamento e rastrear erros, configurar bancos de dados e hospedagem de projetos e assim por diante. Este exemplo é extremo, mas real. Com isso, os funcionários se esgotam rapidamente e a implantação da metodologia no trabalho da empresa falha. Tratar um especialista em DevOps como um mágico que pode lidar simultaneamente com um grande número de tarefas, juntamente com o monitoramento da operação de todo o sistema, não trará lucro para o negócio.

Outro problema comum está relacionado adividir a equipe em dois grupos que não conseguem se dar bem. Imagine que uma empresa de TI tenha um departamento de DevOps, que pode alterar as regras usuais de trabalho. No entanto, essas regras permanecem vinculadas a outros desenvolvedores. Claro, neste caso não há necessidade de falar sobre cooperação e “perfeição” do trabalho. As duas equipes começam a se chocar e a produtividade cai.

Um barril de pólvora no porão: DevOps não é apenas habilidades

Uma das tarefas do departamento de DevOps é estabelecercomunicação entre os diferentes especialistas de TI da empresa. Os engenheiros de DevOps não devem apenas implementar tecnologias e processos de depuração, mas também imergir a equipe de desenvolvimento no curso dos negócios - compartilhar responsabilidades, ajudar a aumentar as competências. No entanto, tais especialistas muitas vezes lidam com tarefas puramente técnicas, geralmente devido à falta banal de tempo, tanto para eles como para aqueles cujas competências precisam ser aumentadas.

Como resultado, devido ao fato de que a moda introduziuTodos usam tecnologias, e o conhecimento e as habilidades estão concentrados em um departamento, surgem situações problemáticas, inclusive catastróficas. Novas soluções criadas por engenheiros de DevOps, sem o trabalho coordenado de diferentes departamentos, podem trazer tantos problemas quanto deveriam ter resolvido inicialmente, o que não significa que os especialistas em DevOps devam criar uma cultura corporativa do zero, como os domésticos parecem muitas vezes acreditar. líderes. A unidade do pipeline de produção digital e o incentivo à transferência de novas competências e comunicação devem partir das lideranças da empresa. Sem isso, mesmo a equipe de DevOps se desenvolverá mal e não compartilhará conhecimento com a equipe.

Nem terceirização de DevOps nemconsultar um especialista externo. No primeiro caso, a equipe externa é orientada não pelas necessidades da empresa cliente, mas pelo conjunto padrão de tecnologias que são cotadas no mercado. Para o cliente, isso é uma loteria: os funcionários terceirizados têm um entendimento vago de DevOps no mercado. Como resultado, os processos de negócios ficam cada vez mais complexos, mas isso não traz nenhum benefício para o negócio. Freqüentemente, as próprias empresas incentivam essa abordagem - por exemplo, pedem que você não mude os processos de desenvolvimento. É claro que isso contradiz o próprio conceito de DevOps.

Longo, caro, problemático: DevOps severo em russo

Вместо того, чтобы применять философию DevOps ко Para todos os processos de negócios, as empresas nacionais geralmente preferem trabalhar com ferramentas que não afetem a velocidade do trabalho. Um dos resultados, por exemplo, é a "parede de tijolos" - as operações, ou seja, a equipe de administradores do sistema, permanecem isoladas, e os desenvolvedores apenas jogam aplicativos neles. Obviamente, a caixa de ferramentas ainda está melhorando como resultado. No entanto, mudanças fundamentais não estão ocorrendo, a transparência não está aumentando e a colaboração da equipe de TI não está melhorando.

Outro obstáculo que eles encontramgestores ao implementar DevOps – falta de bases de conhecimento corporativo. De acordo com o relatório DORA 2019, as equipas que utilizaram fontes internas de informação da empresa foram 1,73 vezes mais eficazes do que outras. Este problema se resume novamente à cultura fechada de muitas empresas russas, nas quais a equipe não compartilha conhecimento. Devido a esta natureza fechada, as empresas começam a acumular dívida técnica. As ferramentas estão ficando desatualizadas, os artefatos não são removidos, a documentação não é atualizada.

A necessidade empresarial objetiva de estabilidade de produção e, portanto, de lucro, aliada a uma base tecnológica desatualizada e dívida técnica levam ao uso malsucedido de DevOps.

Tudo isso geralmente leva ao fato de que, após uma longa agonia, as novas soluções oferecidas pela equipe de DevOps são simplesmente descartadas e os processos são "revertidos".

Cada empresa tem seu próprio caminho de transformação digital.Na maioria dos casos, isso realmente muda para melhor como seu código é desenvolvido e implantado. Isso significa que o DevOps ainda existe na Rússia: a cada mês aparecem no mercado muitas vagas relacionadas a essa metodologia. Outra coisa é que existem diferentes definições de uma especialidade e tarefas práticas por trás delas. No entanto, as empresas devem parar de perseguir sistemas de TI ideais fantasmagóricos e ser críticas em adotar uma filosofia moderna, mas não necessariamente lucrativa, priorizando suas próprias necessidades.

Veja também:

Pode haver universos em buracos negros. Nós falamos sobre a nova descoberta

No terceiro dia de doença, a maioria dos pacientes com COVID-19 perde o olfato e geralmente sofre de corrimento nasal

Pesquisa: 15 milhões de toneladas de microplásticos encontrados no fundo do oceano