Visão Geral do Projeto
O time irá utilizar uma mistura do método RAD com a estrutura e organização do time Scrum.
Papéis do projeto e suas atribuições
Papel |
Atribuições |
Responsável |
Participantes |
Time de desenvolvimento |
Codificar o produto, codificar testes unitários, realizar refatoração e realizar a atividade de representação, e de organização e atualização de requisitos. |
Luis |
Arthur, Daniel, Guilherme, Luis, Vinicius, Yves |
Dono do Produto |
Atualizar o escopo do produto, organizar o escopo das sprints, validar as entregas, realizando as seguintes atividades de requisitos: elicitação e descoberta, e de declaração dos requisitos. |
Yves |
Angela, Yves |
Scrum Master |
Gerenciar o time, no que diz respeito aos rituais presentes no framework, tais como planejamento do backlog da sprint, retrospectiva, review, além de realizar as seguintes atividades de requisitos: Análise e consenso, e verificação e validação dos requisitos. |
Guilherme |
Arthur, Daniel, Guilherme, Luis, Vinicius, Yves |
Cliente |
Dar feedback quanto ao protótipo e avaliação do produto. |
Angela |
Angela |
Atividades das Sprints
Iteração |
Produto (Entrega) |
Data Início |
Data Fim |
Sprint 1 |
Definição do problema e possível solução |
05/09/2023 |
18/09/2023 |
Sprint 2 |
Definição de abordagem, ciclo de Vida, e processo |
19/09/2023 |
02/10/2023 |
Sprint 3 |
Definição do Processo de Engenharia de Requisitos, atrelado ao Processo de Software |
03/10/2023 |
09/10/2023 |
Sprint 4 |
Proposta de solução e feedback do cliente, além da lista inicial de requisitos |
10/10/2023 |
23/10/2023 |
Sprint 5 |
Definição dos MVPs do projeto |
24/10/2023 |
06/11/2023 |
Sprint 6 |
Desenvolvimento do primeiro MVP |
07/11/2023 |
20/11/2023 |
Sprint 7 |
Desenvolvimento do segundo MVP |
21/11/2023 |
04/12/2023 |
Sprint 8 |
Revisão do projeto, integração do sistema e finalização |
05/12/2023 |
13/12/2023 |
Matriz de Comunicação
Descrição |
Papéis Envolvidos |
Periodicidade |
Produtos Gerados |
Definição dos próximos objetivos, Sprint Backlog e acompanhamento do progresso do produto |
Time de Desenvolvimento |
Quinzenal |
Relatório de situação de projeto |
Acompanhamento dos riscos, compromissos e ações pendentes |
Time de Desenvolvimento |
Quinzenal |
Relatório de riscos e pendências |
Comunicação assíncrona entre membros via WhatsApp e Discord |
Time de Desenvolvimento |
Conforme necessidade |
N/A |
Reunião com cliente para validação via WhatsApp e entrega de protótipo via e-mail e via WhatsApp |
Dono do Produto e Cliente |
Quinzenal |
Relatório de Feedbacks |
Gerenciamento de Riscos
Risco |
Nível de Impacto |
Prevenção de Risco |
Gerenciamento de Risco |
Trancamento da matéria por algum membro da equipe |
ALTO |
Manter comunicação constante entre os membros, buscando identificar dificuldades individuais. |
Redistribuir as atividades do antigo membro, para que nenhuma atividade permaneça incompleta. |
Não entrega do Backlog Da Sprint |
ALTO |
Realizar o bom planejamento das histórias de usuário que serão trabalhadas na Sprint. Caso algum membro já tenha finalizado sua tarefa, o mesmo deve ser direcionado pelo Scrum Master, a auxiliar nas tarefas de outro membro determinado. |
Redistribuir as Histórias de Usuário não entregues para a próxima Sprint, de forma que não atrapalhe o desenvolvimento desta Sprint seguinte. |
Produtividade insuficiente em semana de prova |
MÉDIO |
O planejamento das Sprints deve considerar as responsabilidades pessoais de cada membro. O trabalho das tarefas de cada membro deve ser planejado, tendo em mente as data das provas. |
As atividades do membro daquela semana serão reduzidos, mas o trabalho deve ser compensado após o término das provas. |
Não participar das reuniões |
BAIXO |
As reuniões devem ser realizadas em datas e horários fixos, caso algum imprevisto ocorra, o membro deve avisar a equipe. |
Caso um membro não possa participar, a reunião deve ser gravada. Dessa forma, o membro faltante pode acompanhar as atividades da equipe. |
Os riscos foram avaliados de acordo com seu nível de impacto:
Risco |
Nível de Impacto |
ALTO |
Influência significativa no projeto, exigirão atenção imediata e um grande esforço do time para obter uma solução rápida. |
MÉDIO |
Influência moderada no projeto, exigirão um maior esforço da equipe em sua contenção, mas ainda podem ser gerenciados. |
BAIXO |
Influência pequena no projeto, podendo ser facilmente resolvidos ou contornados. |
Critérios de Replanejamento
O produto será replanejado caso entenda-se que o escopo está inadequado, isto é, grande ou pequeno demais para o tempo da matéria e tamanho da equipe.
O projeto poderá ser replanejado caso haja:
- Abandono de membros da equipe
- Constante ausência de determinados membros da equipe
- Dificuldade de uso das ferramentas de desenvolvimento predefinidas
A seguir uma tabela mostrando quando exatamente ocorre e o passo a passo do que fazer:
Critério de Replanejamento |
Quando Ocorre |
Passo a Passo |
Abandono de membros da equipe |
Um ou mais membros trancam a matéria. |
1. Avisar ao professor imediatamente. |
2. Replanejar as Sprints em relação às entregas. |
3. Redistribuir tarefas. |
Constante ausência de determinado membro da equipe |
Um ou mais membros deixam de participar das discussões, ir às aulas e impossibilitam contato não respondendo a mensagens privadas. |
1. Avisar ao professor imediatamente. |
2. Replanejar as Sprints em relação às entregas. |
3. Redistribuir tarefas. |
Dificuldade de uso das ferramentas de desenvolvimento definidas |
Um ou mais membros não conseguem avançar na evolução das Histórias de Usuário, por conta da dificuldade no uso de alguma ferramenta específica. |
1. O membro deve buscar ajuda ao resto da equipe. |
2. Se o impacto for muito grande, as tarefas da Sprint devem ser redistribuídas. |
Padrões de codificação
Os padrões a serem seguidos serão algumas convenções já utilizadas nas tecnologias e linguagens de programação definidas pela equipe (clique no item para ver a fonte):
HTML :
- Atributos entre aspas duplas
- Lowercase (tudo minúsculo) para nomes de elementos e atributos.
- Nomes de classes/ID com múltiplas palavras em kebab-case (separação por hífen).
Exemplo: <img src="images/image.png" alt="exemplo-SS-em-requisitos" class="exemplo-kebab-case">
CSS :
- Comentários para explicar o que/onde está sendo aplicada a estilização, em português.
- Aspas duplas para valores (semelhante ao definido para HTML).
- Separar propriedades por linha ao invés de juntá-las em uma linha só.
Exemplo:
/* Formato dos comentários */
background-image: url("../valores/entre-aspas-duplas.png");
/* Fonte sans-serif em negrito tamanho 18 */
h2 {
font-weight: bold;
font-size: 18pt;
font-family: sans-serif;
}
JavaScript :
- Comentários single line, explicativos e em português para partes não-óbvias do código (funções cujos nomes não são significativos, funções complicadas e/ou grandes).
- Nomear funções em camelCase de forma descritiva.
- Definir Classes em PascalCase (camelCase porém com a primeira letra maiúscula) e Objetos em camelCase.
Exemplo:
// Comentário single line descritivo:
// Retorna status code 200:
function status(request, response) {
response.status(200).send({ requisitos: "SS Pentágono Cabeludo" });
}
// Nome em camelCase:
function agendaHorario() {
console.log("Horario agendado!");
}
// Classes e objetos:
const pentagonoCabeludo = new Equipe(5, "Requisitos", "SS");
const pentagonoCabeludo = {
membros: 5,
disciplina: "Requisitos",
mencao: "SS",
};
Histórico de Revisão
Data |
Versão |
Descrição |
Autor |
27/09/2023 |
1.0 |
Definição da organização, planejamento das sprints, matriz de comunicação, gerenciamento de riscos e critérios de replanejamento do projeto. |
Todos |
22/10/2023 |
1.1 |
Alteração na parte do Gerenciamento de Riscos e Critérios de Replanejamento. |
Guilherme de Sá |
26/10/2023 |
1.2 |
Revisão e alteração na data das sprints finais de acordo com o calendário da disciplina. |
Vinícius |
06/11/2023 |
1.3 |
Adicionado novo membro da equipe nos planejamentos. |
Vinícius |
06/11/2023 |
1.4 |
Revisão da matriz de comunicação e ajustes na estrutura de documento. |
Yves |
20/11/2023 |
1.5 |
Definição de padrões de codificação para atender à Definition of Done. |
Vinicius |