{"id":{"repo_id":"catania","oai_identifier":"oai:www.iris.unict.it:20.500.11769/598190"},"canonical_url":"https://search.dev.ndltd.org/etd/catania/oai:www.iris.unict.it:20.500.11769/598190","repository":{"repo_id":"catania","name":"Università degli Studi di Catania","base_url":"https://www.iris.unict.it/oai/request"},"display":{"title":"Tecniche di data mining per stimare l'effort nei progetti software","abstract":"Con il passare degli anni si è dato sempre più importanza all'effort impiegato per lo sviluppo di un progetto software. Stimare l'effort impiegato in un processo di sviluppo è una delle principali sfide tra le attività dell'ingegneria del software. Il suo scopo è quello di prevenire intoppi e ritardi nella creazione del software durante il processo di sviluppo. Nelle fasi iniziali dei processi detti agili, una corretta stima dell'effort aiuta a determinare quali task possono essere risolti o completati nel minor tempo possibile. Tuttavia, la stima dei requisiti e competenze può essere un compito complesso per gli stessi sviluppatori e c’è sempre il rischio di effettuare stime errate. Studiare l'andamento dell'effort impiegato nel processo di sviluppo è un elemento chiave per monitorare l’andamento progressivo di un team. Gli approcci più comuni per stimare l'effort complessivo di un progetto si basano sull’analogia di precedenti progetti software e sul giudizio degli esperti nel settore. Pochi sono però gli strumenti che assistono i project manager per misurare l'effort impiegato dai loro team di sviluppo. I software repository sono un supporto prezioso per grandi team che lavorano insieme a un progetto. Oltre al codice, un repository include dati utili relativi alle pratiche e funzionalità che meglio identificano gli sviluppatori che stanno dietro al progetto. Questa tesi presenta nuovi approcci e metriche basati su dati estratti dai repository e relativi al processo di sviluppo del software al fine di meglio profilare l’attività dei ogni programmatore. Mentre le aziende, attraverso l'acquisizione dei log data dei dipendenti, riescono a ottenere informazioni utili per stimare fattori come: quanto effort sarà necessario per completare un determinato progetto e quanto tempo ci vorrà; in un repository open source tali informazioni spesso non sono presenti. L'obiettivo delle metriche proposte è quello di rivelare l'effort degli sviluppatori, al fine di evidenziare punti di forza e debolezze nell'approccio utilizzato, e conseguentemente suggerire possibili miglioramenti. Inoltre, le metriche proposte possono essere facilmente integrate nell’ambiente di sviluppo abituale, senza influire sul processo di sviluppo. L’analisi sopra descritta può essere eseguita sia durante la fase di implementazione di nuovi componenti e funzionalità del software, sia successivamente, quando lo sviluppo dell’applicazione è completato.","abstract_html":"Con il passare degli anni si è dato sempre più importanza all&#x27;effort impiegato per lo sviluppo di un progetto software. Stimare l&#x27;effort impiegato in un processo di sviluppo è una delle principali sfide tra le attività dell&#x27;ingegneria del software. Il suo scopo è quello di prevenire intoppi e ritardi nella creazione del software durante il processo di sviluppo. Nelle fasi iniziali dei processi detti agili, una corretta stima dell&#x27;effort aiuta a determinare quali task possono essere risolti o completati nel minor tempo possibile. Tuttavia, la stima dei requisiti e competenze può essere un compito complesso per gli stessi sviluppatori e c’è sempre il rischio di effettuare stime errate. Studiare l&#x27;andamento dell&#x27;effort impiegato nel processo di sviluppo è un elemento chiave per monitorare l’andamento progressivo di un team. Gli approcci più comuni per stimare l&#x27;effort complessivo di un progetto si basano sull’analogia di precedenti progetti software e sul giudizio degli esperti nel settore. Pochi sono però gli strumenti che assistono i project manager per misurare l&#x27;effort impiegato dai loro team di sviluppo. I software repository sono un supporto prezioso per grandi team che lavorano insieme a un progetto. Oltre al codice, un repository include dati utili relativi alle pratiche e funzionalità che meglio identificano gli sviluppatori che stanno dietro al progetto. Questa tesi presenta nuovi approcci e metriche basati su dati estratti dai repository e relativi al processo di sviluppo del software al fine di meglio profilare l’attività dei ogni programmatore. Mentre le aziende, attraverso l&#x27;acquisizione dei log data dei dipendenti, riescono a ottenere informazioni utili per stimare fattori come: quanto effort sarà necessario per completare un determinato progetto e quanto tempo ci vorrà; in un repository open source tali informazioni spesso non sono presenti. L&#x27;obiettivo delle metriche proposte è quello di rivelare l&#x27;effort degli sviluppatori, al fine di evidenziare punti di forza e debolezze nell&#x27;approccio utilizzato, e conseguentemente suggerire possibili miglioramenti. Inoltre, le metriche proposte possono essere facilmente integrate nell’ambiente di sviluppo abituale, senza influire sul processo di sviluppo. L’analisi sopra descritta può essere eseguita sia durante la fase di implementazione di nuovi componenti e funzionalità del software, sia successivamente, quando lo sviluppo dell’applicazione è completato.","abstract_has_math":false,"creators":["PELONERO, LEONARDO"],"institution":"Università degli studi di Catania","degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":["TRAMONTANA, EMILIANO ALESSIO"],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2024,"date_issued":"2024-02-12","date_published":"2024-02-12","updated_at":"2026-07-24T01:35:03Z","subjects":["Data Mining","Agile","Scrum","Effort","Git","Open source","Mining Software Repositorie","Commit","API","Metric","Software Repository","Profiling developer","monitoring team performance","Ingegneria del software","Metriche","Metrica","Processo di sviluppo","Monitoraggio","Profilazione sviluppatori"],"languages":["ita"],"rights":["info:eu-repo/semantics/openAccess","license:PUBBLICO - Pubblico con Copyright","license uri:iris.PUB02"],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/20.500.11769/598190","outbound_label":"Handle","outbound_source":"dc:identifier"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor","label":"Contributor","values":["Pelonero, Leonardo","TRAMONTANA, EMILIANO ALESSIO"]},{"key":"dc:creator","label":"Author","values":["PELONERO, LEONARDO"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date","label":"Dc Date","values":["2024-02-12"]},{"key":"dc:publisher","label":"Institution","values":["Università degli studi di Catania","place:Catania"]},{"key":"dc:type","label":"Dc Type","values":["info:eu-repo/semantics/doctoralThesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Data Mining","Agile","Scrum","Effort","Git","Open source","Mining Software Repositorie","Commit","API","Metric","Software Repository","Profiling developer","monitoring team performance","Ingegneria del software","Metriche","Metrica","Processo di sviluppo","Monitoraggio","Profilazione sviluppatori"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:language","label":"Dc Language","values":["ita"]},{"key":"dc:rights","label":"Dc Rights","values":["info:eu-repo/semantics/openAccess","license:PUBBLICO - Pubblico con Copyright","license uri:iris.PUB02"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier","label":"Identifier","values":["https://hdl.handle.net/20.500.11769/598190"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description","label":"Description","values":["Con il passare degli anni si è dato sempre più importanza all'effort impiegato per lo sviluppo di un progetto software. Stimare l'effort impiegato in un processo di sviluppo è una delle principali sfide tra le attività dell'ingegneria del software. Il suo scopo è quello di prevenire intoppi e ritardi nella creazione del software durante il processo di sviluppo. Nelle fasi iniziali dei processi detti agili, una corretta stima dell'effort aiuta a determinare quali task possono essere risolti o completati nel minor tempo possibile. Tuttavia, la stima dei requisiti e competenze può essere un compito complesso per gli stessi sviluppatori e c’è sempre il rischio di effettuare stime errate. Studiare l'andamento dell'effort impiegato nel processo di sviluppo è un elemento chiave per monitorare l’andamento progressivo di un team. Gli approcci più comuni per stimare l'effort complessivo di un progetto si basano sull’analogia di precedenti progetti software e sul giudizio degli esperti nel settore. Pochi sono però gli strumenti che assistono i project manager per misurare l'effort impiegato dai loro team di sviluppo. I software repository sono un supporto prezioso per grandi team che lavorano insieme a un progetto. Oltre al codice, un repository include dati utili relativi alle pratiche e funzionalità che meglio identificano gli sviluppatori che stanno dietro al progetto. Questa tesi presenta nuovi approcci e metriche basati su dati estratti dai repository e relativi al processo di sviluppo del software al fine di meglio profilare l’attività dei ogni programmatore. Mentre le aziende, attraverso l'acquisizione dei log data dei dipendenti, riescono a ottenere informazioni utili per stimare fattori come: quanto effort sarà necessario per completare un determinato progetto e quanto tempo ci vorrà; in un repository open source tali informazioni spesso non sono presenti. L'obiettivo delle metriche proposte è quello di rivelare l'effort degli sviluppatori, al fine di evidenziare punti di forza e debolezze nell'approccio utilizzato, e conseguentemente suggerire possibili miglioramenti. Inoltre, le metriche proposte possono essere facilmente integrate nell’ambiente di sviluppo abituale, senza influire sul processo di sviluppo. L’analisi sopra descritta può essere eseguita sia durante la fase di implementazione di nuovi componenti e funzionalità del software, sia successivamente, quando lo sviluppo dell’applicazione è completato.","It is paramount to properly integrate effort estimation with good development practices. Effort estimation is an open challenges, and it is performed to prevent software defects and delays during the development. In agile projects, at the very beginning stage of the software development life cycle, correct effort estimation helps to determine the order of the tasks to perform. However, estimation can be complex and there is the risk of making erroneous estimations. Predicting the effort is important to validate the results obtained or monitor the progressive trend. While analogy and expert judgment based are popular effort estimation approaches, no tools exist to assist managers in verifying and supervising the progressive effort during project development, except for size measures such as Line Of Code (LOC) and Function Point (FP). Modern software repositories are a valuable support for large teams working together on a project. Besides the code, a repository includes useful data related to development practices as well as features that better identify the project’s developers. This thesis presents novel approaches and metrics based on data extracted from repositories and related to the software life cycle to profile developer activities. By acquiring employees log data, project management can be provided with useful information such as how much more effort it will take to complete, and how long that will take; however in open source repository such records do not usually exist. The value of the proposed metrics is to reveal the effort spent by developers, to estimate the additional effort required to complete the task, to highlight strengths and weaknesses, then suggest improvements. Furthermore, the proposed metrics can be easily integrated in the usual development environment, without affecting other practices. The above analysis can be performed both during the development process of new software components and features, or afterwards, when the application’s development has been completed."]},{"key":"dc:title","label":"Title","values":["Tecniche di data mining per stimare l'effort nei progetti software"]}]}],"canonical_facts":{"dc:contributor":["Pelonero, Leonardo","TRAMONTANA, EMILIANO ALESSIO"],"dc:creator":["PELONERO, LEONARDO"],"dc:date":["2024-02-12"],"dc:description":["Con il passare degli anni si è dato sempre più importanza all'effort impiegato per lo sviluppo di un progetto software. Stimare l'effort impiegato in un processo di sviluppo è una delle principali sfide tra le attività dell'ingegneria del software. Il suo scopo è quello di prevenire intoppi e ritardi nella creazione del software durante il processo di sviluppo. Nelle fasi iniziali dei processi detti agili, una corretta stima dell'effort aiuta a determinare quali task possono essere risolti o completati nel minor tempo possibile. Tuttavia, la stima dei requisiti e competenze può essere un compito complesso per gli stessi sviluppatori e c’è sempre il rischio di effettuare stime errate. Studiare l'andamento dell'effort impiegato nel processo di sviluppo è un elemento chiave per monitorare l’andamento progressivo di un team. Gli approcci più comuni per stimare l'effort complessivo di un progetto si basano sull’analogia di precedenti progetti software e sul giudizio degli esperti nel settore. Pochi sono però gli strumenti che assistono i project manager per misurare l'effort impiegato dai loro team di sviluppo. I software repository sono un supporto prezioso per grandi team che lavorano insieme a un progetto. Oltre al codice, un repository include dati utili relativi alle pratiche e funzionalità che meglio identificano gli sviluppatori che stanno dietro al progetto. Questa tesi presenta nuovi approcci e metriche basati su dati estratti dai repository e relativi al processo di sviluppo del software al fine di meglio profilare l’attività dei ogni programmatore. Mentre le aziende, attraverso l'acquisizione dei log data dei dipendenti, riescono a ottenere informazioni utili per stimare fattori come: quanto effort sarà necessario per completare un determinato progetto e quanto tempo ci vorrà; in un repository open source tali informazioni spesso non sono presenti. L'obiettivo delle metriche proposte è quello di rivelare l'effort degli sviluppatori, al fine di evidenziare punti di forza e debolezze nell'approccio utilizzato, e conseguentemente suggerire possibili miglioramenti. Inoltre, le metriche proposte possono essere facilmente integrate nell’ambiente di sviluppo abituale, senza influire sul processo di sviluppo. L’analisi sopra descritta può essere eseguita sia durante la fase di implementazione di nuovi componenti e funzionalità del software, sia successivamente, quando lo sviluppo dell’applicazione è completato.","It is paramount to properly integrate effort estimation with good development practices. Effort estimation is an open challenges, and it is performed to prevent software defects and delays during the development. In agile projects, at the very beginning stage of the software development life cycle, correct effort estimation helps to determine the order of the tasks to perform. However, estimation can be complex and there is the risk of making erroneous estimations. Predicting the effort is important to validate the results obtained or monitor the progressive trend. While analogy and expert judgment based are popular effort estimation approaches, no tools exist to assist managers in verifying and supervising the progressive effort during project development, except for size measures such as Line Of Code (LOC) and Function Point (FP). Modern software repositories are a valuable support for large teams working together on a project. Besides the code, a repository includes useful data related to development practices as well as features that better identify the project’s developers. This thesis presents novel approaches and metrics based on data extracted from repositories and related to the software life cycle to profile developer activities. By acquiring employees log data, project management can be provided with useful information such as how much more effort it will take to complete, and how long that will take; however in open source repository such records do not usually exist. The value of the proposed metrics is to reveal the effort spent by developers, to estimate the additional effort required to complete the task, to highlight strengths and weaknesses, then suggest improvements. Furthermore, the proposed metrics can be easily integrated in the usual development environment, without affecting other practices. The above analysis can be performed both during the development process of new software components and features, or afterwards, when the application’s development has been completed."],"dc:identifier":["https://hdl.handle.net/20.500.11769/598190"],"dc:language":["ita"],"dc:publisher":["Università degli studi di Catania","place:Catania"],"dc:rights":["info:eu-repo/semantics/openAccess","license:PUBBLICO - Pubblico con Copyright","license uri:iris.PUB02"],"dc:subject":["Data Mining","Agile","Scrum","Effort","Git","Open source","Mining Software Repositorie","Commit","API","Metric","Software Repository","Profiling developer","monitoring team performance","Ingegneria del software","Metriche","Metrica","Processo di sviluppo","Monitoraggio","Profilazione sviluppatori"],"dc:title":["Tecniche di data mining per stimare l'effort nei progetti software"],"dc:type":["info:eu-repo/semantics/doctoralThesis"]},"updated_at":"2026-07-24T01:35:03Z"}