Imagine uma empresa em plena jornada de transformação, determinada a fortalecer sua segurança e impulsionar a inovação em um ambiente digital cada vez mais complexo. Esse foi o ponto de partida quando firmamos um contrato estratégico com uma renomada empresa, com o objetivo de implementar novos controles e elevar nossos padrões tecnológicos a um novo patamar de excelência.
Porém, no decorrer desse processo, uma análise detalhada do sistema de gestão administrativa e financeira revelou deficiências significativas que exigiam uma solução mais robusta. Em nossa busca incessante pela excelência, identificamos a necessidade urgente de um sistema integrado que abarcasse todos os processos administrativos da rede, acreditando que essa seria a chave para alcançar nossos objetivos.
Iniciamos então a busca por um fornecedor capaz de desenvolver esse novo sistema. Após meses de levantamento de requisitos e planejamento detalhado, finalmente selecionamos um parceiro que parecia estar em sintonia com as expectativas da empresa. No entanto, à medida que o desenvolvimento avançava, ficou evidente que as promessas feitas nas reuniões iniciais não estavam sendo cumpridas.
Frente a essas discrepâncias, a necessidade de ação tornou-se inadiável. Insistimos na conformidade com os padrões de segurança da ISO 27001, mas fomos surpreendidos quando o fornecedor, em uma manobra duvidosa, conseguiu convencer a diretoria de que nossas preocupações eram infundadas. Nossas vozes foram silenciadas, e as preocupações com os controles foram ignoradas.
Oito longos anos se passaram desde então, e o fornecedor ainda não entregou o sistema conforme o acordado. Na tentativa de cortar custos, contrataram programadores na Índia, mas sem conceder à nossa empresa acesso aos entregáveis, servidores ou ao repositório dos códigos-fonte. Hoje, a empresa está à deriva, sem controle ou visibilidade sobre seu próprio sistema.
O resultado? Uma organização refém da incerteza, lutando para manter sua reputação frente aos clientes devido a erros operacionais e à falta de funcionalidade adequada do sistema. Milhões foram investidos ao longo dos anos, sem qualquer retorno tangível. O suporte, praticamente inexistente, deixa a continuidade desse investimento em uma posição indefinida, uma vez que o acesso aos códigos-fonte para explorar alternativas nunca foi concedido.
Este caso é um exemplo doloroso das consequências de uma gestão falha em garantir transparência e responsabilidade em projetos de desenvolvimento. Um lembrete severo de que, no mundo da tecnologia, confiança e integridade são pilares essenciais; qualquer desvio desses princípios pode resultar em consequências devastadoras.
Aqui está um guia para quem deseja contratar uma empresa para desenvolver uma aplicação de forma segura, garantindo que todas as normas necessárias sejam seguidas e evitando surpresas desagradáveis:
Guia para Contratação Segura de Desenvolvimento de Aplicações
Definição Clara dos Requisitos:
Antes de iniciar o processo de contratação, defina claramente os requisitos da aplicação. Documente as funcionalidades desejadas, os objetivos do negócio e quaisquer requisitos específicos de segurança ou conformidade.
Escolha de uma empresa com experiência e reputação:
Pesquise empresas com histórico comprovado em desenvolvimento seguro de software. Verifique portfólios, avaliações de clientes anteriores e peça referências.
Verificação de conformidade com normas de qualidade e segurança:
Assegure-se de que a empresa segue normas como ISO/IEC 25010 para qualidade de software e ISO/IEC 27001 para segurança da informação.
Pergunte sobre a adesão às diretrizes de segurança do OWASP, especialmente se a aplicação for web-based.
Proposta detalhada e transparente:
Exija uma proposta detalhada que inclua cronogramas, marcos de entrega, tecnologias a serem utilizadas e custos. Certifique-se de que todos os aspectos do projeto estão claros e documentados.
Contrato com cláusulas de garantia e penalidades:
Estabeleça um contrato que inclua garantias de qualidade e segurança, bem como penalidades por descumprimento dos prazos ou falhas na entrega dos requisitos.
Inclua cláusulas de confidencialidade para proteger suas informações e propriedade intelectual.
Revisões e aprovações em cada fase:
Solicite revisões e aprovações em cada fase do desenvolvimento. Isso inclui revisões de design, revisões de código e testes de segurança.
Assegure-se de que a empresa esteja disposta a realizar code reviews e auditorias de segurança.
Planos de testes e garantia de qualidade:
Exija que a empresa siga normas como ISO/IEC/IEEE 29119 para testes de software. Certifique-se de que testes de usabilidade, segurança e desempenho estão incluídos.
Solicite evidências dos testes realizados, como relatórios de testes e logs de erros.
Gestão de projetos e comunicação:
Escolha uma empresa que utilize metodologias de gestão de projetos, como Scrum ou Kanban, para garantir transparência e comunicação contínua.
Estabeleça canais de comunicação claros e frequentes para acompanhar o progresso do projeto.
Acompanhamento pós-entrega e suporte:
Garanta que a empresa ofereça suporte pós-entrega, incluindo correções de bugs e atualizações de segurança.
Verifique se há um plano de manutenção em vigor para garantir a longevidade e segurança contínua da aplicação.
Auditoria Independente:
Considere contratar uma auditoria independente para revisar a aplicação antes do lançamento. Isso ajudará a identificar possíveis vulnerabilidades ou problemas de conformidade.
Treinamento e Documentação:
Assegure-se de que a empresa forneça documentação completa do projeto e, se necessário, treinamento para sua equipe sobre como operar e manter a aplicação.
Comentários