Skip to content

Commit

Permalink
Merge pull request #15 from mdsreq-fga-unb/7-33-justificativa
Browse files Browse the repository at this point in the history
docs: Adicionando Escolha das Estrategias, Justificativa e quadro comparativo
  • Loading branch information
Stain19 authored Nov 8, 2024
2 parents 4f84d4e + 1186a5c commit 4a98bea
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 0 deletions.
3 changes: 3 additions & 0 deletions docs/css/main.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
p {
text-align: justify;
}
39 changes: 39 additions & 0 deletions docs/estrategias-de-engenharia-de-software.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## Estratégia Priorizada

- **Abordagem**: Ágil
- **Ciclo de Vida**: Ágil
- **Processo**: ScrumXP


## Quadro Comparativo

| Características | ScrumXP | RAD (Rapid Application Development) |
|:---------------------------:|:-----------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------:|
| Abordagem Geral | Iterativo e incremental com foco em entregas rápidas e feedback contínuo. | Metodologia centrada em ciclos rápidos de desenvolvimento, com ênfase na criação e validação de protótipos. |
| Complexidade do Processo | Mais leve e ágil, com menos documentação formal e foco na entrega funcional. | Processo simplificado, com menos formalidade e foco na criação rápida de funcionalidades essenciais. |
| Qualidade Técnica | Alta ênfase em qualidade, utilizando práticas como TDD, pair programming e integração contínua. | Qualidade aprimorada com base em feedback contínuo durante as revisões dos protótipos e iterações. |
| Práticas de Desenvolvimento | Inclui práticas robustas como TDD, refatoração contínua e pair programming. | Concentra-se em iterações curtas e ajustes colaborativos, com foco na rápida implementação e refinamento das ideias. |
| Adaptação ao Projeto | Ideal para projetos que necessitam de evolução contínua e alta interação com o cliente. | Adequado para projetos com requisitos em constante mudança e que beneficiam-se de protótipos ágeis e flexíveis. |
| Documentação | Minimiza a documentação formal, com foco em comunicação e feedback. | Documentação enxuta, que prioriza a agilidade e apenas os registros essenciais para guiar o desenvolvimento. |
| Controle de Qualidade | Controlado através de práticas como TDD e integração contínua, garantindo testes frequentes. | Baseado em revisões e feedback constantes, permitindo ajustes rápidos para corrigir falhas identificadas nos protótipos. |
| Escalabilidade | Mais indicado para equipes menores e médias, devido à colaboração intensa. | Melhor para projetos menores ou de médio porte, onde a flexibilidade e mudanças rápidas são necessárias. |
| Suporte a Equipes | Suporta equipes menores e colaborativas, com papéis flexíveis. | Ideal para equipes compactas, promovendo integração e colaboração próximas entre os membros. |

## Justificativa

- **Diferença de conhecimentos da equipe**: A escolha pelo ScrumXP foi influenciada pela heterogeneidade nos conhecimentos da equipe, onde cada membro possui diferentes níveis de experiência e especializações. O ScrumXP se destaca por promover a colaboração constante e o compartilhamento de conhecimentos por meio de práticas como pares de programação e revisão de código. Esse aspecto facilita a distribuição e o nivelamento de conhecimentos entre todos, garantindo que mesmo os membros com menos experiência possam evoluir rápido e contribuir de forma efetiva para o projeto. Por outro lado, metodologias como o RAD podem falhar em integrar e gerenciar equipes com diferentes níveis de conhecimento de maneira tão eficiente.

- **Disponibilidade da Pro Injeção**: A ampla disponibilidade da Pro Injeção, que atua como um stakeholder crucial para o desenvolvimento do projeto, foi um fator importante na escolha pelo ScrumXP. Esse framework permite que a equipe aproveite ao máximo a presença constante da Pro Injeção, integrando feedback frequente e colaborando de maneira contínua para alinhar as entregas com as expectativas do cliente. As iterações curtas e a flexibilidade do ScrumXP ajudam a garantir que as prioridades do cliente sejam rapidamente incorporadas, otimizando o desenvolvimento. Diferente de processos como o RAD, que podem depender de interações mais intensivas em fases específicas, o ScrumXP possibilita uma colaboração contínua e eficiente.

- **Metodologias de desenvolvimento**: O ScrumXP combina aspectos ágeis e práticas de engenharia do Extreme Programming, tornando-o ideal para projetos que necessitam de alta qualidade de entrega em ciclos rápidos. Metodologias como o RAD priorizam a entrega rápida de protótipos funcionais, mas podem comprometer a manutenção do código a longo prazo devido à menor ênfase em práticas de engenharia robustas. O ScrumXP, por outro lado, utiliza práticas como desenvolvimento orientado a testes (TDD) e integração contínua, que asseguram que cada incrementação seja desenvolvida com um alto padrão de qualidade. Isso garante um processo que é ágil, mas sem abrir mão da manutenção e da extensibilidade do software.

- **Adaptabilidade aos requisitos**: A natureza dos requisitos do projeto em questão é bastante dinâmica, com mudanças frequentes nas necessidades e objetivos. Nesse cenário, a capacidade de resposta é essencial, e o ScrumXP oferece um modelo de desenvolvimento altamente adaptável. O uso de sprints curtos, a retrospectiva constante e a revisão de backlog permitem ajustes rápidos no rumo do projeto, assegurando que as mudanças de requisitos sejam incorporadas sem interrupções significativas. Em contraste, o RAD, embora flexível, pode ter limitações quando se trata de adaptar rapidamente funcionalidades ou de refatorar código para requisitos que mudam com frequência, uma vez que o foco principal está na entrega de protótipos rápidos.





| Versão | Descrição | Autor | Data |
|--------|---------------------------|-------------------------|------------|
| 0.1 | Primeira ideia do projeto | [Bruno Bragança](http://github.com/BrunoBReis), [Fábio Torres](http://github.com/fabioaletorres), [Paulo Filho](http://github.com/PauloFilho2), [Pedro Braga](http://github.com/Stain19), [Vinicius Vieira](http://github.com/viniciusvieira00) | 07/11/2024 |
| 0.2 | Atualizações do feedback do professor| [Bruno Bragança](http://github.com/BrunoBReis), [Fábio Torres](http://github.com/fabioaletorres), [Paulo Filho](http://github.com/PauloFilho2), [Pedro Braga](http://github.com/Stain19), [Vinicius Vieira](http://github.com/viniciusvieira00) | 08/11/2024 |
3 changes: 3 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
site_name: CRM-ProInjecao

extra_css:
- /css/main.css

theme:
language: pt-BR
name: material
Expand Down

0 comments on commit 4a98bea

Please sign in to comment.