42 KiB
title | sidebar_label | sidebar_position |
---|---|---|
3. ALM - Application Lifecycle Management | 3. ALM | 3 |
3. Application Lifecycle Management (ALM)
3.1. Conceitos Fundamentais de ALM
3.1.1. Definição e Importância
O Application Lifecycle Management (ALM) é uma abordagem integrada para gerenciar todos os aspectos do ciclo de vida de uma aplicação, desde a concepção inicial até a implantação e manutenção. Na Pragmatismo, o ALM é especialmente importante devido à natureza crítica dos projetos de IA e General Bots, que exigem rastreabilidade, segurança e conformidade com padrões regulatórios.
O ALM da Pragmatismo foi projetado para atender às necessidades específicas de conformidade com ISO 27001, HIPAA e LGPD, garantindo que todas as fases do desenvolvimento de software atendam aos requisitos de segurança da informação, proteção de dados pessoais e melhores práticas da indústria.
3.1.2. Componentes Principais do ALM
- Gestão de Requisitos: Documentação, rastreamento e priorização de requisitos
- Gestão de Desenvolvimento: Controle de código-fonte, integração contínua e entrega contínua
- Gestão de Testes: Testes automatizados, testes de segurança e testes de conformidade
- Gestão de Implantação: Implantação em ambientes controlados com registro de auditoria
- Gestão de Operações: Monitoramento, manutenção e resposta a incidentes
3.1.3. Benefícios do ALM para Projetos de IA e General Bots
- Rastreabilidade completa de requisitos até código e testes
- Auditabilidade para fins regulatórios (ISO 27001, HIPAA, LGPD)
- Redução de riscos de segurança e privacidade
- Melhoria contínua do processo de desenvolvimento
- Aceleração do time-to-market mantendo a qualidade e a conformidade
3.2. Estruturação do Ambiente ALM
3.2.1. Organização de Áreas e Iterações
-
Use áreas para agrupar (se necessário) requisitos e outras entidades por versão, grupo, ou qualquer outro agrupamento necessário. Geralmente apenas uma área é suficiente para um projeto isolado ou inicial. Ver artigo sobre como personalizar áreas.
-
User iterações para definir o cronograma do projeto. Ver artigo
-
O modelo CMMI deve ser o modelo usado para confecionar projetos, mesmo em métodos ágeis.
-
Para editar o cronograma do projeto visite ``` https:///_admin/_work
-
Para realizar anotações diversas em tarefas, requisitos, questões e outras entidades, utilize o campo Discussion, de modo que o histórico seja automaticamente registrado com data/hora de quem registrou e o texto da anotação.
-
Apenas inclua as pessoas na linha de conversação, durante a edição de questões, tarefas ou requisitos até que estas precisem realmente ter algum item de ação atribuída a elas.
-
Escreva o texto do item corporativo de modo dissertativo.
3.2.2. Estruturação para Compliance
-
Áreas de Compliance: Criar áreas específicas para requisitos relacionados a ISO 27001, HIPAA e LGPD, facilitando a rastreabilidade e auditoria.
-
Iterações de Compliance: Definir iterações dedicadas à revisão de conformidade antes de cada release major.
-
Tags de Compliance: Utilizar tags padronizadas (ISO27001, HIPAA, LGPD) para marcar requisitos e tarefas relacionadas à conformidade.
-
Artefatos de Compliance: Manter uma biblioteca de artefatos de compliance que podem ser reutilizados em diferentes projetos.
3.2.3. Integrações com Ferramentas de Segurança
-
SAST (Static Application Security Testing): Integração com ferramentas de análise estática de código
-
DAST (Dynamic Application Security Testing): Integração com ferramentas de análise dinâmica
-
SCA (Software Composition Analysis): Verificação de dependências e bibliotecas
-
Gestão de Vulnerabilidades: Integração com sistemas de registro e acompanhamento de vulnerabilidades
3.2.4. Configuração de Pipelines de CI/CD Seguros
-
Verificações de Segurança: Configurar gates de segurança nos pipelines de CI/CD
-
Testes Automatizados de Compliance: Incluir testes automatizados de conformidade nos pipelines
-
Aprovações e Controles de Acesso: Configurar aprovações baseadas em papéis para implantações em ambientes sensíveis
-
Logging e Auditoria: Configurar logging detalhado de todas as ações nos pipelines
3.3. Papéis e Responsabilidades
3.3.1. Papéis Comuns a Todos os Projetos
3.3.1.1. Capacitação
3.3.1.1.1 Gerenciamento do Ciclo de Vida da Aplicação
(Duração: 30 min. Público: Analistas de Sistemas e Gerentes de Projetos) Artigo
E mais:
Itens de Trabalho(Work Items)
Visão geral de todos os tipos de itens de trabalho como requisitos, questões, defeitos, riscos, revisões, requisições de mudança.
Fluxo de Questões
Como trafegar informações pelo fluxo de questões e usar o campo Discussion mantendo o Description como o campo mais atualizado.
Wiki Como visualizar a Wiki do projeto e contribuir com informações e Atas.
3.3.1.1.2 Criando um Perfil de Navegador por cliente.
- No canto superior do navegador, clique no nome de seu usuário(a);
- Em seguida, Gerenciar Pessoas;
- Clique em Adicionar;
- Digite o nome do Perfil e clique em Salvar;
- Pronto.
3.3.1.1.3 Capacitação em Compliance
-
Treinamento ISO 27001: Conceitos básicos de segurança da informação e requisitos da ISO 27001
-
Treinamento HIPAA/LGPD: Proteção de dados pessoais e dados de saúde
-
Treinamento em Desenvolvimento Seguro: Práticas de codificação segura e prevenção de vulnerabilidades
-
Treinamento em Resposta a Incidentes: Procedimentos para identificação e resposta a incidentes de segurança
3.3.2. Cliente
Porquê principal da companhia, foco das atenções e zelo, tem registradas todas as suas ideias de modo contínuo recebendo a melhor arquitetura disruptiva e sustentável. No contexto de projetos de IA e General Bots, o cliente deve:
-
Fornecer Requisitos Claros: Especificar claramente os requisitos funcionais e de segurança/privacidade
-
Participar das Revisões: Participar ativamente das revisões de requisitos e demonstrações
-
Validar Compliance: Validar que os requisitos de compliance específicos do seu setor foram atendidos
-
Reportar Incidentes: Reportar prontamente quaisquer incidentes de segurança ou privacidade
3.3.3. Arquiteta de Solução
Quem define o modo que código, artefatos e dados serão elaborados através de novas ideias disruptivas mas factíveis, técnicas e padrões de indústria consagrados. Para projetos de IA e General Bots, a arquiteta de solução também deve:
-
Arquitetura de Segurança: Definir controles de segurança e privacidade por design
-
Arquitetura de Compliance: Garantir que a arquitetura atenda aos requisitos regulatórios
-
Avaliação de Risco: Realizar avaliações de risco durante o design da solução
-
Revisão de Arquitetura: Conduzir revisões regulares da arquitetura para identificar possíveis vulnerabilidades
3.3.4. Gerente de Projetos
Quem mantém o projeto no custo, prazo, escopo e qualidade utilizando as melhores práticas de comunicação juntamente das melhores ferramentas de gestão do ciclo de vida da aplicação dentro do meio disruptivo. Para projetos de IA e General Bots, o gerente de projetos também deve:
-
Gestão de Riscos de Compliance: Identificar e mitigar riscos relacionados à compliance
-
Coordenação de Auditorias: Coordenar auditorias internas e externas de segurança e compliance
-
Gestão de Documentação de Compliance: Garantir que toda a documentação necessária está sendo produzida e mantida
-
Comunicação de Riscos: Comunicar riscos de segurança e compliance aos stakeholders
3.3.4.1. Aplicação de crédito em nuvem
-
Necessário verificar validade e crédito em USD do Voucher para verificar se atende o projeto;
-
Aplicar o voucher numa contra criada especificamente para o projeto ou no cliente consultando o EscritorioDeProjetos@Pragmatismo para tal, Referência.
-
Caso a conta especifica seja usada, ela será a administradora da nuvem. Convidar os envolvidos assim que a conta for criada e colocar operations@Pragmatismo como Administradora e as demais pessoas que terão este tipo de acesso.
3.3.4.2. Reunião do Escritório de Projetos
-
Verificar se existem questões, requisitos, riscos, requisições de mudança e outras pendências antes da reunião.
-
Preparar a lista de itens pendentes para discussão com base em questões pendentes.
-
Além dos itens de controle da aplicação, apresentar cronograma & escopo juntamente da satisfação geral do cliente.
-
Incluir na pauta itens específicos sobre compliance e segurança.
3.3.5. Analista Desenvolvedor(a)
Quem identifica requisitos e os codifica em código-fontes e ativos associados de acordo com as melhores práticas da indústria. Para projetos de IA e General Bots, o(a) analista desenvolvedor(a) também deve:
-
Desenvolvimento Seguro: Aplicar práticas de desenvolvimento seguro em todo o código
-
Tratamento Seguro de Dados: Implementar mecanismos seguros para processamento e armazenamento de dados
-
Testes de Segurança: Realizar testes unitários que incluam casos de teste de segurança
-
Revisão de Código: Participar de revisões de código com foco em segurança e compliance
3.3.6. Analista de Qualidade
Quem certifica que os requisitos especificados estão de acordo com a experiência final de utilização ou operação do projeto. Para projetos de IA e General Bots, o analista de qualidade também deve:
-
Testes de Segurança: Realizar testes específicos de segurança e privacidade
-
Verificação de Compliance: Verificar se os requisitos de compliance foram atendidos
-
Testes de Penetração: Coordenar ou realizar testes de penetração
-
Análise de Vulnerabilidades: Realizar varreduras de vulnerabilidade regularmente
3.3.6.1. Métodos
BDD com Gherkin
Para projetos de IA e General Bots, recomenda-se a adaptação do BDD para incluir critérios específicos de segurança e compliance:
Funcionalidade: Processamento seguro de dados pessoais
Como um usuário do sistema
Eu quero que meus dados pessoais sejam processados de forma segura
Para que minha privacidade seja protegida
Cenário: Armazenamento de dados sensíveis
Dado que eu forneço dados sensíveis ao sistema
Quando os dados são armazenados
Então os dados devem ser criptografados
E o acesso aos dados deve ser registrado em log de auditoria
E os dados devem ter uma política de retenção definida
3.3.7. Oficial de Segurança da Informação
Papel específico para projetos de IA e General Bots com requisitos rigorosos de segurança e compliance:
-
Avaliação de Segurança: Realizar avaliações regulares de segurança do projeto
-
Definição de Políticas: Definir políticas de segurança específicas para o projeto
-
Resposta a Incidentes: Coordenar a resposta a incidentes de segurança
-
Conformidade Regulatória: Garantir que o projeto esteja em conformidade com regulamentações aplicáveis
3.3.8. Especialista em Compliance
Papel específico para projetos com requisitos rigorosos de compliance:
-
Interpretação Regulatória: Interpretar requisitos regulatórios e traduzi-los em requisitos técnicos
-
Documentação de Compliance: Preparar e manter documentação de compliance
-
Auditorias: Conduzir auditorias internas de compliance
-
Remediação: Coordenar esforços de remediação para problemas de compliance identificados
3.4. Configuração e Uso do ALM
3.4.1. Configuração Inicial do Projeto
-
Criação do Projeto: Criar o projeto no ALM utilizando o modelo CMMI
-
Configuração de Áreas: Configurar áreas para organizar o trabalho, incluindo áreas específicas para compliance
-
Configuração de Iterações: Configurar iterações alinhadas ao cronograma do projeto
-
Configuração de Políticas: Configurar políticas de branch, build e release
-
Configuração de Dashboards: Configurar dashboards para visualização do status do projeto e métricas de compliance
3.4.2. Gestão de Requisitos
-
Cadastro de Requisitos: Cadastrar requisitos funcionais, não funcionais e de compliance
-
Rastreabilidade: Estabelecer links de rastreabilidade entre requisitos, testes e código
-
Priorização: Priorizar requisitos considerando impacto em segurança e compliance
-
Aprovação: Estabelecer processo de aprovação formal para requisitos
3.4.3. Gestão de Código-Fonte
-
Organização de Repositórios: Organizar repositórios de forma a facilitar a gestão de segurança e compliance
-
Controle de Versão: Utilizar práticas robustas de controle de versão
-
Branches e Pull Requests: Utilizar branches e pull requests para revisão de código
-
Políticas de Branch: Configurar políticas de branch que exijam revisão de código
3.4.4. Gestão de Build e Release
-
Pipelines de CI/CD: Configurar pipelines de integração contínua e entrega contínua
-
Gates de Qualidade: Implementar gates de qualidade nos pipelines
-
Aprovações: Configurar aprovações necessárias para releases em ambientes de produção
-
Logs de Auditoria: Configurar logs de auditoria detalhados para todas as atividades de build e release
3.4.5. Gestão de Testes
-
Planejamento de Testes: Planejar testes de forma abrangente, incluindo testes de segurança e compliance
-
Execução de Testes: Executar testes de forma automatizada sempre que possível
-
Relatórios de Teste: Gerar relatórios detalhados dos resultados dos testes
-
Cobertura de Testes: Monitorar e melhorar continuamente a cobertura de testes
3.4.6. Gestão de Incidentes e Defeitos
-
Registro de Incidentes: Registrar todos os incidentes, incluindo incidentes de segurança
-
Classificação de Incidentes: Classificar incidentes por gravidade e impacto
-
Resolução de Incidentes: Resolver incidentes de acordo com SLAs definidos
-
Análise de Causa Raiz: Realizar análise de causa raiz para incidentes significativos
3.4.7. Gestão de Documentação
-
Documentação Técnica: Manter documentação técnica atualizada
-
Documentação de Compliance: Manter documentação específica de compliance
-
Documentação de Segurança: Manter documentação de segurança atualizada
-
Documentação de Operações: Manter documentação de operações atualizada
3.5. Específico para Projetos de IA e General Bots
3.5.1. Requisitos Específicos
-
Rastreabilidade de Dados de Treinamento: Manter rastreabilidade completa dos dados utilizados para treinamento de modelos de IA
-
Documentação de Algoritmos: Documentar detalhadamente os algoritmos utilizados
-
Registro de Experimentos: Manter registro detalhado dos experimentos realizados
-
Versionamento de Modelos: Implementar versionamento robusto de modelos de IA
3.5.2. Testes Específicos
-
Testes de Viés: Realizar testes para identificar e mitigar viés nos modelos de IA
-
Testes de Robustez: Testar a robustez dos modelos contra entradas adversariais
-
Testes de Explicabilidade: Verificar a explicabilidade dos resultados dos modelos
-
Testes de Conformidade Ética: Verificar conformidade com princípios éticos de IA
3.5.3. Monitoramento Específico
-
Monitoramento de Drift: Monitorar drift em modelos de IA em produção
-
Monitoramento de Performance: Monitorar continuamente a performance dos modelos
-
Monitoramento de Uso: Monitorar padrões de uso dos modelos
-
Alertas de Anomalias: Configurar alertas para comportamentos anômalos
3.6. Compliance e Regulamentações
3.6.1. ISO 27001
-
Mapeamento de Requisitos: Mapear requisitos da ISO 27001 para requisitos do sistema
-
Controles Técnicos: Implementar controles técnicos requeridos pela ISO 27001
-
Documentação: Manter documentação requerida pela ISO 27001
-
Auditorias: Preparar para auditorias de certificação e recertificação
3.6.2. HIPAA
-
PHI (Protected Health Information): Implementar proteções específicas para PHI
-
BAAs (Business Associate Agreements): Gerenciar BAAs com fornecedores
-
Notificação de Violações: Implementar procedimentos para notificação de violações
-
Treinamento: Realizar treinamento específico sobre HIPAA
3.6.3. LGPD
-
Bases Legais: Documentar bases legais para processamento de dados
-
Direitos dos Titulares: Implementar mecanismos para atender direitos dos titulares
-
Relatório de Impacto: Realizar relatórios de impacto à proteção de dados pessoais
-
DPO (Data Protection Officer): Designar e suportar o DPO
3.6.4. Outras Regulamentações
-
GDPR: Para projetos com impacto na União Europeia
-
CCPA/CPRA: Para projetos com impacto na Califórnia
-
Regulamentações Setoriais: Para projetos em setores específicos (financeiro, saúde, etc.)
-
Regulamentações Locais: Para projetos com impacto em jurisdições específicas
3.7. Métricas e KPIs
3.7.1. Métricas de Qualidade
-
Densidade de Defeitos: Número de defeitos por linhas de código
-
Cobertura de Testes: Percentual do código coberto por testes
-
Taxa de Retrabalho: Percentual de código que precisa ser reescrito
-
Tempo Médio de Resolução de Defeitos: Tempo médio para resolver defeitos
3.7.2. Métricas de Segurança
-
Vulnerabilidades Encontradas: Número de vulnerabilidades encontradas em varreduras
-
Tempo de Remediação de Vulnerabilidades: Tempo médio para remediar vulnerabilidades
-
Cobertura de Testes de Segurança: Percentual de requisitos de segurança testados
-
Incidentes de Segurança: Número e gravidade de incidentes de segurança
3.7.3. Métricas de Compliance
-
Conformidade com Requisitos: Percentual de requisitos de compliance atendidos
-
Achados de Auditoria: Número e gravidade de achados em auditorias
-
Tempo de Remediação: Tempo médio para remediar achados de auditoria
-
Cobertura de Treinamento: Percentual da equipe treinada em requisitos de compliance
3.7.4. Métricas Específicas para IA e General Bots
-
Acurácia do Modelo: Medida da acurácia dos modelos de IA
-
Taxa de Falsos Positivos/Negativos: Taxa de falsos positivos e negativos
-
Latência: Tempo de resposta dos modelos em produção
-
Uso de Recursos: Uso de recursos computacionais pelos modelos
3.8. Melhores Práticas
3.8.1. Melhores Práticas Gerais
-
Revisões Regulares: Realizar revisões regulares de código, arquitetura e documentação
-
Automação: Automatizar o máximo possível do processo de desenvolvimento e testes
-
Documentação: Manter documentação atualizada e acessível
-
Treinamento: Investir em treinamento contínuo da equipe
3.8.2. Melhores Práticas de Segurança
-
Security by Design: Incorporar segurança desde o início do projeto
-
Least Privilege: Aplicar o princípio do privilégio mínimo
-
Defense in Depth: Implementar múltiplas camadas de defesa
-
Regular Assessments: Realizar avaliações regulares de segurança
3.8.3. Melhores Práticas de Compliance
-
Privacy by Design: Incorporar privacidade desde o início do projeto
-
Data Minimization: Coletar e armazenar apenas os dados necessários
-
Regular Audits: Realizar auditorias regulares de compliance
-
Documentation: Manter documentação detalhada de compliance
3.8.4. Melhores Práticas para IA e General Bots
-
Ethical AI: Seguir princípios éticos no desenvolvimento de IA
-
Explainable AI: Desenvolver modelos explicáveis sempre que possível
-
Human Oversight: Manter supervisão humana sobre decisões críticas
-
Continuous Monitoring: Monitorar continuamente o comportamento dos modelos
3.9. Tratamento de Defeitos
3.9.1 Desenvolvimento
- Uma notificação do ALM é recebida;
- O exame do item de trabalho é realizado destinado a definir o Defeito como sendo um item de trabalho interno, através da classificação como Ativo, ao cálculo do esforço em horas para a resolução;
- Verifique se o relato do erro contém informações suficientes para a análise, do contrário, solicite tais informações de volta e finalize este ciclo;
- Determinar se o defeito é originado da plataforma ou da aplicação;
- Através do texto contido no Log, encontre a possível localização do problema no código-fonte.
Notas
- Os defeitos devem conter o Log emitido pela aplicação, caso a aplicação não esteja disponibilizando informações suficientemente, é necessário que uma alteração seja realizada para a melhoria do Log;
- Informações visuais como cor, podem ser adicionadas ao Log de modo a facilitar a leitura de modo complementar.
- Capturas de telas devem ser acompanhadas dos Log textuais relativas ao mesmo momento da captura
- Caso documentos sejam enviados, uma cópia contendo referências ao ALM deve ser criada e remetida de volta.
3.9.2. Classificação de Defeitos
- Crítico: Impacto significativo na segurança, privacidade ou funcionalidade core
- Alto: Impacto na funcionalidade principal, mas sem comprometer segurança ou privacidade
- Médio: Impacto em funcionalidades secundárias
- Baixo: Impacto cosmético ou de usabilidade menor
3.9.3. SLAs para Resolução de Defeitos
Classificação | Tempo de Resposta | Tempo de Resolução |
---|---|---|
Crítico | 2 horas | 24 horas |
Alto | 4 horas | 48 horas |
Médio | 8 horas | 5 dias úteis |
Baixo | 16 horas | 10 dias úteis |
3.9.4. Processo de Escalonamento
- Nível 1: Analista Desenvolvedor(a) responsável
- Nível 2: Arquiteta de Solução
- Nível 3: Gerente de Projetos
- Nível 4: Diretoria
3.10. Ferramentas e Integração
- Azure DevOps: Gerenciamento de ciclo de vida
- GitHub: Repositório de código e automaçãos
- Jira: Gestão de tarefas e defeitos (opcional)
- Confluence: Documentação colaborativa (opcional)
- Forgejo: ALM open-source
3.11. Templates e Artefatos
3.11.1. Templates de Documentação
- Documento de Requisitos: Template padronizado para documentação de requisitos
- Plano de Testes: Template para planos de teste, incluindo testes de segurança e compliance
- Relatório de Segurança: Template para relatórios de segurança
- Relatório de Compliance: Template para relatórios de compliance
3.11.2. Checklists
- Checklist de Segurança: Para revisão de segurança
- Checklist de Compliance: Para revisão de compliance
- Checklist de Qualidade: Para revisão de qualidade
- Checklist de Prontidão para Produção: Para revisão antes da implantação
3.11.3. Scripts e Automações
- Scripts de Análise: Scripts para análise automatizada de código
- Scripts de Deploy: Scripts para implantação automatizada
- Scripts de Teste: Scripts para testes automatizados
- Scripts de Monitoramento: Scripts para monitoramento automatizado
Links
Title | Address |
---|---|
Scaled Agile Framework & TFS | https://msdn.microsoft.com/pt-br/library/dn798712.aspx?f=255&MSPPError=-2147217396 |
ISO 27001 Overview | https://www.iso.org/isoiec-27001-information-security.html |
LGPD Guide | https://www.gov.br/cidadania/pt-br/acesso-a-informacao/lgpd |
HIPAA Guidelines | https://www.hhs.gov/hipaa/for-professionals/index.html |
Azure DevOps Documentation | https://docs.microsoft.com/en-us/azure/devops/?view=azure-devops |
Microsoft Security Guide | https://docs.microsoft.com/en-us/security/ |
OWASP Top 10 | https://owasp.org/www-project-top-ten/ |
ML Ops Guide | https://ml-ops.org/ |
3.13. Gestão de Dados no ALM
3.13.1. Classificação de Dados
A classificação de dados é essencial para projetos de IA e General Bots, especialmente para garantir a conformidade com regulamentações como LGPD e HIPAA. O ALM da Pragmatismo implementa as seguintes categorias de classificação:
- Dados Públicos: Informações que podem ser livremente divulgadas sem restrições
- Dados Internos: Informações para uso interno da organização
- Dados Confidenciais: Informações sensíveis que requerem proteção adicional
- Dados Restritos: Informações altamente sensíveis com proteções rigorosas
Cada categoria possui controles específicos de acesso, armazenamento, processamento e transferência que devem ser implementados e documentados no ALM.
3.13.2. Ciclo de Vida dos Dados
O ALM da Pragmatismo implementa um ciclo de vida completo para dados utilizados em projetos de IA e General Bots:
- Coleta: Documentação da origem, base legal e consentimento
- Processamento: Aplicação de controles de segurança apropriados
- Armazenamento: Implementação de criptografia e controles de acesso
- Transferência: Proteção durante a transferência interna ou externa
- Arquivamento: Processo seguro para dados que precisam ser retidos
- Eliminação: Processo seguro para apagar dados que não são mais necessários
3.13.3. Registros de Processamento de Dados
Para conformidade com a LGPD e outras regulamentações, o ALM mantém registros detalhados de todas as atividades de processamento de dados:
- Finalidade do processamento: Documentação clara da finalidade
- Categorias de dados: Tipos de dados processados
- Categorias de titulares: Indivíduos cujos dados são processados
- Categorias de destinatários: Entidades com quem os dados são compartilhados
- Transferências internacionais: Detalhes de transferências para outros países
- Prazos de retenção: Período pelo qual os dados serão mantidos
- Medidas de segurança: Descrição das medidas técnicas e organizacionais
3.14. Segurança no ALM
3.14.1. Princípios de Segurança
O ALM da Pragmatismo é fundamentado nos seguintes princípios de segurança:
- Security by Design: Segurança incorporada desde o início do projeto
- Defense in Depth: Múltiplas camadas de controles de segurança
- Least Privilege: Acesso mínimo necessário para realizar a função
- Segregation of Duties: Separação de responsabilidades críticas
- Secure Default Configuration: Configurações padrão seguras
- Fail Secure: Em caso de falha, o sistema deve falhar de forma segura
- Continuous Improvement: Aprimoramento contínuo da postura de segurança
3.14.2. Controles de Segurança no ALM
Os seguintes controles de segurança são implementados no ALM da Pragmatismo:
- Autenticação: MFA (Multi-Factor Authentication) para acesso ao ALM
- Autorização: Controle de acesso baseado em papéis (RBAC)
- Criptografia: Criptografia em trânsito e em repouso
- Logging e Monitoramento: Registro e análise de atividades
- Gestão de Vulnerabilidades: Processo para identificação e remediação
- Segurança de Código: Análise estática e dinâmica de código
- Segurança de Infraestrutura: Hardening e configuração segura
3.14.3. DevSecOps
O ALM da Pragmatismo implementa práticas de DevSecOps para integrar segurança ao longo do ciclo de desenvolvimento:
- Treinamento: Capacitação regular da equipe em práticas seguras
- Automação: Automação de verificações de segurança nos pipelines
- Feedback Rápido: Feedback imediato sobre problemas de segurança
- Remediação Contínua: Processo ágil para correção de vulnerabilidades
- Colaboração: Colaboração entre equipes de desenvolvimento e segurança
- Medição: Métricas para avaliar a postura de segurança
- Melhoria Contínua: Processo de aprimoramento contínuo
3.15. Gestão de Projetos de IA no ALM
3.15.1. Características Específicas de Projetos de IA
Projetos de IA e General Bots apresentam características específicas que devem ser consideradas no ALM:
- Experimentação Iterativa: Processo mais experimental que desenvolvimento tradicional
- Gestão de Dados: Volumes maiores e mais complexos de dados
- Reprodutibilidade: Necessidade de reproduzir experimentos e resultados
- Explicabilidade: Requisito de explicar decisões e previsões
- Monitoramento de Modelos: Necessidade de monitorar drift e desempenho
- Requisitos Éticos: Considerações éticas específicas para IA
- Regulamentações Específicas: Requisitos regulatórios para sistemas de IA
3.15.2. Adaptação do ALM para Projetos de IA
O ALM da Pragmatismo é adaptado para atender às necessidades específicas de projetos de IA:
- MLOps: Integração de práticas de MLOps ao ALM
- Versionamento de Dados: Controle de versão para conjuntos de dados
- Registro de Experimentos: Documentação detalhada de experimentos
- Avaliação de Modelos: Critérios e métricas para avaliação
- Integração de Modelos: Processo para integração de modelos ao produto
- Monitoramento de Modelos: Ferramentas para monitoramento em produção
- Governança de IA: Estrutura para governança de sistemas de IA
3.15.3. Artefatos Específicos para Projetos de IA
Além dos artefatos tradicionais, o ALM para projetos de IA inclui:
- Catálogo de Dados: Documentação detalhada dos conjuntos de dados
- Cartões de Modelo: Documentação das características e limitações dos modelos
- Relatórios de Experimentos: Documentação detalhada de experimentos
- Avaliações de Viés: Análises de viés nos modelos
- Avaliações de Explicabilidade: Análises da explicabilidade dos modelos
- Relatórios de Monitoramento: Documentação do desempenho em produção
- Avaliações Éticas: Análises das implicações éticas
3.16. Gestão de Riscos no ALM
3.16.1. Processo de Gestão de Riscos
O ALM da Pragmatismo implementa um processo estruturado de gestão de riscos:
- Identificação: Identificação sistemática de riscos
- Análise: Avaliação da probabilidade e impacto
- Avaliação: Priorização com base em critérios definidos
- Tratamento: Desenvolvimento e implementação de planos de mitigação
- Monitoramento: Acompanhamento contínuo da eficácia das medidas
- Comunicação: Comunicação regular sobre riscos aos stakeholders
- Melhoria: Aprimoramento contínuo do processo
3.16.2. Categorias de Riscos para Projetos de IA e General Bots
O ALM considera as seguintes categorias de riscos específicas para projetos de IA:
- Riscos Técnicos: Relacionados à tecnologia e sua implementação
- Riscos de Dados: Relacionados à qualidade, disponibilidade e segurança dos dados
- Riscos Éticos: Relacionados às implicações éticas do sistema
- Riscos Regulatórios: Relacionados à conformidade com regulamentações
- Riscos de Mercado: Relacionados à aceitação do mercado
- Riscos Operacionais: Relacionados à operação do sistema
- Riscos Reputacionais: Relacionados à reputação da organização
3.16.3. Matriz de Riscos
O ALM utiliza uma matriz de riscos para categorizar e priorizar riscos:
Probabilidade/Impacto | Baixo | Médio | Alto | Crítico |
---|---|---|---|---|
Muito Alta | Médio | Alto | Crítico | Crítico |
Alta | Médio | Médio | Alto | Crítico |
Média | Baixo | Médio | Alto | Alto |
Baixa | Baixo | Baixo | Médio | Alto |
Muito Baixa | Baixo | Baixo | Baixo | Médio |
3.17. Auditoria e Compliance no ALM
3.17.1. Processo de Auditoria
O ALM da Pragmatismo implementa um processo estruturado de auditoria:
- Planejamento: Definição do escopo, objetivos e critérios
- Preparação: Coleta de informações e documentação
- Execução: Realização da auditoria com base no planejamento
- Relatório: Documentação dos resultados e achados
- Acompanhamento: Monitoramento da implementação das correções
- Fechamento: Encerramento formal da auditoria
- Aprendizado: Incorporação de lições aprendidas
3.17.2. Trilhas de Auditoria
O ALM mantém trilhas de auditoria para as seguintes atividades:
- Acesso ao Sistema: Registro de todas as tentativas de acesso
- Alterações de Configuração: Registro de alterações em configurações
- Alterações de Código: Registro de alterações em código-fonte
- Implantações: Registro de todas as implantações
- Processamento de Dados: Registro de operações de processamento de dados
- Incidentes de Segurança: Registro de incidentes e resposta
- Atividades Administrativas: Registro de atividades administrativas
3.17.3. Relatórios de Compliance
O ALM gera os seguintes relatórios de compliance:
- Relatório de Análise de Lacunas: Identificação de lacunas de conformidade
- Plano de Ação de Remediação: Plano para resolver lacunas identificadas
- Relatório de Progresso: Acompanhamento da implementação de correções
- Relatório de Incidentes: Detalhes sobre incidentes e resposta
3.18. Treinamento e Capacitação
3.18.1. Programa de Treinamento ALM
O programa de treinamento ALM da Pragmatismo inclui:
- Onboarding: Treinamento inicial para novos membros da equipe
- Treinamento Técnico: Capacitação em ferramentas e tecnologias
- Treinamento de Segurança: Capacitação em práticas de segurança
- Treinamento de Compliance: Capacitação em requisitos regulatórios
- Treinamento Específico de IA: Capacitação em desenvolvimento de IA
- Treinamento Ético: Capacitação em questões éticas de IA
- Treinamento de Liderança: Capacitação para gerentes e líderes
3.18.2. Materiais de Treinamento
Os seguintes materiais de treinamento são disponibilizados:
- Documentação: Documentação detalhada de processos e ferramentas
- Vídeos: Tutoriais em vídeo para conceitos importantes
- Workshops: Materiais para workshops interativos
- Guides: Guias passo-a-passo para tarefas comuns
- FAQs: Respostas para perguntas frequentes
- Case Studies: Estudos de caso para aprendizado baseado em problemas
- Simulações: Simulações para prática em ambiente seguro
3.18.3. Certificações Recomendadas
As seguintes certificações são recomendadas para a equipe:
- Segurança: Certificações em segurança da informação (CISSP, Security+)
- Compliance: Certificações em compliance (CISA, CRISC)
- IA e ML: Certificações em IA e Machine Learning
- Cloud: Certificações em plataformas de nuvem (Azure, AWS)
- Ágil/Scrum: Certificações em metodologias ágeis
- Específicas da Indústria: Certificações relacionadas à indústria do cliente
3.19. Continuidade de Negócios
3.19.1. Backup e Recuperação
O ALM da Pragmatismo implementa as seguintes práticas de backup e recuperação:
- Backup Regular: Backup automatizado em intervalos definidos
- Verificação de Integridade: Verificação regular da integridade dos backups
- Testes de Restauração: Testes periódicos de restauração
- Armazenamento Seguro: Armazenamento seguro de backups
- Retenção Adequada: Política de retenção alinhada a requisitos regulatórios
- Documentação: Documentação detalhada dos procedimentos
- Treinamento: Capacitação da equipe em procedimentos de recuperação
3.19.2. Plano de Continuidade de Negócios
O ALM integra-se ao plano de continuidade de negócios através de:
- Análise de Impacto: Identificação de sistemas e processos críticos
- Estratégias de Recuperação: Definição de estratégias para diferentes cenários
- Planos de Resposta: Procedimentos detalhados para diversos cenários
- Equipes de Resposta: Definição clara de papéis e responsabilidades
- Comunicação: Procedimentos de comunicação durante incidentes
- Testes Regulares: Exercícios e simulações para validar planos
- Melhoria Contínua: Aprimoramento contínuo com base em lições aprendidas
3.19.3. Gestão de Incidentes
O ALM implementa um processo estruturado de gestão de incidentes:
- Detecção: Mecanismos para detecção rápida de incidentes
- Classificação: Classificação de incidentes por gravidade e impacto
- Resposta: Procedimentos para resposta a incidentes
- Contenção: Medidas para limitar o impacto do incidente
- Erradicação: Eliminação da causa raiz do incidente
- Recuperação: Restauração de operações normais
- Aprendizado: Incorporação de lições aprendidas
3.20.5. Configuração de Ambiente para Projetos de IA
- Ambiente Python: Configuração de ambiente Python com ferramentas específicas
- Frameworks de IA: Instalação de frameworks como TensorFlow, PyTorch
- Ferramentas de MLOps: Instalação de ferramentas como MLflow, DVC
- Jupyter Notebooks: Configuração para desenvolvimento exploratório
- Ferramentas de Visualização: Instalação de bibliotecas de visualização
- Ferramentas de Processamento de Dados: Instalação de bibliotecas de processamento
- Conexões com Serviços de Nuvem: Configuração de conexões com serviços de nuvem
3.20.6. Configurações Recomendadas
Visual Studio Code Keybindings Sugeridos
[
{ "key": "ctrl+shift+s", "command": "workbench.action.files.saveAll" },
{ "key": "ctrl+w", "command": "workbench.action.closeActiveEditor", "when": "!editorIsOpen" },
{ "key": "ctrl+shift+w", "command": "workbench.action.files.saveAll" }
]
Extensões Recomendadas para Visual Studio Code
- Python: Suporte para desenvolvimento Python
- Jupyter: Suporte para Jupyter Notebooks
- ESLint: Análise estática para JavaScript
- Prettier: Formatação de código
3.21. Processo de Entrega e Implantação
3.21.1. Entrega Contínua
O ALM da Pragmatismo implementa práticas de entrega contínua:
- Automação: Automação completa do processo de build e deploy
- Testes Automatizados: Execução automática de testes
- Ambientes: Múltiplos ambientes (desenvolvimento, teste, produção)
- Promoção Controlada: Promoção controlada entre ambientes
- Reversão Rápida: Capacidade de reverter rapidamente mudanças
- Monitoramento: Monitoramento contínuo de implantações
- Feedback Rápido: Mecanismos para feedback rápido
3.21.2. Gates de Qualidade
Os seguintes gates de qualidade são implementados nos pipelines:
- Análise de Código: Verificação de qualidade e segurança do código
- Testes Unitários: Execução de testes unitários
- Testes de Integração: Execução de testes de integração
- Testes de Segurança: Execução de testes de segurança
- Testes de Performance: Execução de testes de performance
- Testes de Compliance: Verificação de compliance
- Aprovações: Aprovações baseadas em papéis
3.21.3. Implantação Segura
O ALM implementa as seguintes práticas para implantação segura:
- Blue/Green Deployment: Minimização de downtime e risco
- Canary Releases: Implantação gradual para detecção precoce de problemas
- Feature Flags: Controle granular de funcionalidades
- Rollback Automatizado: Capacidade de reverter automaticamente em caso de falha
- Monitoramento Em Tempo Real: Monitoramento durante a implantação
- Checklists de Implantação: Verificações antes e após implantação
- Post-Mortem: Análise detalhada após cada implantação significativa
3.21.4. Entrega do Código-Fonte
-
O código-fonte deve ser desenvolvido internamente no Projeto Base no processo de personalização;
-
A partir do momento em que a personalização via mecanismo declarativo atingiu o processo máximo, um desvio (branch) pode ser aberto para confecção do código sob medida da ou do cliente;
-
O código-fonte entregue deve conter apenas o código relativo à lista de requisitos do projeto, desativando as partes comuns (removendo o código) do Projeto Base não descritas na especificação original do projeto primordialmente para diminuir superfície de ataque.
-
Sanitização de Código: Remoção de credenciais, comentários sensíveis e informações internas
-
Documentação: Documentação completa do código e sua utilização
-
Licenciamento: Inclusão de informações de licenciamento adequadas
-
Verificação Final: Verificação final de segurança e qualidade