a - Como foi a sua experiência durante a execução do trabalho;
Foi bem difícil a adaptação ao react no início, mas a interação constante com os outros membros do grupo me ajudou bastante a conseguir progredir.
Tive alguns problemas no início por estar aprendendo as tecnologias que iriamos usar, os membros da equipe do back, Samuel e Pedro me ajudaram bastante.
No geral, tive uma boa experiencia com o trabalho em si e com as relações em grupo. Apesar das dificuldades, creio que a experiencia adquirida neste projeto foi de grande utilidade para o meu aprendizado.
Foi bastante complicado mas também muito positivo. De inicio me senti perdido na fase de organização, uma vez que o grupo não tinha uma compreensão clara de como se aplicar corretamente as ferramentas da Engenharia de Software. Com o andamento do projeto fui entendendo aos poucos a necessidade: do planejamento e gerenciamento do projeto; da validação de requisitos; da comunicação interpessoal e da validação do que foi feito.
Foi de muito aprendizado, consegui compreender como funciona o trabalho em equipe no desenvolvimento de um software e ganhei conhecimentos sobre novas tecnologias modernas, tive algumas dificuldades, mas que consegui resolver presquisando pelo todo e/ou com ajuda da equipe.
Foi bastante cansativa, aprendi bastante desde o conteúdo tecnico até como trabalhar melhor em equipe, porém o curto tempo para a entrega final proporcionou um desenvolvimento cansativo porém recompensador no final.
b - Quais foram os aprendizados obtidos
Aprendi a me comunicar melhor e como procurar soluções para minhas dificuldades em relação ao projeto, foi meu primeiro contato com front-end e com isso pude ter uma visão um pouco diferente do desenvolvimento de software. E ao final me didicando a documentação pude ver a importância da mesma no entendimento do projeto como um todo.
Ganhei mais experiência em trabalho em equipe, noções de banco de dados, NodeJS e programação para web de uma forma geral. Também conheci um pouco sobre outros Frameworks quando estavamos analisando qual séria utilizado.
Sem dúvida comunicação e trabalho em equipe foram um dos aprendizados mais importartes deste projeto. Aprendi também muitas tecnologias, ferramentas e suas maneiras de utilização (node, trello, figma, brModelo, etc…). Obtive bastante experiencia com bancos de dados. Também tive uma boa noção da importancia dos artefatos gerados no projeto.
Adquiri bastante conhecimento técnico em Javascript junto ao node e tambem na construição de APIs utilizando o padrão REST. Também aprendi o essencial de como usar o Scrum para o desenvolvimento de um projeto e como a equipe deve se organizar utlizando essa ferramenta.
Adiquiri conhecimentos sobre: o funcionamento entre uma aplicação dividida em fron-end e back-end; linguagem javascript e bibliotecas que estão sendo utilizadas atualmente. Adiquiri conhecimentos sobre o funcionamento de desenvolvimento de software e a importancia de cada disciplina envolvida.
Adquiri bastante conhecimentos sobre o desenvolvimento web, principalmente a parte de front-end e de sua integração com o back-end, aprendi javascript focado em reactjs, adquiri também bastante conhecimento também em git avançado.
c - Quais foram suas dificuldades e as soluções encontradas;
Tive problemas na integração do front com o back e a solução foi ter a ajuda dos outros membros para conseguir entender melhor como fazer isso.
Na primeira semana estava um pouco deslocado no projeto, por ainda estar aprendendo a utilizar as ferramentes, porém com ajuda do grupo conseguir colaborar. A comunicação se mostrou um pouco falha no ínicio, mas conseguimos melhorar bastante durante o projeto.
A divisão entre front e back-end se mostrou uma escolha não muito boa do meio para o final do projeto, dificultando bastante a integração entre as frentes. O aumento da comincatividade entre as frentes fez com que esse problema diminuisse consideravelmente. No inicio do projeto a comunicação foi fraca e algumas escolhas geraram discussões que acabaram atrasando um pouco o inicio do projeto, porém com discussões maduras chegamos a um consenso.
As maiores dificuldades encontradas foram saber ouvir meus companheiros de trabalho e também ceder quando é necessário. Outras dificuldades encontrada foram saber comunicar corretamente com a outra parte da equipe.
Quanto a parte teórica, tivemos dificuldades no levantamento de requisitos, criação de histórias de usuários e separação de tarefas. Sendo isso solucionado após procurar explicações sobre os assuntos e buscar esclarecimentos com o professor.
Tive difuculdades em integrar o front-end com o back-end, o que foi solucionado com ajuda da equipe, além do cumprimento das ulimas issues no tempo definido.
A maior dificuldade foi a falta de tempo que acabou acarretando em uma pressa ao fim do projeto fazendo com que errassemos coisas simples pelo nervosismo.
d - Como suas escolhas facilitaram ou dificultaram o projeto;
Todas as escolhas foram debatidas e realizadas em grupo, mediante votação e apresentação de argumentos para sua utilização.
O que dificultou por parte do front foi nossa resistencia a utilizar libs com mais frequencia, quisemos aumentar nosso aprendizado fazendo tudo nós mesmos, porém, isso teve o custo de nos atrasar em alguns momentos.
Por parte do back utilizar mais libs também teria facilitado em alguns momentos mas mesmo assim conseguimos sempre entregar tudo dentro do prazo.
No escopo estava a entrega de mais recursos, não conseguimos implementar a tempo o sistema de cadastro de projetos, pois entendemos errado os prazos e nos programamos para uma quarta sprint que não pode ocorrer, tentamos forçar mais issues/histórias durante a sprint 3 a fim de implementar tudo mas não foi possível.
Ficamos um pouco chateados por não conseguirmos entregar tudo mas entendemos que nem sempre é possível implementar tudo e que podem acontecer cortes no escopo inicial devido a problemas ou prazos.
http://obracerta-front.herokuapp.com/
https://github.com/Matheus73/ObraCerta
https://sayuck.github.io/ObraCerta/