Propostas submetidas

DEI - FCTUC
Gerado a 2024-04-19 07:59:23 (Europe/Lisbon).
Voltar

Titulo Estágio

ChatBot de Apoio a equipa de desenvolvimento

Áreas de especialidade

Engenharia de Software

Sistemas Inteligentes

Local do Estágio

Coimbra - IPN

Enquadramento

O software é hoje transversal a todas as indústrias e negócios. Esta transversalidade trouxe necessidades acrescidas, nomeadamente em termos de exigência de velocidade, adequação, robustez e qualidade do software entregue.
Assim, para que estas necessidades sejam respondidas, as equipas de desenvolvimento de software precisam de adotar novos métodos de trabalho, novas ferramentas, novas abordagens. É nesta linha que surge a orientação a uma abordagem não faseada mas contínua - integração, qualidade, conformidade, entrega.
Mas, para que se consiga operar desta forma, é necessário que existam condições de base ao funcionamento da equipa, nomeadamente:
* visibilidade do trabalho em curso
* infraestrutura codificada
* automatização de verificações
* mecanismos de self-service infra-estruturais

Neste sentido, é necessário que os canais de interação das equipas sejam também mais eficientes, mais contextualizados, eventualmente até mais conversacionais.
Nesta linha, estão em utilização e amplo desenvolvimento as ferramentas baseadas em interfaces conversacionais, normalmente denominados de ChatBots, sobre plataformas de comunicação (Slack, Zullip, HipChat, etc.) Estes interfaces têm a vantagem de, por um lado integrar com ferramentas externas a elas próprias, e por outro a capacidade de analisar e compilar texto sobre canais ou tópicos específicos. Assim, a comunicação é contextualizada e persistente.
Para além de promoverem a comunicação, estes canais permitem ainda a tomada de ações, a partir deste mesmo contexto de comunicação. As ações que podem ser realizadas, dentro da ferramenta de comunicação e através do ChatBot, poderão tirar partido dos vários pontos de integração das inúmeras ferramentas usadas no ciclo de desenvolvimento de software. São exemplo destas ações, o lançamento de ambientes virtuais, a consulta sobre o estado do desenvolvimento de uma determinada funcionalidade, ou mesmo o despoletar da release de uma versão de software.

Objetivo

Pretende-se neste estágio o desenvolvimento de um chatbot que deverá funcionar na plataforma de comunicação Slack.
Este chatbot, a ser utilizado numa equipa de desenvolvimento de software que segue uma abordagem iterativa e de continuous delivery, deverá conseguir interagir com as seguintes ferramentas:
JIRA
Bitbucket
Jenkins
Cloud Providers (Docker Cloud ou Azure ou AWS)
Análise e Integração de deployments com Ansible
A partir destas interações, o chatbot deverá constituir um canal de recolha de informação para as várias pessoas que participam no desenvolvimento, Product Owner, Scrum Master, Team Member, Operations Specialists.
Este desenvolvimento terá aplicabilidade direta numa equipa de desenvolvimento de software, que poderá identificar novos cenários ou refinar os cenários já identificados.
Os cenários já identificados são os seguintes:
· Consulta de estado de desenvolvimento de uma funcionalidade
· Lançamento de ambientes virtuais a partir de PullRequest identificado
· Consulta de interações num PullRequest
· Lançamento de processos de integração em Jenkins
· Consulta de verificações (critérios de aceitação, definição e execução de testes)

Plano de Trabalhos - Semestre 1

Fase 1: Levantamento de estado da arte na tecnologia de chatbots (2 semanas)
Fase 2: Estudo das APIs das ferramentas a integrar (JIRA, Bitbucket, Jenkins) (2 semanas)
Fase 3: Implementação de ChatBot (desenvolvimento iterativo, com releases a cada semana para o cenário real) (15 semanas)
Esta fase de implementação dos cenários de utilização do chatbot seguirá um processo de desenvolvimento iterativo, em que a cada semana serão disponibilizados os desenvolvimentos para utilização real. No final de cada uma das semanas será produzido um update do software com a respetiva documentação associada.

Plano de Trabalhos - Semestre 2

Fase 4: Implementação de ChatBot com recurso a framework de AI (desenvolvimento iterativo, com releases a cada semana para o cenário real) (15 semanas)
Esta fase de implementação dos cenários de utilização do chatbot seguirá um processo de desenvolvimento iterativo, em que a cada semana serão disponibilizados os desenvolvimentos para utilização real. No final de cada uma das semanas será produzido um update do software com a respetiva documentação associada.

Fase 5: Estudo das APIs dos Cloud Providers a integrarf (Docker Cloud ou Azure ou AWS) e estudo de deployments com Ansible () (2 semanas)
Fase 6: Integração do ChatBot com deployments Ansible
Fase 7: Consolidação de relatório e análise crítica (1 semana)

Condições

São propostas as seguintes condições:

Estágio semestre 1 (16h/sem)
Remuneração: 225€/mês
Disponibilização de portátil

Estágio semestre 2 (40h/sem)
Remuneração: 450€/mês
Disponibilização de portátil

Orientador

António Howcroft Ferreira
info@fiercely.pt 📩