Desenvolvimento ágil, seguro e eficiente.
A onda DevSecOps deve-se à disseminação da cultura de desenvolvimento 'DevOps' já incorporando desenvolvimento seguro de software. A prática consiste em ter equipes de desenvolvimento e testes trabalhando integrada em um ambiente muito automatizado com ações proativas e integradas ao time de operações de TI.
Para garantir a confiabilidade do software desenvolvido, as tarefas desde a concepção até sua entrega são instrumentadas com gates de qualidade . Dessa forma, a detecção de falhas funcionais, de performance ou segurança é realizada ao longo do ciclo de desenvolvimento, e não na entrega final, quando a aplicação está praticamente pronta e é muito mais caro e difícil de resolver eventuais problemas.
A adoção da cultura DevSecOps pressupõe equipes integradas atuando com a concepção de que o desempenho, a segurança e a confiabilidade do produto digital é um problema de todos. Essa mudança de mentalidade sugereque os desenvolvedores levem em conta os princípios e padrões de código mais confiáveis desde a primeira linha de código.
Conte com a VERICODE para a construção de pipelines de desenvolvimento para apoiar a adoção da cultura DevSecOps.
Entrega Contínua
A Implantação (deploy) contínua no modelo DevOps, trata da automação dos processos de Gestão de Configuração, Gestão de Releases e Gestão de Deployment de forma que cada vez que uma mudança é aprovada no ciclo de testes, esta é automaticamente liberada e implantada no ambiente de produção.
A Vericode utiliza a plataforma Atlassian como base para a implantação do processo de Release & Deploy contínuo. Nossos consultores avaliam junto ao cliente os tipos de aplicações e sistemas candidatos a este tipo de automação levando em conta as políticas, funcionalidades, requerimentos de negócio e requerimentos regulatórios. Nossa abordagem abrange os processos:
Gerência de Configuração
Entendimento da situação atual e recomendações de quais configuration items precisam estar sob controle de versões e mudanças (incluindo scripts, forms, relatórios, dashboards, códigos fontes, documentos etc.) para suportar a automação e rollback de baselines.
Planejamento Contínuo
O ritmo em que os usuários e clientes esperam mudanças e entregas com Valor gerou uma mudança no modelo desenvolvimento e entrega de Aplicações e Sistemas a necessidade de implementar esteiras de entregas contínuas. A utilização de Agile não é suficiente para gerar resultados de negócios melhores; o conceito da entrega contínua conecta a estratégia de negócios com os resultados do negócio através de um modelo de gestão onde o planejamento é contínuo (Continuous Planning).
A Vericode implementa dentro da cultura DevOps uma solução de Continuous Planning que permita alinhar as entregas da TI aos objetivos do negócio num modelo de transparência, colaboração e controle onde são utilizadas ferramentas Atlassian para a integração de processos entre TI e as áreas de negócio, estabelecendo uma plataforma de gestão que possibilite:
Tomada de decisão colaborativa. Geração de um roadmap de entregas. Compreensão da capacidade. Controlar o status de cada entrega de negócios. Controlar o status de cada necessidade / feature do negócio. Reduza os ciclos de entrega através da integração ponta a ponta. Definir os releases operacionais para cada entrega para o negócio. Alocar os ambientes de desenvolvimentos para os releases específicos. Orquestrar mudanças através de múltiplas aplicações e sistemas. Controlar os milestones de qualidade e os status de implantação.
Integração Contínua
Dentro da implementação DevOps, Continuous Integration surgiu como uma boa prática de desenvolvimento para evitar estes problemas e requer que o código dos desenvolvedores seja mesclado à versão compartilhada pela equipe de desenvolvimento de forma contínua.
O principal objetivo da Integração contínua é integrar e testar o Sistema a cada mudança para minimizar o tempo entre a inserção de um defeito e a correção do mesmo reduzindo os prazos de desenvolvimento e reduzindo o custo de retrabalho e testes.
A Vericode implementa dentro da cultura DevOps uma esteira de desenvolvimento contínua, automatizada e consistente abrangendo desde a conceituação dos processos de Gestão de Configuração (Configuration Management) e Gestão de Releases (Release Management) com ferramentas poderosas.
- Mudanças são entregues e aceitas pelos membros da equipe de desenvolvimento, garantindo que qualquer débito técnico resultante das mudanças seja resolvido assim que ocorrer.
- Os desenvolvedores entregam mudanças, realizando builds e testes unitários antes de disponibilizarem suas mudanças para o restante da equipe. Isto permite a identificação de problemas de a integração rápida, de forma que possam ser corrigidos enquanto a mudança ainda está “fresca” na cabeça do desenvolvedor.
- Conjuntos de mudanças de todos os desenvolvedores são integrados ao workspace da equipe e então construídos e testados unitariamente, diariamente ou sempre que uma mudança seja disponibilizada. Desta forma, mudanças de um desenvolvedor que são introduzidas ao time têm um nível mínimo de validação antes de um novo código ser disponibilizado.
Testes Contínuos
A Vericode implementa dentro da cultura DevOps a prática de Continuous Testing definindo um processo e ambiente de testes acompanhado de feedbacks contínuos e automatizados apoiados por ferramentas e estratégias que asseguram qualidade, agilidade e redução de custos.
Release e Deploy Contínuos
Entendimento da situação atual e recomendações de modelos de Release Management (ex Top-Down, Bottom-up) no nível de granularidade que mais se adeque a metodologia do cliente, definindo um modelo que assegure a integridade de cada release (ou conjunto de mudança), e que seus componentes sejam facilmente identificados e gerenciados. E, assegurando um processo de Deployment que assegure que todas as mudanças implantadas em produção possam ser rastreadas, instaladas, testadas verificadas e/ou revertidas, se necessário de forma consistente e repetível.
Benefícios da cultura DevSecOps
- Implemente a cultura DevOps e antecipe a detecção de erros e tenha feedback mais cedo no ciclo de vida.
- Reduza o número de mudanças paralelas que precisam ser mescladas e testadas e a quantidade de erros encontrados durante os testes de sistema.
- Automatize testes unitários reduzindo os tempos de validação das entregas.
- Reduza o risco técnico e de desenvolvimento, assim como os custos.
- Melhore a colaboração entre os membros da equipe.
SAFe
Com o crescimento da utilização de Agile como modelo de entrega, verificou-se que abordagens isoladas não garantem o sucesso corporativo. Scaled Agile Framework® (SAFe®) surgiu como um modelo de orquestração de processos de desenvolvimento Agile para ambientes complexos e de larga escala com o objetivo de garantir a coordenação de todos os times para entregar produtos de software com qualidade e consistência das entregas.
Este modelo tem como valores principais alinhamento, qualidade, transparência e execução / melhoria contínua.
Atlassian
A Vericode suporta a transformação Agile com a implementação do framework SAFe 3.0 utilizando o modelo de Continuous Collaboration e e a suíte de ferramentas Atlassian para fornecer visibilidade, comunicação, transparência e gestão das equipes interdependentes no processo de desenvolvimento de software todas as áreas e domínios do framework.