BACKGROUND. Software development is a mixture of technical, human and contextual factors, which make it complex and hard to manage. As in physics, medicine and social sciences, experimentation is the fundamental way for Software Engineering to understand, predict and cost-effectively control the software development process. In this thesis we deal with the improvement of the software development process, which may depend on a remarkable number of variables, even dozens; however, the currently available improvement models consider only small numbers of variables. CONTEXT. The present work is a PhD thesis conceived and realized between 2009 and 2013 and developed partly in Italy and partly in the United States, with the contributions of the University of Rome Tor Vergata, the Fraunhofer Center for Experimental Software Engineering - Maryland, the National Aeronautics and Space Administration (NASA) and MBDA Italia. GOAL. The purpose of this study is to understand, predict and control the software development process with focus on performance - modeled as a set of variables of the necessary cardinality, - from the point of view of decision makers, in the context of companies and agencies willing to achieve their business goals via a rigorous, predictable and engineered approach to software development. In other words, we aim to provide decision makers with a coherent and encompassing set of models and tools to support their Software Engineering job. METHOD. In order to achieve this goal, we first need to define a theoretical foundation for our approach; then we need to validate such theoretical model, so to refine and complete its formulation. Subsequently, we need to enable decision makers to use and leverage the validated model in practice. RESULTS. The main result of this thesis is a framework, tailored to both researchers’ and practitioners’ needs, to support the experimental investigation, and consequent improvement, of the software development process of organizations by detecting, modeling, and aggregating as many variables as necessary (up to ninety-four in our experience), and eventually use them to build measurement models. In this work, we report on the theoretical foundation of our framework and evidence of its successful preliminary validation on the field, with different organizations, including three major international companies, each having diverse goals and constraints in place. Specifically, the outputs of this study consist in a set of tailorable and usable methods to help experts make decisions concerning software development, along with a significant series of experiences to show its functionality and with some recommendations on how to turn the framework into practice.
Software development process enhancement: a framework for decision-making support
MASTROFINI, MANUEL
2013
Abstract
BACKGROUND. Software development is a mixture of technical, human and contextual factors, which make it complex and hard to manage. As in physics, medicine and social sciences, experimentation is the fundamental way for Software Engineering to understand, predict and cost-effectively control the software development process. In this thesis we deal with the improvement of the software development process, which may depend on a remarkable number of variables, even dozens; however, the currently available improvement models consider only small numbers of variables. CONTEXT. The present work is a PhD thesis conceived and realized between 2009 and 2013 and developed partly in Italy and partly in the United States, with the contributions of the University of Rome Tor Vergata, the Fraunhofer Center for Experimental Software Engineering - Maryland, the National Aeronautics and Space Administration (NASA) and MBDA Italia. GOAL. The purpose of this study is to understand, predict and control the software development process with focus on performance - modeled as a set of variables of the necessary cardinality, - from the point of view of decision makers, in the context of companies and agencies willing to achieve their business goals via a rigorous, predictable and engineered approach to software development. In other words, we aim to provide decision makers with a coherent and encompassing set of models and tools to support their Software Engineering job. METHOD. In order to achieve this goal, we first need to define a theoretical foundation for our approach; then we need to validate such theoretical model, so to refine and complete its formulation. Subsequently, we need to enable decision makers to use and leverage the validated model in practice. RESULTS. The main result of this thesis is a framework, tailored to both researchers’ and practitioners’ needs, to support the experimental investigation, and consequent improvement, of the software development process of organizations by detecting, modeling, and aggregating as many variables as necessary (up to ninety-four in our experience), and eventually use them to build measurement models. In this work, we report on the theoretical foundation of our framework and evidence of its successful preliminary validation on the field, with different organizations, including three major international companies, each having diverse goals and constraints in place. Specifically, the outputs of this study consist in a set of tailorable and usable methods to help experts make decisions concerning software development, along with a significant series of experiences to show its functionality and with some recommendations on how to turn the framework into practice.File | Dimensione | Formato | |
---|---|---|---|
Mastrofini Manuel_PhD Thesis.pdf
non disponibili
Dimensione
4.08 MB
Formato
Adobe PDF
|
4.08 MB | Adobe PDF |
I documenti in UNITESI sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.
https://hdl.handle.net/20.500.14242/197030
URN:NBN:IT:UNIROMA2-197030