| Nome: | Descrição: | Tamanho: | Formato: | |
|---|---|---|---|---|
| 6.09 MB | Adobe PDF |
Autores
Resumo(s)
As metodologias ágeis são atualmente das mais utilizadas em projetos de desenvolvimento de software. Estas divergem entre si através de diferentes
especificidades. No entanto, existem várias, como o caso do Scrum e do Kanban, que defendem que os elementos das equipas devem adotar determinados
comportamentos e valores para melhorar aspetos como processos, atividades ou a comunicação. Esses comportamentos podem ser a coragem, o compromisso e uma busca incessante pelo aperfeiçoamento, a qual se denomina por melhoria contínua. Os elementos das equipas, com a utilização das metodologias ágeis, são incentivados a colaborar na identificação de pontos de melhoria. São, por isso, encorajados a fornecer feedback aos seus colegas e responsáveis dos projetos sobre vários aspetos. O feedback tem várias formas e origens e a maneira como contribui para promover a melhoria contínua é alvo de uma das pesquisas presentes neste trabalho. A análise do feedback pode ocorrer de forma manual e empírica por uma pessoa, embora esta não seja uma forma escalável de a realizar, para além de se poder tornar parcial e pouco precisa. A inteligência artificial e o processamento de linguagem natural são tecnologias com crescente desenvolvimento e utilização que podem ser usadas para analisar, de forma automatizada, o feedback presente num formato de texto. Por esta razão, neste trabalho, foi também realizado um estudo sobre formas como estas tecnologias já estão a ser utilizadas no apoio às atividades da gestão de projetos de desenvolvimento de software. Este trabalho também apresenta a modelação e implementação de um sistema, sobre a forma de uma web app, de acompanhamento de tarefas num quadro Kanban que recolhe e analisa o feedback de developers sobre a qualidade da escrita das tarefas. O feedback é recolhido sobre a forma de respostas a um conjunto de perguntas que incidem sobre a forma como uma determinada tarefa estava descrita. O sistema desenvolvido, denominado TaskIT, realiza a análise do feedback utilizando a análise de sentimentos com inteligência artificial. Posteriormente os dados dessa análise são disponibilizados ao responsável do projeto para que este possua uma forma de acompanhar o impacto das ações corretivas que venham a ser adotadas. De forma a validar a utilidade da forma como o TaskIT recolhe, processa e apresenta o feedback gerado por developers sobre a escrita das tarefas, foi realizada uma série de entrevistas de validação deste protótipo com profissionais da área. O principal contributo do presente trabalho consiste em expor como o feedback pode ser utilizado para promover a melhoria contínua em ambientes de desenvolvimento de software e, em concreto, apresentar um protótipo que o faça para melhorar a forma como são escritas as tarefas a executar.
Abstract: Agile methodologies are currently among the most widely used in software development projects. They differ from one another in terms of specific characteristics. However, there are several, such as Scrum and Kanban, which advocate that team members should adopt certain behaviours and values to improve aspects such as processes, activities, or communication. These behaviours can be courage, commitment, and a relentless pursuit of perfection, which is called continuous improvement. Team members, using agile methodologies, are encouraged to collaborate in identifying areas for improvement. They are therefore encouraged to provide feedback to their colleagues and project managers on various aspects. Feedback takes many forms and comes from many sources, and the way it contributes to promoting continuous improvement is the subject of one of the studies presented in this paper. Feedback analysis can be done manually and empirically by a person, although this is not a scalable way of doing it, and it can also be biased and inaccurate. Artificial intelligence and natural language processing are technologies that are increasingly being developed and used to automatically analyse feedback in text format. For this reason, this study also examined ways in which these technologies are already being used to support software development project management activities. This work also presents the modelling and implementation of a system, in the form of a web app, for monitoring tasks on a Kanban board that collects and analyses feedback from developers on the quality of task descriptions. Feedback is collected in the form of answers to a set of questions about how a particular task was described. The system developed, called TaskIT, analyses feedback using artificial intelligence sentiment analysis. The data from this analysis is then made available to the project manager so that they can monitor the impact of any corrective actions that may be taken. In order to validate the usefulness of the way TaskIT collects, processes and presents feedback generated by developers on the writing of tasks, a series of interviews were conducted with professionals in the field to validate this prototype. The main contribution of this work is to show how feedback can be used to promote continuous improvement in software development environments and, specifically, to present a prototype that does so to improve the way tasks to be performed are written.
Abstract: Agile methodologies are currently among the most widely used in software development projects. They differ from one another in terms of specific characteristics. However, there are several, such as Scrum and Kanban, which advocate that team members should adopt certain behaviours and values to improve aspects such as processes, activities, or communication. These behaviours can be courage, commitment, and a relentless pursuit of perfection, which is called continuous improvement. Team members, using agile methodologies, are encouraged to collaborate in identifying areas for improvement. They are therefore encouraged to provide feedback to their colleagues and project managers on various aspects. Feedback takes many forms and comes from many sources, and the way it contributes to promoting continuous improvement is the subject of one of the studies presented in this paper. Feedback analysis can be done manually and empirically by a person, although this is not a scalable way of doing it, and it can also be biased and inaccurate. Artificial intelligence and natural language processing are technologies that are increasingly being developed and used to automatically analyse feedback in text format. For this reason, this study also examined ways in which these technologies are already being used to support software development project management activities. This work also presents the modelling and implementation of a system, in the form of a web app, for monitoring tasks on a Kanban board that collects and analyses feedback from developers on the quality of task descriptions. Feedback is collected in the form of answers to a set of questions about how a particular task was described. The system developed, called TaskIT, analyses feedback using artificial intelligence sentiment analysis. The data from this analysis is then made available to the project manager so that they can monitor the impact of any corrective actions that may be taken. In order to validate the usefulness of the way TaskIT collects, processes and presents feedback generated by developers on the writing of tasks, a series of interviews were conducted with professionals in the field to validate this prototype. The main contribution of this work is to show how feedback can be used to promote continuous improvement in software development environments and, specifically, to present a prototype that does so to improve the way tasks to be performed are written.
Descrição
Dissertação apresentada à Escola Superior de Tecnologia do Instituto Politécnico de Castelo Branco para cumprimento dos requisitos necessários à obtenção do grau de Mestre em Engenharia Informática Área de Especialização de Desenvolvimento de Software e Sistemas Interativos.
Palavras-chave
Análise de feedback Melhoria contínua Metodologias ágeis Análise de sentimentos Inteligência Artificial Feedback analysis Continuous improvement Agile methodologies Sentiment analysis Artificial Intelligence
