O gerenciamento do ciclo de vida do aplicativo (CVA) é um conjunto de processos utilizados para gerenciar a vida de um aplicativo à medida que ele evolui de uma ideia (uma necessidade de negócios) para um aplicativo implantado e eventualmente na sua manutenção.

Assim, olhar para DevOps como uma capacidade de negócio de ponta a ponta torna CVA o conceito fundamental subjacente ao processo DevOps. O DevOps amplia o escopo do CVA para incluir proprietários de negócios, clientes e operações como parte do processo.

O caminho de adoção do DevOps Desenvolvimento /Teste alinha-se com os recursos CVA tradicionais de:

  • Gerenciamento de requisitos
  • Gerenciamento de alterações
  • Controle de versões
  • Rastreabilidade
  • Gerenciamento de testes.

No entanto, outras capacidades CVA, como rastreamento e planejamento, ocorrem como parte do caminho de adoção do Plano e painéis e relatórios estão incluídos no caminho de adoção Operação.

  • A visão, objetivo e valor do projeto são acordados no início
  • Um mapa de fluxo de valor de todo o processo é desenhado
  • Use um processo automatizado para o teste de aceitação, teste de desempenho e implantação
  • Considere a adoção de métodos DevOps nos processos de negócios para que eles possam se tornar igualmente eficazes e eficientes

O DevOps matou o Gerenciamento do Ciclo de Vida do Aplicativo (CVA)?

Gerenciamento do Ciclo de Vida do Aplicativo (CVA)

hnz-consultoria-e-treinamentos-blog-o-devops-matou-o-gerenciamento-do-ciclo-de-vida-do-aplicativo-cva

Antes do CVA (pelo menos como um conceito formal) havia CVP – (PLM Product Lifecycle Management). CVP foi desenvolvido na indústria automobilística na década de 1980, como um conjunto integrado de práticas para a gestão de produtos manufaturados ao longo de seus ciclos de vida. Requisitos integrados do CVP e gerenciamento de configuração, design e engenharia auxiliada por computador, planejamento de recursos, suporte a produtos e todos os outros elementos-chave do ciclo de vida de um produto. Para isso, é necessário não só integração nos níveis de departamento e de gerenciamento de projetos, mas também integração de bancos de dados relacionados a produtos, bem como software para gerenciamento, projeto e administração.

Em muitos aspectos, CVA é a aplicação dos princípios do CVP ao desenvolvimento e operações de software. Em retrospecto, este era um desenvolvimento inevitável; A adoção do próprio CVP foi em grande parte impulsionada pela disponibilidade e uso das ferramentas de software software que o tornaram possível. Não demorou muito para que os desenvolvedores de software começassem a aplicar os mesmos tipos deferramentas e práticas à sua própria indústria.

Como no caso da fabricação, muitas das ferramentas de gerenciamento reais estavam disponíveis e em uso muito antes de a ideia do gerenciamento integrado do ciclo de vida se tornar atual. Não era nada incomum para uma empresa usar uma combinação de ferramentas individuais e não integradas e práticas ad-hoc para itens como requisitos, design, gerenciamento de código-fonte, lançamento, testes, relatórios de bugs e gerenciamento de projetos em geral. Muitas dessas ferramentas se prestavam muito naturalmente à ideia de integração – configuração, construção e liberação de gerenciamento, requisitos e design, testes, gerenciamento de problemas e suporte ao usuário – e em muitos aspectos, o CVA serviu como o quadro teórico e prático para colocar juntos as peças de um quebra-cabeça já existente.

Quando o CVA é implementado como parte de uma metodologia tradicional de desenvolvimento de software estilo cascata, ele tende a assumir as características da própria metodologia. Isso não é surpreendente – a integração torna as práticas existentes mais eficientes, mas não as altera necessariamente, e CVA é pelo menos compatível com um estilo de gestão descontrolado e relativamente inflexível.

Mas CVA também se encaixa no quadro Agile. As ferramentas Agile CVA funcionam bem com as interações rápidas, de pequeno grupo, de design, código e teste do Agile e a filosofia geral do CVA se reduz facilmente do mundo corporativo tradicional para o mundo muito mais imediato do desenvolvimento ágil. Mais do que qualquer outra coisa, o conceito da CVA de integração completa do ciclo de vida combina com a a apertada integração do ciclo de vida do desenvolvimento que é fundamental para o Agile.

Em grande medida, o Application Lifecycle Management como filosofia é incorporado ao Agile e a implementação do verdadeiro Agile CVA tem sido em grande parte uma questão de encontrar ou desenvolver as ferramentas certas e de dimensionar as práticas de ALM para o Agile. Agile não seria Agile sem a abordagem altamente integrada que compartilha com CVA.

E, é claro, o DevOps é uma consequência natural do Agile, trazendo as operações para o modelo Agile de desenvolvimento rápido e de iteração frequente nas mãos de uma equipe relativamente pequena. Se alguma coisa, DevOps aumenta o nível de integração, estendendo-o de desenvolvimento em operações, o que significa que ele realmente coincide com a gama completa de CVA ainda mais de perto do que básico Agile.

Operações, afinal, podem representar ainda mais (frequentemente muito mais) do ciclo de vida de uma aplicação do que o desenvolvimento. O DevOps é o engajamento de linha de frente de todo o ciclo de vida do aplicativo, de modo que o gerenciamento do DevOps é, por definição, o Gerenciamento do Ciclo de Vida do Aplicativo. De muitas maneiras, então, DevOps é o resultado final da implementação de CVA dentro do framework Agile. Mas, do ponto de vista da gestão tradicional, o resultado não se parece em nada com CVA, levando algumas pessoas a se perguntarem se há espaço suficiente para CVA no mundo DevOps. Se DevOps é o cumprimento do CVA aplicado ao Agile, por que ele não parece assim? O que é que iria mesmo levantar a questão de saber se DevOps matou CVA?

CVA, como implementado no mundo do desenvolvimento de software tradicional, não desafiou a divisão existente do ciclo de vida da aplicação em fases discretas – simplesmente as integrou em um sistema global de gerenciamento de projetos e dados. Agile CVA, no entanto, difunde a distinção entre essas fases, e em grande medida, DevOps eliminá-los completamente. Sem qualquer distinção clara entre as várias fases de desenvolvimento de software / suporte, torna-se difícil à primeira vista ver como CVA mapeia no mundo DevOps.

Este é um resultado natural do sistema DevOps de entrega contínua; Não faz sentido tentar quebrar o ciclo de DevOps em fases discretas que correspondam às fases de desenvolvimento de software tradicionais, porque consiste em pequenas etapas estreitamente conectadas que não prestam atenção aos limites de fase tradicionais. No entanto, o CVA tradicional baseia-se em fases discretas de desenvolvimento de software apenas porque surgiu de um ambiente em que essas fases eram a regra. Se tivesse desenvolvido em um mundo Agile / DevOps, não teria sido baseado em fases sequenciais, estilo Cascata. Mas, novamente, em um mundo Agile / DevOps, não teria sido necessário formular um conceito separado de Gerenciamento do Ciclo de Vida do Aplicativo, porque ele está integrado ao DevOps.

Assim, CVA está longe de morrer no mundo DevOps, e as ferramentas CVA têm um lugar importante no DevOps. A natureza dessas ferramentas – ou pelo menos seu foco – é um pouco diferente, é claro. No DevOps, a cultura é um elemento-chave que foi perdido no CVA, a integração é ainda mais importante, e as ferramentas de gerenciamento precisam reunir e dar sentido aos dados de uma variedade de aplicações discretas. O DevOps substitui o paradigma de “início e término de uma fase, então comece e termine a próxima fase” do CVA tradicional com algo que está muito mais perto de “mergulhar no fluxo aqui, aqui e aqui e monitorar e controlar o fluxo sem parar Ele “. O processo e as ferramentas podem parecer (e ser) muito diferentes, mas o objetivo básico ainda é o mesmo – gerenciar o ciclo de vida do aplicativo.

Leave a Reply