Pular para conteúdo

Estratégias de Engenharia de Software

3.1 Estratégia Priorizada

Abordagem de Desenvolvimento de Software: Híbrido
Ciclo de Vida: Adaptativo
Processo de Engenharia de Software: RAD

3.2 Quadro Comparativo

Características RAD Scrum XP
Abordagem Geral Iterativo e incremental, com ciclos curtos de desenvolvimento e prototipagem rápida. Iterativo e incremental com foco em entregas rápidas e feedback contínuo.
Foco em Arquitetura Inicialmente superficial, priorizando funcionalidade; arquitetura é ajustada com base no feedback. Menor foco na arquitetura inicialmente, com evolução da arquitetura ao longo do tempo e conforme a necessidade.
Estrutura de Processos Baseada em protótipos rápidos, feedback frequente e fases curtas de desenvolvimento. Focado em sprints curtos e flexíveis (2-4 semanas) com entregas incrementais e adaptação contínua durante o projeto.
Flexibilidade de Requisitos Alta, com capacidade de acomodar mudanças rapidamente durante o ciclo de desenvolvimento. Alta flexibilidade para mudanças contínuas de requisitos a cada sprint. Adaptável a feedback frequente do cliente.
Colaboração com Cliente Contato frequente com o cliente para obter feedback e ajustar os protótipos. Envolvimento constante do cliente, com feedback ao final de cada sprint, garantindo que os requisitos estejam sempre atualizados.
Complexidade do Processo Relativamente simples, com ênfase em reduzir tempo e esforço, mas pode faltar estrutura em projetos complexos. Mais leve e ágil, com menos documentação formal e mais foco na entrega funcional, facilitando a adaptação contínua.
Qualidade Técnica Pode ser sacrificada para priorizar velocidade, com qualidade refinada após o feedback. Alta ênfase na qualidade técnica, com práticas como TDD, pair programming e integração contínua para garantir um código limpo e funcional.
Práticas de Desenvolvimento Protótipos rápidos e entregas iterativas; menos foco em práticas robustas de desenvolvimento. Inclui práticas técnicas robustas como TDD, refatoração contínua, integração contínua e pair programming, promovendo alta qualidade no código.
Adaptação ao Projeto da Touristeer Adequado para projetos com ênfase em resultados rápidos e requisitos em evolução constante. Ideal para projetos onde a interação constante com o cliente e a evolução contínua do produto são fundamentais. Adaptável a mudanças frequentes e feedback.
Documentação Mínima, geralmente centrada no essencial para acompanhar o progresso dos protótipos. Minimiza a documentação formal, com foco em comunicação e feedback rápido. A documentação é apenas o essencial.
Controle de Qualidade Baseado em revisões e testes iterativos após os protótipos. Controle de qualidade embutido nas práticas do XP, como TDD e integração contínua, garantindo que o software seja testado a cada nova funcionalidade.
Escalabilidade Limitada a equipes pequenas e projetos menos complexos. Escalável, mas mais indicado para equipes menores e médias devido à sua abordagem colaborativa e interativa constante.
Suporte a Equipes de Desenvolvimento Melhor para equipes menores, com menos necessidade de coordenação complexa. Suporta equipes menores e mais colaborativas, com papéis mais flexíveis, permitindo maior adaptação ao ritmo do projeto.

3.3 Justificativa

Escolhemos uma abordagem híbrida (que combina a flexibilidade de ciclos ágeis com a disciplina de processos estruturados) para o Touristeer. Dessa forma, podemos prototipar e testar rapidamente novas rotas, filtros e integrações de dados locais, validando no dia a dia o que realmente faz diferença para o turista. Ao mesmo tempo, mantemos revisões de código, testes automatizados e documentação mínima para garantir a estabilidade e a manutenção das funções de GPS, análise de avaliações e armazenamento de conteúdo. Assim, conseguimos inovar rápido sem abrir mão da confiança e do desempenho do aplicativo.

A escolha pelo modelo RAD (Rapid Application Development) foi fundamentada na aplicação de uma adaptação do framework proposto por Gupta, que avalia aspectos críticos relacionados aos requisitos, à equipe de desenvolvimento, aos stakeholders e às características do projeto. As respostas fornecidas pela equipe, encontradas na tabela 1, indicaram que o RAD seria o método ideal devido à sua abordagem iterativa e adaptável, alinhada às demandas do projeto.

Figura 1 - Escolha do processo através do framework Gupta adaptado

Captura de tela de uma planilha com os tópicos para escolha do processo

Fonte: Elaborado pelos autores (2025)

Os requisitos do projeto apresentam um nível médio de estabilidade, necessitando de ajustes frequentes com base no feedback dos stakeholders. O RAD se destaca nesse contexto por possibilitar a entrega de protótipos rápidos, permitindo validações contínuas e adaptações ágeis durante o desenvolvimento. Essa flexibilidade é essencial para projetos onde as necessidades dos clientes podem evoluir rapidamente.

A equipe de desenvolvimento possui experiência em ciclos rápidos e uma dinâmica colaborativa, fatores que são fundamentais para o sucesso do RAD. Além disso, os stakeholders demonstraram alta disponibilidade e envolvimento, garantindo o feedback constante e as validações necessárias para o progresso iterativo. Essa proximidade com os stakeholders também reduz os riscos de desalinhamento entre o produto entregue e as expectativas do cliente.

Por fim, o escopo do projeto é de complexidade moderada, favorecendo a aplicação de um modelo que prioriza entregas rápidas e incrementais. A capacidade do RAD de mitigar riscos por meio de validações precoces e de integrar mudanças de forma eficiente torna-o a escolha mais adequada, permitindo otimizar o tempo e a qualidade do desenvolvimento.

Histórico de Versão
Data Versão Descrição Autor Revisores
21/04/2025 1.0 Criação do documento Rodrigo Amaral Todos os integrantes do grupo