Nesse artigo iremos abordar em como funciona o Continuous Delivery Pipeline do SAFe. Mas antes de falar sobre sua constituição é necessário dar um passo atrás e falar sobre o framework que sustenta esse pipeline, estou falando do DevOps.
Você está preparado para a prova do SAFe? Teste seu conhecimento, faça o simulado é grátis.
DevOps
DevOps é uma combinação de duas palavras, desenvolvimento e operações. O framework permite uma interação entre as equipes que criam soluções e os que oferecem suporte e mantem as soluções. A implementação do conceito no SAFe permite que as empresas quebrem os silos organizacionais e desenvolvam um Pipeline de Entrega Continua (CDP), um mecanismo de alto desempenho capaz de entregar soluções líderes de mercado na velocidade dos negócios.
“O objetivo é simples: entregar valor sempre que houver necessidade de negócio. Isso é realmente alcançável, pois as equipes que se destacam no DevOps, em média, implantam 208 vezes mais frequentemente, implantam 106 vezes mais rápido, experimentam 7 vezes menos falhas e se recuperam de incidentes 2.604 vezes mais rápido do que as equipes de baixo desempenho.”
Fonte: Scaled Agile, inc.
Dev (Desenvolvimento) – Otimizado para velocidade de desenvolvimento.
Ops (Operação) – Otimizado para estabilidade.
DevSecOps
Com o tempo o modelo DevOps evoluiu para DevSecOps adicionando o aspecto de segurança na cadeia de valor. No SAFe quando falamos DevOps estamos falando também de DevSecOps os atributos de segurança já estão incluídos nas práticas do SAFe.
Abordagem CALMR para DevOps
O SAFe CALMR é uma abordagem para o DevOps que guia os ARTs para alcançar entrega contínua de valor. Controlando os avanços simultâneos na cultura da entrega, automação, fluxo, medição e recuperação. O CALMR significa:
Cultura
Estabelece uma cultura de responsabilidade mutua entre os envolvidos no programa, como, desenvolvimento, implantação e operações.
Automação
Buscar sempre automatizar o Continuous Delivery Pipeline, para entrega contínua de valor. Limitando a quantidade de erros e atrasos derivados de ações manuais.
Fluxo Lean
Permite manter os pacotes de trabalho pequenos, limita a quantidade de WIP e fornece visibilidade externa.
Medição
Medir o fluxo pelo pipeline, implementar telemetria em todas as cadeias.
Recuperação
Planejar arquitetura e habilitar lançamentos de baixo impacto. Estabelecendo recuperação, reversão e correções rápidas.
Continuous Delivery Pipeline
Elaborar um pipeline de entrega continua com DevOps representa o fluxo de trabalho contínuo capaz de entregar todas as atividades necessárias para entrega mais rapidamente de novas funcionalidades exigidas. Cada Agile Realese Train, cria ou compartilha um pipeline. As organizações precisam mapear a nova estrutura para seu fluxo de valor, eliminando atrasos e melhorando a eficiência em cada etapa.
O pipeline é divido em quatro etapas que iremos abordar agora.
Continuous Exploration
Iniciamos entendendo as necessidades do cliente, colaborando e propondo soluções arquitetadas através de nossa equipe. Lembra do Design Thinking? Nesse momento utilizaremos esse framework para fazer a exploração da solução. As etapas do processo apresentadas pelo SAFe são:
Criar Hipóteses – Constituído de práticas para capturar ideais e as medições necessárias para validá-las com os clientes.
Colaborar e pesquisar – Constituído de práticas para trabalhar em conjunto com o cliente e as partes interessadas para refinar os entendimentos das necessidades potenciais.
Arquitetar – Constituído de práticas para visualizar a abordagem tecnologia que permitirá a implantação, entrega e suporte das operações contínuas.
Sintetizar - Constituído de práticas que organizam as ideias em uma visão holística, um roteiro, um backlog priorizado e suporta a planning.
Continuous Integration
É o processo de criação das atividades arquitetadas, nessa etapa inicia o desenvolvimento, testes e validações. Com a integração continua o sistema está sempre disponível para implantação.
Desenvolver – São as práticas necessárias implementar histórias de usuários e entregar código funcional.
Build – São as práticas necessárias para criar binários implementáveis e mesclar ramificações no troco.
O teste de posta a ponta – Práticas para validar soluções.
Homologação – Práticas para hospedar e validar a solução em um ambiente similar ao ambiente de produção.
A integração continua é praticamente nossa fábrica de construção de soluções, aqui as histórias de usuários e features mapeadas na exploração se tornam funcionalidades utilizáveis para validação dos solicitantes.
Continuous Deployment
O processo de implantação continua implementa os recursos validados em homologação no ambiente de produção, onde são preparadas para lançamento. A capacidade de implementar sobre demanda é uma competência crítica para empresas que precisam responder oportunidades de mercado em prazos sustentáveis.
Implantação – Práticas necessárias para implantar soluções em um ambiente de produção.
Verifique – Práticas que garantam que a solução funciona corretamente no ambiente de produção, antes de ser disponibilizado para os clientes.
Monitorar – Práticas para monitorar, alarmar e relatar qualquer problema que possa surgir no ambiente.
Responder – Práticas para resolver rapidamente qualquer problema que possa ocorrer durante a implantação, como correções rápidas e rollback.
Implantar em produção pode parecer uma tarefa repetitiva do processo de integração. Mas quem trabalha na área sabe o esforço de “mergear” todos os desenvolvimentos e implantar versão em produção, por mais que os ambientes de homologação ou QA sejam similares em produção sempre aumenta o risco.
Precisa de ajuda para passar na prova de certificação? Conheça nosso material.
Release on Demand
Liberar sob demanda é o processo que implanta novas funcionalidades de produção e as libera imediatamente ou de forma incremental para os clientes e usuários com base na demanda. As outras etapas conseguem garantir que novas funcionalidades sejam continuamente preparadas e verificadas no ambiente de produção. Mas como o valor do desenvolvimento é tangível apenas quando os usuários finais estão utilizando a solução, liberar essa versão no momento adequado é fundamental para empresa obter benefícios de agilidade.
Lançamento – Práticas para entregar a solução aos usuários finais, de uma vez ou incremental.
Estabilizar e Operar – Práticas para garantir que a solução esteja funcionando corretamente das perspectivas funcional e não funcional.
Medida – Práticas para quantificar se as funcionalidades lançadas, fornecem o valor pretendido.
Aprender – Práticas para decidir o que deve ser feito com as informações coletadas e se prepara para o próximo ciclo.
Liberar versões sob demanda é fundamental para as organizações alcançarem agilidade nos negócios. Apenas com a versão liberada pelo usuário conseguimos fechar nosso ciclo e validar a satisfação do cliente.
Neste artigo apresentei o ciclo de desenvolvimento do SAFe o Conintuous Delivery Pipeline, e entendemos como o SAFe agrega valor através de quatro fases de um fluxo. Primeiro exploramos o que será feito, criamos uma proposta e construímos histórias de usuários, depois integramos essas histórias, transformando-as em código utilizável e fazemos validação, a terceira etapa é implementar o que foi criado no ambiente de produção sem liberar para os usuários, com a funcionalidade implementada, monitorada e estabilizada, vamos para a última etapa que liberar sob demanda de acordo com a estratégia da empresa.
Architectural Runway
Antes de finalizar, gostaria de abordar sobre a Arquitetura Runway que é capacidade que engloba o código, componentes de hardware as diretrizes de markting etc. Habilitando features do negócio em curto prazo. Os habilitadores constroem RunWay e as Features os consome. Essa arquitetura deve ser mantida continuamente. O ideal é utilizar uma capacidade alocado para criação de habilitadores que estendem a RunWay.
E outras palavras a Arquitetura Runway é tudo que é necessário para habilitar os desenvolvimentos e manter as funcionalidades operando. Todos os desenvolvimentos, harduwares, documentações e arquitetura necessárias para criar um pipeline de entrega continua é derivado da Arquitetura Runway.
Se você prefere consumir esse assunto em vídeo, segue abaixo uma série de vídeos que irei fazer sobre o assunto.
Fontes do artigo:
Comments