Metodologias de ALM
O ALM (gerenciamento do ciclo de vida do aplicativo) tem uma perspectiva ampla que continua até que o aplicativo não seja mais usado. As metodologias para ALM podem variar; portanto, a escolha da metodologia correta para suas necessidades é crucial para o desenvolvimento. O objetivo deste módulo e do ALM é ajudar a aumentar a produtividade do desenvolvedor, melhorar a colaboração entre equipes e fornecer transparência para itens de trabalho.
Esta unidade explora as metodologias para o ALM e ajuda a determinar qual metodologia deve ser usada com base nas necessidades de desenvolvimento de software.
Existem várias abordagens para o ALM. Cada metodologia tem vantagens e desvantagens, dependendo do tipo de projeto e do software que está sendo usado.
As três metodologias comuns são Cascata, Agile e Espiral.
Metodologia de cascata
A metodologia de cascata é uma abordagem sequencial. O projeto é dividido em fases diferentes que fluem da fase anterior para a próxima fase até que o projeto seja concluído. Cada fase é documentada minuciosamente com resultados claros, revisões e aprovações. Em geral, a próxima fase na metodologia de cascata não inicia até que a fase anterior seja concluída. Por exemplo, se você fosse implementar aplicativos de finanças e operações, seria necessário definir todos os requisitos de cada integração antes de os desenvolvedores iniciarem o desenvolvimento.
A metodologia de cascata deve ser considerada quando o projeto é simples, os requisitos são conhecidos e bem definidos. O escopo total do projeto não deve ser alterado, e o projeto inteiro é implementado de uma vez.
Metodologia Agile
A metodologia Agile é iterativa e se concentra em comentários contínuos para alterar e adicionar resultados finais ao projeto. Diferente da metodologia de Cascata, as fases da metodologia Agile podem fazer loopback entre si. Isso significa que várias fases podem ser executadas simultaneamente. Por exemplo, se forem definidos requisitos para uma integração, os desenvolvedores poderão começar a trabalhar nessa integração, mesmo que outras integrações ainda estejam em uma fase de coleta de requisitos. Os projetos da metodologia Agile costumam ser separados em sprints, que têm uma duração definida (entre uma ou duas semanas). Esses sprints têm uma lista de resultados a serem concluídos durante o sprint.
A abordagem Agile é útil quando os requisitos não estão claros quando o projeto é iniciado. Espera-se requisitos adicionais ou resultados durante o ciclo de vida do aplicativo, ou se o projeto não precisa ser liberado todo de uma vez. A metodologia Agile também é ideal para projetos orientados pelo usuário, especialmente se a equipe do projeto está totalmente dedicada ao projeto. Como a abordagem Agile envolve vários participantes que trabalham em diferentes partes do projeto ao mesmo tempo, isso pode dificultar a comunicação e a coordenação do projeto. Portanto, é benéfico ter a equipe do projeto no mesmo local.
Por causa da natureza iterativa da metodologia Agile, seu rastreamento pode ser complexo. O trabalho muitas vezes é priorizado novamente quando os resultados ultrapassam o sprint original ou se novos sprints precisam ser adicionados posteriormente.
Metodologia Espiral
A metodologia Espiral combina aspectos das metodologias Cascata e Agile. A metodologia Espiral se concentra na avaliação de risco dividindo o projeto em segmentos ou ciclos menores. No início de cada ciclo, são identificados requisitos e objetivos para a criação de um protótipo. Cada ciclo passa pelas mesmas etapas para criar um protótipo. Ao fim de um ciclo, o protótipo é revisado, e o próximo ciclo é planejado.
A metodologia Espiral funciona bem para sistemas complexos de grande escala. A avaliação de risco adequada é necessária para identificar as áreas de risco para problemas. Sem avaliação de risco, podem ocorrer problemas no software que podem aumentar os custos.