MprofSC / videolocadoraimperial

0 stars 0 forks source link

**Revisão do projeto** #16

Closed samuelbl closed 5 years ago

samuelbl commented 5 years ago

Descrição do processo de desenvolvimento, principais problemas e tomadas de decisão em relação ao projeto. Atribuição das atividades e técnicas de gerenciamento, monitoramento e controle.

EliandroMinski commented 5 years ago

VIDEOLOCADORA IMPERIAL

Revisão do Projeto

Planejamento

Após reunião inicial, com a equipe do projeto, com foco no planejamento do projeto, ficou definido que a Extreme Programming (XP) será a metodologia ágil de desenvolvimento utilizada. As interações realizadas com um intervalo de cinco (5) dias em média, onde, a cada intervalo, será entregue as tarefas/issues, já cadastradas no GitHub e com suas respectivas capacidades definidas. As definições das capacidades, foram baseadas na sequência de Fibonacci (1,2,3,5,8) com pontuação máxima de 8 pontos. O desenvolvimento será feito através da prática da programação em pares, ficando a cargo desta atividade os desenvolvedores Samuel e Daniel. Inicialmente foram cadastradas no GitHub, 32 tarefas/issues, pré definidas dos tipos: Arquitetural, Documental e Testes/Desenvolvimento, para cada uma dessas tarefas, já ficou estabelecida sua “Complexidade”, “Pontuação” e “Prioridade”, bem como o responsável pela mesma. Esse número de tarefas/issues poderá sofrer alterações no decorrer do desenvolvimento do projeto. A gerência do projeto, ficará a cargo de Eliandro Luiz Minski, decisão essa tomada após reunião entre os membros da equipe. Portanto, o mesmo será o responsável pela comunicação entre cliente e equipe do projeto, mediando as interações; acompanhamento das atividades para que a entrega das tarefas estejam dentro do prazo estabelecido e supervisão dos demais membros da equipe. Ficou definido que os seguintes módulo serão implementados: Cadastro de Clientes e colaboradores; Cadastro de Midia; Locação de Item; Devolução de Item; Reserva de Item.

Iterações

ID Início da Interação Término da Interação Ações
01 01/12/2018 05/12/2018 Configurado Heroku (Java e Mysql) - Daniel; Configurado Arquitetura Inicial Spring Boot – Samuel; Criado Readme no GitHub – Eliandro; Criado Base de Dados – Samuel e Daniel; Criado Arquivo Postmortem – Eliandro.
02 05/12/2018 10/12/2018 Implementado Controle de Autenticação de Usuários Oauth2 – Daniel e Samuel; Implementado CRUD Clientes – Daniel;Criado documento os Principais Casos de Uso (Locação, Devolução e Reservas) - Eliandro; Implementado CRUD de Cadastro de Filmes novos – Samuel; Criado arquivo Post Mortem – Eliandro.
03 10/12/2018 12/01/2019 Implementado CRUD – Item de filmes - Daniel; Implementado Inativação de dependentes do titular - Samuel e Daniel; Implementado Funcionalidade para desativar/ativar clientes - Samuel. Criado arquivo Post Mortem - Eliandro;
04 16/01/2019 24/01/2019 Consulta de Acervo – Samuel e Daniel; Documentado visão de uso da solução – Eliandro; Estudado filters jhipster – Samuel e Daniel; Estudado como implementar telas novas(frontend) Samuel e Daniel; Criado arquivo Post mortem iteração 4 – Eliandro, Samuel e Daniel; Implementado Inativação de dependentes do titular – Samuel e Daniel.
05 24/01/2019 02/02/2019 Implementar cadastro de locações - Daniel; Implementado reserva de itens - Samuel; Documentado visão de implantação - Eliandro, Daniel, Eliandro; Documentado funcionalidades e diferenciais - Daniel; Criado arquivo Post mortem. - Eliandro.
06 02/02/2019 18/02/2019 Compilar relatório final do projeto - Eliandro, Daniel, Samuel; Documentar Postmortem da iteração - Eliandro; Documentar Gerência de Configuração e Ambiente - Daniel; Documentação/Medição dos atributos de qualidade da aplicação - Samuel; Documentar Revisão individual -Daniel, Samuel, Eliandro; Validação de reserva com item disponível - Samuel; Cancelamento de Reservas - Daniel; Controle de exclusão de clientes com locações - Daniel, Samuel.

Atividades não concluídas

As seguintes atividades não foram concluídas:

Desenvolvimento, monitoramento e Controle

O processo de desenvolvimento seguiu com o uso da metodologia ágil XP, onde os desenvolvedores realizaram as implementações em pares, quando um programador estava codificando o outro atuava como observador, ocorreu também a troca do papel de observador e do codificador durante o andamento das iterações. Para controle das modificações e monitoramento das atividades utilizamos a ferramenta de controle de versão github e o seu dashboard disponível para gerenciamento de projetos. Ao total foram realizados 90 commits e criados 13 branchs nas 6 iterações realizadas para este projeto. Das tarefas planejadas e selecionadas inicialmente, 29 foram concluídas e 10 ficaram em aberto. Tivemos alguns problemas no desenvolvimento da aplicação conforme estão relatados nos cards do github, dentre os quais, destacam-se: Problema com MySql e Heroku: O MySql com Heroku não funcionou de forma adequada, ocorrendo erros quando necessitamos aumentar as entidades. Os plugins disponíveis eram pagos, sendo assim migramos para o PostgreSql. Problemas com autenticação Oauth do Google: A ideia inicial era utilizar a autenticação de terceiros, chegamos a implementar, porém com essa autenticação perdemos muitos recursos administrativos que o próprio jhipster traz como logs e métricas. Sendo que não fazia parte dos requisitos iniciais do cliente, optamos por re-fazer com controle de autenticação própria utilizando Spring Security. Problemas com alteração de entidades com Jhipster: O Jhipster facilitou a criação dos cruds, porém quando um relacionamento ou atributo estava incorreto, era necessário realizar uma nova geração de todas as classes. Assim perdiamos as regras de negócios implementadas anteriormente. Como solução de contorno, quando necessário re-gerar as entidades, utilizava-mos outro branch com merge manual e analise dos commits para evitar problemas.

Conclusão

O projeto Vídeo Locadora Imperial, foi concluído dentro do prazo determinado, as principais atividades planejadas em cada sprint foram implementadas conforme cronograma inicial, as que não foi possível concluir, foram devidamente justificadas na documentação do projeto. Todas as dificuldades enfrentadas no decorrer do desenvolvimento do projeto, foram corrigidas através da busca por novos conhecimentos e a substituição das ferramentas que estavam apresentando instabilidade ou conflitos. A documentação refente ao projeto foi toda elaborada, revisada e publicada. A aplicação encontra-se em funcionalidade, conforme links publicados nos demais documentos do projeto.