1. Objetivo

Estabelecer diretrizes para o desenvolvimento, manutenção e evolução de soluções de software na B2 Mídia, garantindo alta qualidade, segurança, consistência e alinhamento estratégico com os objetivos da empresa.


2. Escopo

Esta política aplica-se a:

  • Todos os projetos de desenvolvimento de software realizados pela B2 Mídia.
  • Equipe interna de desenvolvimento, fornecedores e terceiros contratados.
  • Tecnologias e ferramentas utilizadas para desenvolvimento web, mobile, APIs e sistemas internos.

3. Diretrizes Gerais

  • Os sistemas desenvolvidos devem atender aos requisitos funcionais e não funcionais especificados, incluindo desempenho, segurança e escalabilidade.
  • O código deve seguir padrões de legibilidade e reutilização, utilizando as melhores práticas da indústria.
  • A inovação tecnológica deve ser incentivada, mas alinhada aos objetivos de negócios da empresa.

4. Processos e Metodologias

A B2 Mídia adota metodologia própria, baseada em metodologias ágeis, priorizando:

  • Planejamento: Levantamento de requisitos com stakeholders, priorização de funcionalidades e estimativas de esforço.
  • Desenvolvimento: Utilização de kanban para organização das tarefas.

5. Padrões de Qualidade

  • Revisão de Código: Todo código deve ser revisado por pelo menos um membro sênior antes de ser mesclado na branch principal.
  • Cobertura de Testes: O código deve ter no mínimo 80% de cobertura por testes unitários e integração.
  • Padrão de Codificação: Seguir as diretrizes do Clean Code e boas práticas para a linguagem em uso (ex.: PSR-12 para PHP, ESLint para JavaScript/TypeScript).

6. Segurança

  • Adotar as recomendações do OWASP Top 10 para segurança no desenvolvimento.
  • Garantir criptografia para todos os dados sensíveis armazenados.

7. Controle de Versão e Repositórios

  • Utilização do Git como sistema de controle de versão.
  • Estrutura de branches:
    • main: branch de produção.
    • develop: branch de desenvolvimento.
    • feature/*: para novas funcionalidades.
    • hotfix/*: para correções emergenciais.
  • Commits devem ser claros, seguindo a convenção: [tipo]: descrição (ex.: feat: adicionar endpoint de autenticação).

8. Requisitos de Documentação

  • Todos os projetos devem incluir:
    • Diagramas de arquitetura e fluxos principais.
    • Documentação de APIs utilizando Swagger ou Postman.
    • Registro de decisões técnicas (ADR).

9. Gerenciamento de Dependências

  • Todas as dependências externas devem ser aprovadas pela equipe de TI e mantidas atualizadas para evitar vulnerabilidades.
  • Proibir o uso de pacotes descontinuados ou sem suporte ativo.

10. Testes

  • Tipos de testes obrigatórios:
    • Unitários: Cobrir lógica de negócios crítica.
    • Integração: Validar a comunicação entre serviços.
    • Performance: Verificar tempo de resposta e escalabilidade.
  • Utilizar ferramentas como Jest, PHPUnit, Cypress ou equivalentes.

11. Implantação

  • Seguir uma estratégia de CI/CD para entregas automatizadas.
  • Realizar deploy em ambientes de staging antes de ir para produção.
  • Produção deve contar com sistemas de monitoramento ativo.

12. Manutenção e Suporte

  • Correções de bugs críticos devem ser priorizadas.
  • Atualizações regulares devem ser realizadas para manter a compatibilidade e segurança do sistema.

13. Ferramentas e Tecnologias

A B2 Mídia adota as seguintes ferramentas:

  • Linguagens: PHP, Javascript, Typescript
  • Frameworks: Laravel, React e Vue
  • Banco de Dados: MySQL, MariaDB, Redis e InflexBD
  • Versionamento: Git (GitLab)
  • CI/CD: GitLab

14. Indicadores de Desempenho (KPIs)

  • Taxa de sucesso em deploys: ≥ 95%.
  • Tempo médio para recuperação (MTTR): ≤ 2 horas.
  • Cobertura de testes: ≥ 80%.

15. Treinamento

  • Todos os desenvolvedores devem passar por treinamentos anuais de atualização técnica e segurança.