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.