Grandes projetos de software são altamente propensos a atrasos e até falhas. Para ter sucesso, são necessários um planeamento cuidadoso, uma comunicação eficaz e um elevado nível de conhecimentos técnicos e foco na qualidade para superar muitos destes desafios.
O Relatório Standish Caos e a Relatório de Custo da Má Qualidade 2022 do grupo CISQ ambos confirmam que grandes projetos de software têm uma probabilidade muito alta de fracasso. E que as taxas de falhas não diminuíram, apesar do Agile.
Escala
O trabalho do conhecimento não é escalável. Na verdade existem deseconomias no trabalho de software, ou seja, quanto maiores são, mais dispendiosos se tornam. Os gerentes de projetos de software devem conhecer o tamanho funcional de um projeto e podem gerenciar o escopo e planejar com mais eficiência. O dimensionamento é possível até certo ponto, mas tem um custo. Os executivos devem apoiar todos os esforços para dividir grandes projectos em projectos independentes mais pequenos. A segregação técnica por meio de arquiteturas e disciplinas de software apropriadas também pode ajudar a dimensionar projetos maiores.
Direção e propósito
Manter todas as partes focadas no resultado desejado do projeto pode ser um desafio, pois as atividades de cada colaborador podem parecer distantes do objetivo geral. Isso requer uma rastreabilidade clara dos requisitos até os objetivos e excelente liderança.
Complexidade
À medida que os projetos de software crescem em tamanho e escopo, a complexidade aumenta exponencialmente. Analistas, designers e desenvolvedores devem lidar com um número maior de interações, módulos, componentes e dependências. O uso de ferramentas, técnicas e disciplina pode ajudar a gerenciar e minimizar as complexidades.
Coordenação
Com equipes maiores surgem maiores desafios de coordenação. As equipes devem se comunicar e colaborar de forma eficaz para garantir que todos trabalhem em prol das mesmas metas e objetivos. A comunicação sobre o que deve ser desenvolvido e em que sequência precisa ser clara.
Qualidade
O resultado mais rápido e barato só vem com uma alta disciplina e atenção à qualidade. Manter a qualidade de todos os artefatos do projeto torna-se cada vez mais difícil à medida que o tamanho do projeto aumenta. Comprometimentos de qualidade em qualquer aspecto do projeto levarão a um castelo de cartas em ruínas. A atenção à qualidade deve abranger: gerenciamento de projetos, requisitos, arquitetura, design, documentação, dados, codificação, testes, gerenciamento de configuração e implantação.
Alteração de requisitos
À medida que os projetos evoluem, os requisitos também evoluem. Gerenciar requisitos em constante mudança pode ser um desafio significativo, especialmente quando múltiplas partes interessadas estão envolvidas. Todos os projetos de software incorrem em mudanças imprevisíveis; muitos projetos também sofrem com as mudanças nos requisitos intermediários que eram previsíveis. A detecção precoce desses requisitos conhecidos reduzirá a volatilidade e a turbulência ao longo do projeto.
Tempo
A confusão entre objetivos e realismo no tempo é uma fonte importante de problemas. Os líderes precisam se preocupar com o tamanho e com o tempo que levará para acertar o software (principalmente) na primeira vez. Pressões de tempo inadequadas por parte dos líderes geralmente dão origem à necessidade de correção/reescrita prolongada de bugs e, em alguns casos, cancelamento. Conhecer o tamanho funcional permite que os gerentes de projeto aloquem e protejam os cronogramas de desenvolvimento contra pressões executivas inviáveis.
Tipos de grandes projetos de software
Existem vários tipos diferentes de grandes projetos de software: implementação de ERP, configuração de pacotes, migração para nuvem, nova construção interna, substituição de legado ou até mesmo híbridos destes. Além disso, o trabalho técnico pode ser dividido entre interno ou terceirizado para um ou mais fornecedores.
Independentemente do tipo ou mesmo da metodologia, o ScopeMaster pode ajudar todos esses grandes projetos de software a reduzir riscos, porque a análise que ele automatiza e facilita é toda genérica, de boas práticas e baseada em princípios para melhorar o trabalho de software.