Skip to content

Commit

Permalink
Merge branch 'main' into git-pages
Browse files Browse the repository at this point in the history
  • Loading branch information
gravelylara authored Apr 18, 2024
2 parents 12fc8f2 + ce8e04e commit a684187
Show file tree
Hide file tree
Showing 5 changed files with 163 additions and 1 deletion.
Binary file added docs/assets/images/cascata.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/images/spiral-model.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
149 changes: 149 additions & 0 deletions docs/materiais-seminario/processos.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
## Processos de Desenvolvimento e Ciclos de Vida

## Cascata:

- Faz parte da abordagem Dirigida por Plano;
- Implementa o ciclo de vida Preditivo;
- Requisitos fixos;
- Atividades bem definidas e sequenciais: uma atividade só pode acontecer depois que a anterior for completamente finalizada.

#### Vantagens:

- É resistente a mudanças na equipe: como todos as atividades são bem definidas e documentadas, a troca de participantes do projeto não é tão impactante.
- Estabilidade: resultados e prazos bem estabelecidos.

#### Desvantagens:

- Sensível a mudanças nos requisitos: depois que a etapa de especificação de requisitos é concluída, é mais difícil de integrá-los à implementação do sistema, afetando drasticamente o prazo e custo estipulados previamente;
- Entrega de valor só acontece no fim do processo.


![Processo em Cascata](../assets/images/cascata.png)
<center>
[Fonte](https://rimitsen20.thkit.ee/wp/cascade-model-waterfall-model/)
</center>
### Espiral:

- Faz parte da abordagem Dirigida por Plano;
- Implementa o ciclo de vida Iterativo;
- Os requisitos são fixos e estabelecidos no decorrer dos ciclos;
- É fortemente dirigido pela análise de riscos que acontece no início de cada ciclo.

#### Vantagens:

- Menos propenso a concretização de possíveis riscos: como a análise de riscos é feita em toda iteração, é menos provável que hajam situações inesperadas e dificilmente remediáveis;
- Permite o feedback constante do trabalho;
- Mais tolerante com mudanças nos requisitos;

#### Desvantagens:

- Menor previsibilidade: como o número de iterações é indeterminado, é mais difícil prever o fim do projeto e o que exatamente será entregue;
- Maior complexidade: este processo é um dos mais complexos de ser planejado e executado;
- Muito dependente da análise de riscos: caso a análise de riscos não seja bem feita, há grandes chances do projeto ser desnecessariamente mais caro e sair do controle.

![Processo em Espiral](../assets/images/spiral-model.png)
<center>
[Fonte](https://www.sitesbay.com/software-engineering/se-spiral-model)
</center>

## Processo Unificado:

- Possui um esforço inicial de planejamento e identificação de requisitos
- Busca identificar todos os requisitos no início do projeto
- É iterativo e incremental
- Por causa da natureza iterativa, há alguma flexibilidade para ajustes nos requisitos do projeto
- É implementado também algum grau de gestão de risco
- A colaboração entre Stakeholders, Desenvolvedores e Testers é incentivada em todos os momentos de desenvolvimento

#### Vantagens:

- Processo robusto e bem definido com a geração de artefatos importantes;
- Os maiores riscos são atacados primeiro, diminuindo as chances de fracasso do projeto

#### Desvantagens:

- Complexo e trabalhoso para projetos de pequeno porte;
- Exige experiência da equipe


## OpenUP (Open Unified Process):

- Variante do Processo unificado que busca ser mais ágil e reduzir os rituais e formalidades do UP.
- Incentiva colaboração e comunicação entre as equipes para gerar melhoria contínua.
- Equipes são incentivadas a abraçar as mudanças.

#### Vantagens:

- Mais escalável que o UP: prevê formas de se adaptar a projetos pequenos ou muito grandes.
- O feedback chega mais cedo, o que facilita a gerência de risco.

#### Desvantagens:

- O mesmo do Processo Unificado.
- Há um overhead maior para se usar o OpenUP.

## RAD:

- É considerada uma abordagem ágil, centrada no usuário e design do produto.
- Fortemente baseado no feedback do usuário.
- Os requisitos do produto são tratados como variáveis.
- Vários protótipos são feitos rapidamente para conseguir feedback dos stakeholders e refinar os requisitos.
- Há um maior grau de envolvimento do cliente, o que ajuda a sanar as suas necessidades e cumprir expectativas.
- Menos documentação formal

#### Vantagens:

- Altamente adaptável
- Reduz o risco geral do projeto

#### Desvantagens:

- Imprevisibilidade de tempo e recursos a serem utilizados
- O RAD não é aconselhável quando os riscos técnicos são altos e não é indicada quando se está testando novas tecnologias
- Pode acidentalmente levar ao retorno das práticas caóticas no desenvolvimento

## Scrum XP:

- Framework que ajuda na organização de projetos para a construção de soluções adaptativas
- Os requisitos são tratados como variáveis
- Atua de maneira evolutiva, com refinamentos sucessivos de requisitos e solução

#### Vantagens:

- Maior flexibilidade
- Entrega de valor incremental
- Maior transparência

#### Desvantagens:

- Requer uma equipe autogerenciável
- Necessidade de colaboração intensa
- Risco de sobrecarga de trabalho

## XP - eXtreme Programming:

- É uma metodologia baseada em comportamentos e atitudes.
- Equipes pequenas e médias.
- Orçamento e cronogramas previsíveis.
- Requisitos como variáveis.
- Uso de TDD: Test Driven Development.
- Amplo uso de CI/CD.
- Uso de pair programming.

#### Vantagens:

- Simplicidade desde como se levanta os requisitos até a codificação
- Feedback contínuo entre desenvolvedores e clientes
- Flexibilidade, permite acomodar mudanças nos requisitos do projeto de forma eficiente
- Colaboração intensa, promove forte colaboração entre os membros da equipe, incluindo desenvolvedores, clientes e gerentes do projeto

#### Desvantagens:

- Limitação em grandes projetos
- Necessidade de uma comunicação eficaz
- Falta de previsibilidade, devido a sua alta flexibilidade o XP pode acabar se tornando imprevisível

## DSDM:

- O DSDM (Dynamic Systems Development Method) é uma metodologia de desenvolvimento incremental e iterativa, ou seja, a cada nova etapa são feitas melhorias nas versões anteriores.
- Se divide em 3 etapas: Pré projeto (orçamentos e contratos), ciclo de vida(desenvolvimento e implementação),
11 changes: 11 additions & 0 deletions docs/visao-projeto/organizacao-projeto.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Visão Geral do Projeto

## **Organização do projeto**

| **_Papel_** | **_Atribuições_** | **_Responsável_** | **_Participantes_** |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------- | ----------------------------------------------------------------- |
| Desenvolvedor | Codificar o produto de acordo com as necessidades e requisitos, codificar testes unitários, e realizar refatoração de código | Pedro | Ana Aline, Antônio, Lara, Lucas, Thomas, Victor |
| Dono do Produto | Homologar entregas, fornecer informações para traçar requisitos | George Marsicano | Monitores da disciplina de Requisitos de Software |
| Analista de Qualidade | Garantir a qualidade do produto, garantir o cumprimento do conceito de pronto, realizar inspeções de código | Thomas Queiroz | Aline, Antônio, Lara, Pedro, Lucas, Victor |
| Design | Idealizar e prototipar interface gráfica do produto | Lucas Freire | Aline, Antônio, Lara, Pedro, Thomas, Victor |
| Cliente | Comunicar as expectativas para o projeto, incluindo especificações técnicas e funcionalidades desejadas. Além de realizar a revisão e aceitação das entregas do projeto. | George Marsicano | Monitores da disciplina de Requisitos de Software e alunos da disciplina de Requisitos de Software |
4 changes: 3 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@ theme:
# Page tree
nav:
- Nossa história: index.md
- Material do Seminário: materiais-seminario/processos.md
- Visão Geral do Produto:
- Posição do Produto: visao-produto/posicao-produto.md
- Problema: visao-produto/problema.md

- Visão Geral do Projeto:
- Organizacao do Projeto: visao-projeto/organizacao-projeto.md
- Organização do Projeto: visao-projeto/organizacao-projeto.md

0 comments on commit a684187

Please sign in to comment.