Please use this identifier to cite or link to this item: https://hdl.handle.net/10216/105461
Author(s): Eduardo Manuel Oliveira Taveira Baptista de Almeida
Title: Quantified Self for Developers
Issue Date: 2017-07-12
Abstract: Quantified Self is the process of an individual self-tracking his biological, physical, behavioral or environmental information. This is a relatively recent topic that has been generating an increasingly higher amount of interest and traction that began with the launch of smartphones. Since then, people's phones started acting more as personal devices and bundling sensors like accelerometers, gyroscopes and dedicated health processors. These, just by themselves, can be used to gather some data about the user, like sleep analysis and fitness activity. The rise of the smartwatches has contributed even more to the awareness of Quantified Self, as personal analytic data can be obtained in an even easier and more accurate way, since this kind of devices is in constant contact with our skin. This allows for relevant data like the user's heart rate to be continuously monitored and analyzed.Applied to software development, and more specifically to software developers themselves, personal and team metrics can easily be acquired from widely used project management and code quality software, of which some examples are GitHub, JIRA and Bugzilla. This data can then be correlated with the personal analytics mentioned above to measure productivity and happiness, not only of a single person, but also of the team as a whole. Happiness is a metric used mostly on agile software development teams, and called that way based on the assumption that the success is based on the well-being of a team, which is consequently more efficient and productive the happier it is. There are currently no applications that correlate both personal and work-related metrics, and these together can be used to detect issues in order to aid in finding improvements to a person's habits and workflow.As a result of this work, a platform was developed, with four separate applications: one for iOS, one cross-platform application for Android and iOS, a web client application and, finally, a server application.The iOS application, QuantiDev, allows for the acquisition of personal data, gathered from the phone and connected devices like smartwatches and fitness trackers, and for the correlation of that same data with work-related information. The cross-platform application, InteractDev, is a note-taking and interaction evaluation application, which on top of allowing for the sharing of interaction notes between team members, also provides the platform with data about the health of an interaction between the same team members. The web client application, QuantiDev Web, allows for the management of developers and their teams, data acquisition, generation of charts and the analysis of data about these teams by their leaders. Finally, the developed server application, quantiserver, establishes the connection between the three other applications along with being tasked with the acquisition of work-related data from external services and scheduled maintenance tasks.This platform has, then, the objective of helping software developers and the teams they are part of, identifying patterns, problems and, as a result, improve both their personal and work life.A validation phase was conducted, in order to validate the concept behind the platform, by software developers with experience of working in teams and of being a leader in these same teams. The results obtained confirmed that software developers feel that their productivity may be affected by personal and external factors, and revealed a great interest in a platform like the one that was developed.
Description: Quantified Self é o processo de um indivíduo registar a sua informação tanto biológica, física, comportamental como do meio envolvente. Este é um tópico relativamente recente, que tem vindo a gerar cada vez mais interesse desde o lançamento dos smartphones. Desde então, estes têm vindo a ser cada vez dispositivos mais pessoais, com sensores como acelerómetros, giroscópios, processadores dedicados a saúde, entre outros. Estes, só por si, podem ser usados para adquirir informação sobre o utilizador, como hábitos de sono e atividade física. O aparecimento dos smartwatches contribuiu ainda mais para o sucesso do Quantified Self, já que analíticas pessoais podem ser obtidas de uma forma ainda mais fácil e precisa, uma vez que este tipo de dispositivos está sempre em contacto com a pele. Assim, é possível que dados relevantes, como a pulsação cardíaca do utilizador, estejam continuamente a ser monitorizados.Aplicado ao desenvolvimento de software, e mais especificamente aos desenvolvedores de software, é possível obter métricas sobre a equipa e cada membro, a partir de software de gestão de projetos e de qualidade de código utilizado por estes, dos quais são exemplo o GitHub, JIRA e Bugzilla. Os dados recolhidos podem então ser relacionados com os obtidos da pessoa, como descrito anteriormente, de modo a analisar a produtividade e a happiness, não só de uma pessoa, mas da equipa como um todo. Happiness é uma métrica utilizada, principalmente nas equipas de desenvolvimento de software ágeis, e designada desta forma, com base na assunção que a felicidade está relacionada com o bem-estar de uma equipa, que é consequentemente mais eficiente e produtiva quanto mais feliz é. Atualmente, não existem aplicações que relacionem métricas pessoais e de trabalho, que quando analisadas em conjunto, podem ser utilizadas para detetar problemas e auxiliar a descoberta melhorias de hábitos e modo de trabalho de um indivíduo.Como resultado deste projecto, uma plataforma foi desenvolvida, com quatro aplicações separadas: uma para iOS, uma multi-plataforma para Android e iOS, uma aplicação web e, finalmente, uma aplicação para servidor.A aplicação de iOS, QuantiDev, permite a aquisição de dados pessoais recolhidos pelo telemóvel do utilizador e de dispositivos a este conectados como smartwatches e fitness trackers, podendo ent�\xA3o correlacionar esses dados com informação relacionada com o trabalho do utilizador. A aplicação multi-plataforma, InteractDev, é uma aplicação de notas e avaliação de interação, que para além de permitir a partilha de notas sobre uma interação entre os intervenientes, também fornece dados sobre a qualidade da mesma à plataforma. A aplicação web, QuantiDev Web, permite a gestão de desenvolvedores de software e das equipas na qual estão contidos, aquisição de dados, formulação de gráficos e a análise de dados sobre equipas pelos seus líderes. Finalmente, a aplicação de servidor, quantiserver, estabelece a ligação entre as outras três aplicações, para além de ser responsável pela aquisição de dados relacionados com o trabalho dos utilizadores, bem como por tarefas de manutenção.A plataforma tem então o objetivo de ajudar desenvolvedores de software e as equipas nas quais estão contidos a identificar padrões, problemas, e, como resultado desta análise, melhorar a sua vida tanto a nível pessoal como profissional.Foi também conduzida uma fase de validação, de modo a validar o conceito por detrás da plataforma, recorrendo a programadores com experiência de trabalho em equipa, bem como líderes das mesmas. Através dos resultados obtidos, pode concluir-se que os desenvolvedores de software sentem que a sua produtividade pode ser afetada por fatores tanto pessoais como externos, e revelaram um grande interesse numa plataforma como a que foi desenvolvida.
Subject: Engenharia electrotécnica, electrónica e informática
Electrical engineering, Electronic engineering, Information engineering
Scientific areas: Ciências da engenharia e tecnologias::Engenharia electrotécnica, electrónica e informática
Engineering and technology::Electrical engineering, Electronic engineering, Information engineering
TID identifier: 201797178
URI: https://repositorio-aberto.up.pt/handle/10216/105461
Document Type: Dissertação
Rights: openAccess
Appears in Collections:FEUP - Dissertação

Files in This Item:
File Description SizeFormat 
201046.pdfQuantified Self for Developers7.36 MBAdobe PDFThumbnail
View/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.