Sprint 1 - FGA-GCES/BotFlow GitHub Wiki

Botflow

SPRINT 1 - (16/02/2021 - 25/02/2021)

O grupo iniciou seus trabalhos em um processo para entender o software com o qual deseja contribuir e auxiliar na evolução. De tal forma, uma leitura e observação atentas do repositório oficial do Botflow foram realizadas. Após o primeiro contato e entendimento com o escopo do projeto, seguimos então para a montagem do ambiente de desenvolvimento em cada uma das máquinas. Todos obtivemos êxito em conseguir reproduzir o ambiente descrito no repositório.

Pudemos observar que tal processo foi facilitado pela implementação do Docker realizada pela equipe original. Assim, prosseguimos para o próximo passo que consistiu em uma apresentação do projeto e conversa realizados com o PO(Rodrigo Maia) do mesmo. Fomos expostos à visão do Product Owner, sobre o estado do projeto, a ideia inicial, proposta e prioridades de melhoria.

Novas issues foram adicionadas ao Backlog do projeto por Maia, indicando que seria um bom caminho para iniciarmos. A partir daqui, nossa equipe dividiu as issues entre si e decidimos que era o momento de entrarmos mais no código e iniciar nossas contribuições ao projeto.

Porém, neste momento, começamos a nos deparar com situações adversas e que, outrora, não eram de conhecimento geral. Conforme a equipe ia trabalhando, inconscistências iam acontecendo ao longo do percurso. Outra reunião foi marcada com o PO e foi obtida a constatação de que algumas issues não estavam atualizadas conforme o real estado do Software.

Diante disso, o grupo se reuniu e expôs todos os problemas, dificuldades, incoscistências e adversidades encontradas. Nesta reunião, foi verificado que:

  • O projeto está com o Backlog desatualizado. Não há garantia de que as issues abertas reflitam problemas reais presentes na aplicação. Várias delas relatavam bugs e erros que não podiam ser reproduzidos ou já haviam sido corrigidos.

  • Existem issues com PRs abertos ou que aguardam revisão há algum tempo. Existem issues cadastradas que não possuem transparência quanto à sua atual situação. Não é possível determinar se foram resolvidas, se os critérios de aceitação foram alcançados ou se já foram incorporadas ao código (Nenhum PR relacionado).

  • Branches Master e Devel em desacordo. Tanto o repositório do Front-end quando do Back-end possuem suas branches master e devel em desacordo. Aliado a falta de documentação, essa diferença ocorre de maneira tal que não é possível saber em que uma difere da outra. Também foi constatado que o Docker da devel do Front-end não está funcionando. Dessa forma, será necessário adotar 1 branch como padrão e trabalhar em cima da mesma, deixando a outra para trás (A branch adotada será a Master, decisão tomada pelos responsáveis pelo projeto após a comunicação desta situação).

Dessa forma, a equipe percebeu que o planejamento e abordagens anteriores não poderiam ser mantidos e seria necessário replanejar uma nova solução para contribuir de maneira efetiva e robusta ao projeto. Pudemos constatar que seria melhor auxiliar o projeto com uma atualização e revisão de seu backlog do que necessariamente entregar trechos de código que solucionam questões talvez já resolvidas ou abandonadas.

Então, a equipe resolveu priorizar um trabalho de organização, do que desenvolvimento propriamente dito. Foi estabelecido que todas as issues cadastradas no Backlog precisam ser revistas e atualizadas, antes mesmo de poderem ser resolvidas. Este trabalho não só dá segurança para pessoas interessadas em contribuir, mas também traz uma nova vida ao projeto, visto que sua documentação e planejamento poderão estar novamente de acordo com seu desenvolvimento.

Assim, mesmo à beira do final da Sprint 1, um novo planejamento foi montado e uma nova issue orientadora foi aberta: Backlog rework and Project Update #153. As noções aqui descritas, até a presente data (25/02/2021) e adotadas irão guiar o trabalho da equipe, que infelizmente constará como dívida técnica para a próxima Sprint.

Planejamento Inicial

O planejamento realizado no início da sprint resultou na escolha das seguintes issues para elaboração de código;

Número da Issue Issue Responsável Status
#145 Ignore empty questions when inserting/editing intents Miguel Alves Aberta
#148 Review README info Lude Aberta
#139 Reduzir o tamanho dos gifs que documentam o uso do BotFlow Lude Aberta
#144 Remove empty balloons when inserting/editing utters Francisco Aberta
#143 Save button is disabled on valid cases Amanda Muniz e Letícia Karla Araújo Fechada*
#128 Dialog list is not updated after certain operations Amanda Muniz e Letícia Karla Araújo Fechada*
#146 Write tests Weiller Aberta
#95 Configurar CI/CD Gabriel Aberta
#149 Remove all LAPPIS and TAIS info from code Gabriel Aberta

Obs.: As issues #143 e #128 foram fechadas depois de reunião com o Product Owner, uma vez que os bugs descritos já tinham sido consertados.

Planejamento Final

Esse planejamento foi realizado depois de verificado a necessidade de refatorar todo o backlog, uma vez que havia discrepância entre backlog e software.

Número das issues analisadas Responsável Status
#95 #149 #76 #48 Gabriel #95 analise realizada, 149# necessita-se de um melhor esclarecimeto. 76# e #48 ainda em análise.
#145 #151 #150 #122 Miguel Alves #145 analisada e corrigida, porém não foi aberto PR, o restante está em análise.
#113 #28 #114 #119 #24 Amanda Muniz Analisadas
#148 #67 #121 #115 Lude Em análise
#142 #100 Kalebe Em análise
#144 Francisco Em análise
#146 #33 #29 #35 Letícia #146 analisada, o restante está em análise

Obs.: O detalhamento de cada uma dessas issues pode ser visto nas tabelas de refatoração do backlog.

Dívidas Técnicas

Número da Issue Issue Justificativa Responsável
#145 Ignore empty questions when inserting/editing intents O erro descrito realmente é válido e está presente no projeto mesmo em sua versão atual. A correção se faz necessária. A Issue foi analisada e uma solução elaborada, mas o código para sua solução ainda não está presente na Master Miguel Alves
#151 Disable delete button when intent has a single text field Necessita análise. Miguel Alves
#150 Disable delete button when utter has a single balloon Necessita análise. Miguel Alves
#122 Bug campo de filtro no Chrome Necessita análise. Miguel Alves
#148 Review README info Mudança de planejamento da sprint Lude
#139 Reduzir o tamanho dos gifs que documentam o uso do BotFlow Mudança de planejamento a sprint Lude
#148 Review README info Necessita análise Lude
#67 Prevent intents from having the same training questions Necessita análise Lude
#121 Document the new architecture Necessita análise Lude
#115 Document API endpoit usage Necessita análise Lude
#144 Remove empty balloons when inserting/editing utters Mudança de planejamento de sprint Francisco
#144 Remove empty balloons when inserting/editing utters Necessita análise Francisco
#33 Advanced deleting Necessita análise Letícia
#29 Clone story Necessita análise Letícia
#35 Basic story filtering Necessita análise Letícia
#146 Write tests Mudança de planejamento da sprint Weiller
#95 Configurar CI/CD Houve a tentativa de se inicializar o CI/CD usando o Travis, porém, somente o stage de build foi finalizado e, apenas repositório do front-end. Gabriel
#149 Remove all LAPPIS and TAIS info from code É necessário que haja uma melhor descrição sobre a issue Gabriel
#76 Document the new architecture Necessita análise Gabriel
#48 Document API endpoit usage Necessita análise Gabriel
#142 Exported files are invalid Necessita análise Kalebe
#100 Create database-to-file parsers Necessita análise Kalebe

Issues Fechadas

Apesar dos problemas e questões descritas acima, algumas issues puderam ser fechadas nesta Sprint mesmo com pouco tempo de revisão. Algumas delas, issues novas percebidas pelos integrantes da equipe enquanto percorriam o projeto e verificavam seu estado atual.

Número da Issue Issue Justificativa Responsável
#113 Confirmar ao apagar intents, utters e stories Foi possível encontrar um pull request que já tinha resolvido essa issue. O código se encontra na master e tudo está funcionando corretamente. Amanda Muniz
#28 Create "add story" flow Não foi possível encontrar um pull resquest que resolve essa issue. Porém existem commits na branch master que a resolvem e que aparecem em um pull request da branch devel para a master. O fluxo de criar novos diálogos funciona corretamente e está sendo salvo no banco de dados como esperado. Amanda Muniz
#114 Melhorar navegação via teclado Apesar de não existir um pull request específico para essa issue, os commits que a resolvem fazem parte de um mais geral. Eles se encontram na master e tudo funciona corretamente. Amanda Muniz
#119 Edit name utter O código que resolve a issue já está na master e o software funciona como esperado. Amanda Muniz
#24 List stories Foi possível encontrar um pull request aceito que resolvia a issue. O código se encontra na master. Amanda Muniz
#157 Configuration problem breaks dev environment Correção da configuração de conexão entre frontend e api Amanda Muniz e Miguel Alves
#33 Advanced deleting Correção ao deletar utters e intents. Já está corrigido. Letícia Karla Araújo
#146 Write tests A issue não tem descrição nenhuma. Assim como, não tem a especificação se os testes são de Frontend ou Backend, e quais frameworks usados. Foram criadas issues substitutivas. Letícia Karla Araújo

Issues Abertas

Número da Issue Issue Justificativa Responsável
#155 Create Unit tests for the frontend Detalhamento da issue #155. Letícia Karla Araújo
#156 Create Unit tests for the backend Detalhamento da issue #156. Letícia Karla Araújo
#157 Configuration problem breaks dev environment #157. Detalhamento da Issue #157 Amanda Muniz e Miguel Alves
#76 Document the new architecture Detalhamento da issue #76 Gabriel
#48 Document API endpoit usage Detalhamento da issue #48 Gabriel

Issues Mantidas

Número da Issue Issue Justificativa Responsável
#145 Ignore empty questions when inserting/editing intents O erro descrito realmente é válido e está presente no projeto mesmo em sua versão atual. A correção se faz necessária. Miguel Alves
#35 Basic story filtering A melhoria descrita realmente é válida. Letícia Karla Araújo
#95 Configurar CI/CD Issue inicialmente iniciada, porém não finalizada. Precisará ser refeita. Gabriel

Issues mantidas que precisam de melhorias na descrição

Número da Issue Issue Justificativa Responsável
#122 Bug campo de filtro no Chrome Necessita de uma descrição acerca do bug relatado. Esta issue está marcada como "Awaiting Review", porém não pode ser checada devido a falta de descrição. Miguel Alves
#149 Remove all LAPPIS and TAIS info from code É necessário que haja uma melhor descrição sobre a issue Gabriel
⚠️ **GitHub.com Fallback** ⚠️