Você está na página 1de 3

Com a crescente demanda por sistemas eficientes e ágeis no desenvolvimento de

projetos, destacam-se metodologias como o Extreme Programming (XP) e o Scrum


(Pablos & Feitosa, 2020), a engenharia de software ágil foca na satisfação do cliente e
na entrega progressiva do projeto, priorizando as necessidades mais prementes do
cliente (Pressman, 2011).

O modelo de desenvolvimento incremental representa uma abordagem dinâmica e


adaptativa no cenário do desenvolvimento de software, fragmenta o projeto em partes
completas, construídas e entregues sequencialmente, sendo avaliadas pelo cliente a cada
etapa, ganhando destaque pela sua flexibilidade em lidar com mudanças e evoluções ao
longo do ciclo de vida do projeto. Ao contrário de métodos tradicionais que seguem
uma abordagem linear e rígida, o desenvolvimento incremental permite que as
funcionalidades sejam desenvolvidas e entregues em incrementos sucessivos,
proporcionando benefícios significativos para as equipes de desenvolvimento e os
stakeholders envolvidos.

O desenvolvimento incremental é considerado uma evolução do modelo em cascata,


proporcionando benefícios como redução do custo das mudanças, obtenção mais fácil
de feedback dos clientes, entregas mais rápidas, envolvimento do usuário e melhor
gerenciamento dos riscos do desenvolvimento. Contudo, a estrutura do sistema pode
deteriorar-se com a introdução de novas etapas, e problemas complexos podem ser
adiados (Bezerra, 2002; Sommerville et al., 2011; Vieira et al., 2023).
Uma das vantagens notáveis desse modelo é a capacidade de fornecer entregas parciais
ao longo do tempo, permitindo que partes do sistema sejam disponibilizadas à medida
que são concluídas, isso não apenas possibilita uma avaliação contínua por parte dos
usuários finais, mas também facilita a identificação precoce de possíveis melhorias ou
ajustes necessários. Além disso, a abordagem incremental possibilita uma rápida
resposta às mudanças nos requisitos do projeto, adaptando-se de maneira mais eficaz às
demandas em constante evolução.

No entanto, é importante considerar algumas desvantagens associadas ao


desenvolvimento incremental, a gestão de dependências entre os incrementos pode se
tornar um desafio, especialmente em projetos complexos, exigindo uma coordenação
cuidadosa para garantir a integração eficiente de cada parte do sistema, além disso, a
implementação incremental pode aumentar a complexidade do código, uma vez que
diferentes partes do sistema podem ser desenvolvidas em momentos distintos, o que
pode resultar em desafios de integração e manutenção a longo prazo.

Ao analisar as fases do desenvolvimento incremental, podemos destacar algumas etapas


cruciais, inicialmente, ocorre a identificação dos requisitos iniciais, seguida pela
implementação do primeiro incremento, após a entrega do incremento inicial, os
feedbacks dos usuários são coletados e utilizados para orientar o desenvolvimento dos
próximos incrementos, esse ciclo de desenvolvimento iterativo e adaptativo continua até
que o sistema atenda plenamente às expectativas dos stakeholder

Definimos as etapas do modelo de desenvolvimento incremental como:

Levantamento de Requisitos: Nesta fase inicial, os requisitos de alto nível para o


software são coletados e analisados. Esses requisitos servem como base para as fases
subsequentes.

Design: Com base nos requisitos coletados, a arquitetura, o design e as interfaces do


usuário do software são planejados e desenvolvidos. O design é frequentemente
dividido em segmentos menores para garantir um processo de desenvolvimento focado
e organizado.

Implementação: Cada incremento envolve a implementação de uma parte da


funcionalidade do software. Os desenvolvedores trabalham na adição de recursos,
módulos ou componentes planejados na fase de design. Essa abordagem incremental
permite uma entrega mais rápida de um software utilizável.

Testes: À medida que cada incremento é concluído, são realizados testes para garantir
que os novos recursos funcionem conforme o esperado e não afetem negativamente a
funcionalidade existente. Esses testes contínuos ajudam a identificar e resolver
problemas no início do processo de desenvolvimento.
Integração: Nesta fase, os novos incrementos desenvolvidos são integrados ao software
existente. Isso pode envolver a fusão de código, resolução de conflitos e garantia de que
todos os componentes funcionem juntos de maneira eficiente.

Avaliação e Feedback: Após cada incremento, os interessados revisam a


funcionalidade adicionada e fornecem feedback, esse feedback pode ser usado para
refinar os requisitos, design e implementação de incrementos subsequentes.

Processo Iterativo: O processo de desenvolvimento de software itera por meio das


fases acima, gradualmente adicionando novos recursos e melhorias. Com cada iteração,
o software se torna mais robusto e rico em recursos.

Em resumo, a escolha do modelo ideal de processo de desenvolvimento de software


depende das particularidades do projeto, apesar dos desafios, o desenvolvimento
incremental é uma opção promissora para projetos que necessitam de agilidade,
interação com o cliente e adaptação às mudanças, e êxito do modelo reside na
implementação cuidadosa, na seleção apropriada de ferramentas, na definição precisa
dos requisitos do projeto e no envolvimento constante do cliente.

Referências:
https://medium.com/contexto-delimitado/o-modelo-incremental-b41fc06cac04

https://www.devmedia.com.br/introducao-aos-processos-de-software-e-o-modelo-
incremental-e-evolucionario/29839

https://bootcamp.uxdesign.cc/dlc-software-development-model-incremental-
development-7598ae6500e6

Você também pode gostar