3. ESTRATÉGIAS DE ENGENHARIA DE SOFTWARE
3.1 Estratégia Priorizada
- Abordagem: Ágil
- Ciclo de Vida: Ágil
- Processo: Scrum/XP
3.2 Quadro Comparativo
O Quadro, a seguir, apresenta algumas características que podem ser relacionadas ao RAD e ao ScrumXP, visando auxiliar no entendimento e justificativa da escolha do processo mais adequado ao caso da Meu Capilar, já que os dois são “parecidos” em certos aspectos.
Características | RAD | Scrum/XP |
---|---|---|
Abordagem geral | Iterativa e incremental, com foco em desenvolvimento rápido e prototipação contínua. | Ágil com entregas rápidas(Sendo incrementos ou não) e feedback contínuo. |
Foco em arquitetura | PMenor foco em uma arquitetura robusta no início. A arquitetura evolui com base em protótipos e interação com o cliente. | Menor foco na arquitetura inicialmente, com evolução da arquitetura ao longo do tempo e conforme a necessidade. |
Estrutura de Processo | Baseado em fases como planejamento de requisitos, prototipagem, testes e implementação. Foco em velocidade e iteração com o cliente. | Focado em sprints curtos e flexíveis (2-4 semanas) com entregas incrementais e adaptação contínua durante o projeto. |
Flexibilidade de requisitos | Bastante flexibilidade, com mudanças frequentes durante a prototipação. Os requisitos evoluem com o tempo. | Alta flexibilidade para mudanças contínuas de requisitos a cada sprint. Muda conforme o feedback frequente do cliente. |
Colaboração com cliente | Envolvimento intensivo do cliente durante todo o processo, especialmente nas fases de prototipação e feedback. | Envolvimento constante do cliente, com feedback ao final de cada sprint, garantindo que os requisitos estejam alinhados |
Complexidade do processo | Processo menos formal, mas pode se tornar complexo se não houver controle sobre mudanças rápidas. | Mais leve e ágil, com menos documentação formal e mais foco na entrega funcional, facilitando a adaptação contínua. |
Qualidade Técnica | Qualidade depende da rapidez dos ciclos e do envolvimento do cliente. Menor foco em práticas técnicas estruturadas. | Alta ênfase na qualidade técnica, com práticas como TDD (Test-Driven Development), pair programming e integração contínua para garantir um código limpo e principalmente funcional durante a maioria do processo. |
Práticas de desenvolvimento | Uso de prototipação rápida e feedback constante. Pouca ênfase em práticas como TDD ou refatoração contínua. | TDD, refatoração contínua, integração contínua e pair programming promovem alta qualidade no código. |
Adaptação ao Projeto da Meu Capilar | Ideal para projetos de interação constante com o cliente e para equipes com habilidosas na prototipação. | 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 rápidos ciclos de feedback. |
Documentação | Documentação mínima, focando mais em protótipos e comunicação direta com o cliente. | Minimiza a documentação formal, focando em comunicação e feedback rápido. |
Controle de Qualidade | A qualidade é verificada por meio de testes e revisões rápidas, com base em protótipos. | Embutido nas práticas XP (TDD, integração contínua), garantindo testes a cada nova funcionalidade. |
Escalabilidade | Mais indicado para projetos de pequeno a médio porte, onde mudanças rápidas são possíveis. | Escalável, mas mais indicado para equipes menores e médias. |
Suporte a Equipes de Desenvolvimento | Suporta equipes pequenas com alta colaboração e rapidez. Menor definição de papeis formais. | Suporta equipes menores e colaborativas, com papeis mais flexíveis. |
3.3 Justificativa
Com base na análise comparativa entre os modelos RAD e Scrum XP, optamos pela utilização do Scrum XP para o desenvolvimento do produto Meu Capilar, considerando os seguintes pontos:
- Adaptação Contínua e Entregas Frequentes: O ScrumXP foi escolhido por sua abordagem ágil, que permite entregas rápidas por meio de sprints curtos e constantes ciclos de feedback com o cliente. Essa característica é essencial para o projeto Meu Capilar, que pode sofrer alterações frequentes conforme o uso e a percepção dos usuários. Ao final de cada sprint, é possível validar funcionalidades, identificar melhorias e adaptar o sistema com agilidade, garantindo que o produto esteja sempre alinhado às necessidades reais do público.
- Qualidade Técnica e Eficiência no Desenvolvimento: Diferentemente do RAD, que prioriza a prototipação rápida com menor foco em práticas técnicas estruturadas, o ScrumXP incorpora ferramentas como integração contínua, refatoração e pair programming. Essas práticas não apenas elevam o nível de qualidade do código desde os primeiros ciclos de desenvolvimento, como também contribuem para a redução de erros, melhoria da manutenibilidade e robustez do sistema a longo prazo. No prazo atual do trabalho, entregar um MVP e código rodando é mais importante que design.
- Compatibilidade com a Estrutura do Projeto: ScrumXP se mostra mais compatível com a natureza do projeto Meu Capilar, tanto pelo seu suporte a equipes pequenas e colaborativas quanto pela flexibilidade na gestão de requisitos. A leveza do processo, aliada a uma estrutura clara de papeis e entregas, facilita o trabalho do time e promove uma comunicação mais eficiente com o cliente. As práticas da XP são mais vantajosas para o projeto no geral.