Blog

Home
Qualidade, Segurança e Privacidade
Artigos, Tecnologia

Qualidade, Segurança e Privacidade

compartilhe

“Seja rápido”, você já ouviu essas palavras? Parece ótimo quando você está construindo um programa simples, como por exemplo uma calculadora, onde o risco é um pequeno erro de cálculo. Mas você quer ser rápido e ignorar todas as validações, como qualidade de código, teste unitário, teste de automação, desempenho e carga?

Nós, engenheiros de software, precisamos garantir qualidade, segurança e privacidade dos dados. Que o código que entregamos não seja apenas bom, mas excelente, sem bugs ao implantar em produção. Hoje em dia ninguém tem paciência para lidar com erros simples. Imagine que você se interessa por um jogo qualquer e resolve instalá-lo no seu smartphone. Quando abre o jogo e o mesmo trava, o que você faz? Desinstala, claro! Ninguém vai identificar o problema e tentar consertar, você irá apenas desinstalar o jogo e procurar outro com melhor performance.

Áreas conectadas

Quando digo que qualidade, segurança e privacidade estão ligadas, é porque não é possível ter qualidade sem segurança ou segurança sem privacidade. Todas as três coisas estão conectadas.

“Hoje a privacidade de dados, para a maioria das equipes de engenharia, ainda é algo abordado depois que o software é enviado para produção. É um pouco como a segurança de aplicativos de uma década atrás, em que você concluía a validação de segurança após a implementação, por meio de testes de penetração e correção de problemas à medida que eram identificados. “

Para melhorar a segurança, existem processos que devemos adotar para ajudar os desenvolvedores, são eles:

  • Integração Contínua – (criando o aplicativo) etapas para validar o código como sonarqube, snyk, resharper
  • Unit tests
  • Code coverage
  • Deployment contínuo – implementar o aplicativo em QA, HML e Prod
  • Certifique-se de que todas as variáveis seguras estão devidamente configuradas no vault, assim evitará que todos conheçam as chaves de cada ambiente, principalmente de produção.

Mínimo Produto Viável

Vamos falar sobre MVP (Mínimo Produto Viável)? Até que você tenha as necessidades mínimas do cliente, você não vai se preocupar com segurança, nem qualidade, nem privacidade. Por isso, até o MVP deveria “nascer” pensando em segurança, privacidade e qualidade.

Estamos todos familiarizados com esta história: você constrói seu primeiro produto rapidamente, então talvez sua documentação não seja perfeita ou seu modelo de dados evolua organicamente. Você encontra o sucesso e começa a crescer, então mais engenheiros se juntam a sua equipe. A hierarquia da equipe é bastante plena e começam a criar banco de dados e tabelas como se não houvesse fim – incrível, somos a essência do ágil!

Aí você começa a pensar em privacidade, se o seu software não for bem desenhado, você pode ter problemas de segurança, onde um cliente pode ver os dados do outro. O problema torna-se maior se os dados sensíveis são mostrados a um cliente que não pertence a ele.

Manutenção ou novo software?

Então você está preocupado com a disponibilidade e o dimensionamento do sistema e começa a dividir as coisas em uma arquitetura orientada à serviços mais elegante: diferentes engenheiros constroem peças à medida que você adiciona funcionalidade para atender à demanda, sem fazer revisões de código, arquitetura bem projetada e o pior acontece. Alguns dos engenheiros sêniores saem da empresa, novos entram, documentação ruim, outra mentalidade para criar código, sem direção, design adequado e o ciclo se repete, e logo você tem mais de 500 micros serviços e centenas de bancos de dados. Se você chegar a esse ponto, a manutenção do software será tão cara e fará você pensar se não é melhor começar um novo do zero ao invés de tentar consertar a enorme bagunça.

Qualidade, Segurança e Privacidade

O que podemos fazer para evitar tais erros? Pense desde o início em segurança, privacidade e qualidade, tenha uma boa base, arquitetura bem definida, separe os domínios e evite que um domínio interfira no outro.

LGPD no Brasil

A privacidade é muito importante em todo o mundo e algumas regulamentações devem ser respeitadas, como a GDPR da Europa, a CCPA da Califórnia e a LGPD do Brasil.

Duvido que você tenha projetado sua arquitetura e modelo de dados para dar suporte a esse nível de granularidade e aplicação de políticas desde o início do SDLC. Eu disse isso porque ouvi muitas vezes para entregar coisas sem pensar em qualidade, segurança ou privacidade, e nossa obrigação como engenheiros de sistema é deixar claro o quanto elas são importantes.

Privacidade

O primeiro passo é garantir que os engenheiros tenham uma forma de “gramática de privacidade” ou uma forma abreviada e de baixo atrito para descrever o que seu código faz e quais tipos de dados ele usa e fazer disso parte de seu processo. Os comentários e a documentação do código são um bom começo, mas uma solução completa de ferramentas pode ser lida tanto por humanos quanto por computador, integrada a fluxos de trabalho manuais e automatizados.

Ao implementar uma determinada funcionalidade em seu projeto com ferramentas integradas, os desenvolvedores podem facilmente descrever o contexto do que seu código está fazendo e em quais tipos de dados ele está atuando.

Respeito os dados dos usuários

Como engenheiros de software, construímos os sistemas dos quais bilhões dependem para suas finanças, segurança, saúde e bem-estar. Nossas ferramentas e processos devem refletir a seriedade de nossa responsabilidade de respeitar os dados dos usuários. Uma abordagem post-hoc à privacidade é trabalhosa e arriscada. É fundamentalmente reativo, incapaz de acompanhar o rápido crescimento dos sistemas que alimentam nosso mundo.

Cuidados da Labsoft

Na Labsoft nos preocupamos com muitas coisas e esses 3 assuntos são tratados com muita seriedade por nossos engenheiros. Eles são treinados periodicamente em todos os níveis e processos: arquitetura, banco de dados, desenvolvedores, testers e infraestrutura. Temos o CI/CD devidamente implementado que verifica os testes unitários, a cobertura do código, a qualidade do código. Se um deles falhar, a equipe recebe uma notificação para corrigi-lo. Além disso, nossa nuvem é bem projetada pensando em segurança e redundância, os bancos de dados dos clientes são separados para evitar que erros de configuração do sistema permitam que um veja dado do outro.

 

Que tal uma breve demonstração do myLIMS? 

Se você quiser saber mais sobre como o myLIMS pode agilizar a operação do laboratório e controle de qualidade a ainda garantir total segurança de dados fale agora com um especialista! De TI para TI.

Gostou? Compartilhe este artigo!

Receba conteúdos exclusivos

sobre gestão laboratorial, controle de qualidade industrial, saneamento, tendências e tecnologia no seu e-mail.

Mais lidos

Artigos, Blog, Controle de Qualidade, Laboratorios, Notícias

Como diminuir o impacto ambiental no planeta Terra com pequenas atitudes?

LEIA MAIS
Artigos, Controle de Qualidade, Tecnologia

Controle de Qualidade 360º: do laboratório às outras áreas da indústria

LEIA MAIS
Blog, Controle de Qualidade, Laboratorios

As Novas Exigências do MAPA: Impactos e Desafios

LEIA MAIS

Artigos relacionados