SDLC - Modelo Espiral
O modelo em espiral combina a ideia de desenvolvimento iterativo com os aspectos sistemáticos e controlados do modelo em cascata. Este modelo espiral é uma combinação de modelo de processo de desenvolvimento iterativo e modelo de desenvolvimento linear sequencial, ou seja, o modelo em cascata com grande ênfase na análise de risco. Ele permite lançamentos incrementais do produto ou refinamento incremental por meio de cada iteração em torno da espiral.
Modelo Espiral - Design
O modelo espiral tem quatro fases. Um projeto de software passa repetidamente por essas fases em iterações chamadas espirais.
Identificação
Esta fase começa reunindo os requisitos de negócios na espiral da linha de base. Nas espirais subsequentes, à medida que o produto amadurece, a identificação dos requisitos do sistema, requisitos do subsistema e requisitos da unidade são todos feitos nesta fase.
Esta fase também inclui a compreensão dos requisitos do sistema por meio da comunicação contínua entre o cliente e o analista de sistema. Ao final da espiral, o produto é implantado no mercado identificado.
Projeto
A fase de projeto começa com o projeto conceitual na espiral da linha de base e envolve o projeto arquitetônico, o projeto lógico dos módulos, o projeto físico do produto e o projeto final nas espirais subsequentes.
Construir ou construir
A fase de construção se refere à produção do produto de software real em cada espiral. Na espiral da linha de base, quando o produto é apenas pensado e o design está sendo desenvolvido, um POC (Prova de Conceito) é desenvolvido nesta fase para obter o feedback do cliente.
Em seguida, nas espirais subsequentes com maior clareza sobre os requisitos e detalhes de design, um modelo funcional do software chamado build é produzido com um número de versão. Essas compilações são enviadas ao cliente para feedback.
Avaliação e Análise de Risco
A Análise de Risco inclui a identificação, estimativa e monitoramento da viabilidade técnica e riscos de gerenciamento, como atrasos no cronograma e excesso de custos. Depois de testar a construção, no final da primeira iteração, o cliente avalia o software e fornece feedback.
A ilustração a seguir é uma representação do Modelo Espiral, listando as atividades em cada fase.
Com base na avaliação do cliente, o processo de desenvolvimento de software entra na próxima iteração e, posteriormente, segue a abordagem linear para implementar o feedback sugerido pelo cliente. O processo de iterações ao longo da espiral continua ao longo da vida do software.
Aplicação de modelo espiral
O Modelo Espiral é amplamente utilizado na indústria de software, pois está em sincronia com o processo natural de desenvolvimento de qualquer produto, ou seja, aprender com maturidade que envolve risco mínimo para o cliente e também para as empresas de desenvolvimento.
As dicas a seguir explicam os usos típicos de um modelo espiral -
Quando há uma restrição orçamentária e a avaliação de risco é importante.
Para projetos de médio a alto risco.
Compromisso de projeto de longo prazo devido a possíveis mudanças nas prioridades econômicas conforme os requisitos mudam com o tempo.
O cliente não tem certeza de seus requisitos, o que geralmente acontece.
Os requisitos são complexos e precisam de avaliação para obter clareza.
Nova linha de produtos que deve ser lançada em fases para obter feedback suficiente do cliente.
Esperam-se mudanças significativas no produto durante o ciclo de desenvolvimento.
Modelo espiral - prós e contras
A vantagem do modelo de ciclo de vida em espiral é que ele permite que elementos do produto sejam adicionados, quando se tornam disponíveis ou conhecidos. Isso garante que não haja conflito com os requisitos e projetos anteriores.
Este método é consistente com abordagens que possuem múltiplas compilações e liberações de software, o que permite fazer uma transição ordenada para uma atividade de manutenção. Outro aspecto positivo desse método é que o modelo em espiral força um envolvimento precoce do usuário no esforço de desenvolvimento do sistema.
Por outro lado, é preciso uma gestão muito rigorosa para concluir esses produtos e existe o risco de uma espiral indefinida. Portanto, a disciplina de mudança e o grau de aceitação das solicitações de mudança são muito importantes para desenvolver e implantar o produto com sucesso.
As vantagens do modelo Spiral SDLC são as seguintes -
Mudanças de requisitos podem ser acomodadas.
Permite o uso extensivo de protótipos.
Os requisitos podem ser capturados com mais precisão.
Os usuários veem o sistema cedo.
O desenvolvimento pode ser dividido em partes menores e as partes de risco podem ser desenvolvidas mais cedo, o que ajuda no melhor gerenciamento de risco.
As desvantagens do modelo Spiral SDLC são as seguintes -
A gestão é mais complexa.
O fim do projeto pode não ser conhecido no início.
Não é adequado para projetos pequenos ou de baixo risco e pode ser caro para projetos pequenos.
O processo é complexo
A espiral pode continuar indefinidamente.
Grande número de estágios intermediários requer documentação excessiva.