Communications in Computer and Information Science, 2009
CMMI has been adopted advantageously in large companies for improvements in software quality, bud... more CMMI has been adopted advantageously in large companies for improvements in software quality, budget fulfilling, and customer satisfaction. However SPI strategies based on CMMI-DEV require heavy software development processes and large investments in terms of cost and time that medium/small companies do not deal with. The so-called light software development processes, such as Agile Software Development (ASD), deal with these challenges. ASD welcomes changing requirements and stresses the importance of adaptive planning, simplicity and continuous delivery of valuable software by short time-framed iterations. ASD is becoming convenient in a more and more global, and changing software market. It would be greatly useful to be able to introduce agile methods such as Scrum in compliance with CMMI process model. This paper intends to increase the understanding of the relationship between ASD and CMMI-DEV reporting empirical results that confirm theoretical comparisons between ASD practices and CMMI level2.
2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, 2009
Test automation is facing a new challenge because tools, as well as having to provide conventiona... more Test automation is facing a new challenge because tools, as well as having to provide conventional test functionalities, must be capable to interact with ever more heterogeneous complex systems under test (SUT). The number of existing software interfaces to access these systems is also a growing number. The problem cannot be analyzed only from a technical or engineering perspective; the economic perspective is as important. This paper presents a process to systematically implement gateways which support the communication between test tools and SUTs with a reduced cost. The proposed solution does not preclude any interface protocol at the SUT side. This process is supported using a generic architecture of a gateway defined on top of OSGi. Any test tool can communicate with the gateway through a unique defined interface. To communicate the gateway and the SUT, basically, the driver corresponding to the SUT software interface has to be loaded.
2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), 2013
The term "Smart Product" has become commonly used in recent years. This is because there has been... more The term "Smart Product" has become commonly used in recent years. This is because there has been an increasing interest in these kinds of products as part of the consumer goods industry, impacting everyday life and industry. Nevertheless, the term "Smart Product" is used with different meanings in different contexts and application domains. The use of the term "Smart Product" with different meanings and underlying semantics can create important misunderstandings and dissent. The aim of this paper is to analyze the different definitions of Smart Product available in the literature, and to explore and analyze their commonalities and differences, in order to provide a consensus definition that satisfies, and can therefore be used by, all parties. To embrace the identified definitions, the concept of "Smart Thing" is introduced. The methodology used was a systematic literature review. The definition is expressed as an ontology.
Page 1. A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs Jess... more Page 1. A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs Jessica Dıaz1, Jennifer Pérez1, Juan Garbajosa1, and Alexander L. Wolf2 1 Technical University of Madrid (UPM) - Universidad ...
2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture, 2009
... Jessica Díaz Universidad Politécnica de Madrid, EUInformática, Spain CristóbalCosta-Soria DSI... more ... Jessica Díaz Universidad Politécnica de Madrid, EUInformática, Spain CristóbalCosta-Soria DSIC, Universidad Politécnica de Valencia, Spain ... However, to use these primitives it is necessary to define a graphical metaphor for modeling them. ...
Lecture Notes in Business Information Processing, 2011
Page 1. Prioritization of Features in Agile Product Line Engineering Jessica Dıaz * , Juan Garbaj... more Page 1. Prioritization of Features in Agile Product Line Engineering Jessica Dıaz * , Juan Garbajosa ** , and Jennifer Pérez ** Technical University of Madrid (UPM), SYST Research Group EU Informática. Ctra. Valencia Km. ...
ABSTRACT In current software systems with highly volatile requirements, traceability plays a key ... more ABSTRACT In current software systems with highly volatile requirements, traceability plays a key role to maintain the consistency between requirements and code. Traceability between artifacts involved in the development of software product line (SPL) is still more critical because it is necessary to guarantee that the selection of variants that realize the different SPL products meet the requirements. Current SPL traceability mechanisms trace from variability in features to variations in the configuration of product-line architecture (PLA) in terms of adding and removing components. However, it is not always possible to materialize the variable features of a SPL through adding or removing components, since sometimes they are materialized inside components, i.e., in part of their functionality: a class, a service, and/or an interface. Additionally, variations that happen inside components may crosscut several components of architecture. These kinds of variations are still challenging and their traceability is not currently well supported. Therefore, it is not possible to guarantee that those SPL products with these kinds of variations meet the requirements. This paper presents a solution for tracing variability from features to PLA by taking these kinds of variations into account. This solution is based on models and traceability between models in order to automate SPL configuration by selecting the variants and realizing the product application. The FPLA modeling framework supports this solution which has been deployed in a software factory. Validation has consisted in putting the solution into practice to develop a product line of power metering management applications for smart grids.
Software systems need software architectures to improve their scalability and maintenance. Howeve... more Software systems need software architectures to improve their scalability and maintenance. However, many agile practitioners claim that the upfront design of software architectures is an investment that does not pay off, since customers can rarely appreciate the value delivered by architectures. Furthermore, conventional architectural practices may be considered unacceptable from the Agile values and principles perspective. In this paper, the development of working architectures in agile iterations is presented as an attempt to solve the problem of designing software architectures in Agile. This contribution is based on the new concept of Plastic Partial Component (PPC). PPCs are highly malleable components that can be partially described, what increases the flexibility of architecture design. PPCs based architectures let reinforce some of the agile values and principles. Our experience of putting this contribution into practice is illustrated through the agile development of a Testing Framework for Biogas Plants.
2014 47th Hawaii International Conference on System Sciences, 2014
ABSTRACT The management of distributed and intermittent energy generation is a critical challenge... more ABSTRACT The management of distributed and intermittent energy generation is a critical challenge within the power domain. This challenge has emerged due to the increase of distributed and renewable energy resources in power networks. Smart Grids are a solution to integrate intermittent and dispersed renewable energy and to increase energy efficiency through the introduction of Information and Communication Technologies. However, Smart Grids require new and innovative models, and software architectures that enable Smart Grids to operate in an intelligent and self-managing way. To deal with the intelligent operation of power grids, this paper presents a reference architecture for autonomic power grids. Specifically, this paper focuses on the capability of self-balancing distributed and intermittent energy. It illustrates how this self-balancing capability is implemented and its usefulness for a scenario of a micro grid located in a real setting, in the south of the Spanish region of Ciudad Real.
Page 1. Change Impact Analysis in Product-Line Architectures Jessica Dıaz1, Jennifer Pérez1, Juan... more Page 1. Change Impact Analysis in Product-Line Architectures Jessica Dıaz1, Jennifer Pérez1, Juan Garbajosa1, and Alexander L. Wolf2 1 Technical University of Madrid (UPM) - Universidad Politécnica de Madrid Systems ...
Lecture Notes in Business Information Processing, 2009
... for Enhancing Agile Methodologies Jabier Martinez1, Jessica Diaz2, Jennifer Perez2, and Juan ... more ... for Enhancing Agile Methodologies Jabier Martinez1, Jessica Diaz2, Jennifer Perez2, and Juan Garbajosa2 ... Addison-Wesley Professional, Reading (2006) 3. Highsmith, J., Cockburn, A.: Agile software development: the business of innovation. ...
Proceedings of the First International Workshop on Software Engineering for Systems-of-Systems - SESoS '13, 2013
ABSTRACT Smart Grids are advanced power networks that introduce intelligent management, control, ... more ABSTRACT Smart Grids are advanced power networks that introduce intelligent management, control, and operation systems to address the new challenges generated by the growing energy demand and the appearance of renewal energies. In the literature, Smart Grids are presented as an exemplar SoS: systems composed of large heterogeneous and independent systems that leverage emergent behavior from their interaction. Smart Grids are currently scaling up the electricity service to millions of customers. These Smart Grids are known as Large-Scale Smart Grids. From the experience in several projects about Large-Scale Smart Grids, this paper defines Large-Scale Smart Grids as a SoS that integrate a set of SoS and conceptualizes the properties of this SoS. In addition, the paper defines the architectural framework for deploying the software architectures of Large-Scale Smart Grid SoS.
2014 47th Hawaii International Conference on System Sciences, 2014
The evolution of a new information society and new technologies has led to the involvement of org... more The evolution of a new information society and new technologies has led to the involvement of organizations in a highly competitive business market where innovation plays a key role. Improving the understanding of the innovation process will help organizations bring more competitive solutions to society more promptly. Currently, there are still too few mechanisms that help organizations to model innovation knowledge and measure their innovation capability. To deal with this gap, this paper presents the Innovation Capability Framework that models innovation knowledge and assesses the innovation capability of organizations for guiding future innovation processes. This framework comprises a conceptual model, a graphical modeling language, and an Innovation Positioning System (IPS), which are supported by an Inno Modeling Tool (InnoTool). Modeling capabilities and the IPS mechanism have been empirically validated through various case studies. In this paper, we present the InnoTool analysis of an exemplar innovative product such as Skype.
2013 39th Euromicro Conference on Software Engineering and Advanced Applications, 2013
ABSTRACT Software Product Line Engineering has significant advantages in family-based software de... more ABSTRACT Software Product Line Engineering has significant advantages in family-based software development. The common and variable structure for all products of a family is defined through a Product-Line Architecture (PLA) that consists of a common set of reusable components and connectors which can be configured to build the different products. The design of PLA requires solutions for capturing such configuration (variability). The Flexible-PLA Model is a solution that supports the specification of external variability of the PLA configuration, as well as internal variability of components. However, a complete support for product-line development requires translating architecture specifications into code. This complex task needs automation to avoid human error. Since Model-Driven Development allows automatic code generation from models, this paper presents a solution to automatically generate AspectJ code from Flexible-PLA models - previously configured to derive specific products. This solution is supported by a modeling framework and validated in a software factory.
2014 47th Hawaii International Conference on System Sciences, 2014
Agile software development pursues to deal with continuous change. But software product architect... more Agile software development pursues to deal with continuous change. But software product architectures without enough flexibility can restrict how products cope with change. However, designing for flexibility often entails high costs and risk that comes with the assumption that change will happen. Actually, in software architecture the flexibility investment decision making problem has become challenging. This paper presents a process to assist architects in MAKing dEcisions about Flexibility investment in Software Architecture (MAKEFlexi). MAKEFlexi is based on technical debt and real options approaches. Technical debt allows for estimating the additional cost derived from the lack of flexibility in software architectures, whereas the real options valuation allows for estimating the value of the flexibility that a design option could provide. MAKEFlexi has been applied to an industry project for smart grids to assist architects in making decisions about designing for flexibility to vary data storage technologies.
2014 47th Hawaii International Conference on System Sciences, 2014
ABSTRACT Innovation is a driver of global economy growth. Software intensive systems (SiSs) are e... more ABSTRACT Innovation is a driver of global economy growth. Software intensive systems (SiSs) are embedded in the systems of various leading sectors, such as the automotive, robotics, and mobile phone industries and they are creating new opportunities for innovation. However, SiSs are affected by a rapidly changing market and a reduced time to market. Software product innovation assessment is becoming important because firms need to know as soon as possible if their products are aligned with the market and customer demands. However, this is not a simple process. To identify the existing assessment schemas applicable to software product innovation, we have undertaken a systematic literature review. We found no studies specific to the development of software, but several approaches for products in general are applicable to software even when no one finding is conclusive. Therefore, this is just the first stage for assessing software product innovation. Our findings are related to three areas of focus: (i) general, (ii) product innovation assessment preparation, (iii) the assessment process.
2013 46th Hawaii International Conference on System Sciences, 2013
ABSTRACT Software architecture is a key factor to scale up Agile Software Development (ASD) in la... more ABSTRACT Software architecture is a key factor to scale up Agile Software Development (ASD) in large software-intensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures (aka. agile architecting). Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change (decision-making) process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory.
One of the main principles of Agile methodologies consists in the early and continuous delivery o... more One of the main principles of Agile methodologies consists in the early and continuous delivery of valuable software by short time-framed iterations. After each iteration, a working product is delivered according to the requirements defined at the beginning of the iteration. Testing tools facilitate the task of checking if the system provides the expected behavior according to the specified requirements. However, since testing tools need to be adapted in order to test new working products in each iteration, a significant effort has to be invested. This work presents a Software Product Line Engineering (SPLE) approach that allows flexibility in the adaption of testing tools with the working products in an iterative way. A case study is also presented using PLUM (Product Line Unified Modeller) as the tool suite for SPL implementation and management.
Communications in Computer and Information Science, 2009
CMMI has been adopted advantageously in large companies for improvements in software quality, bud... more CMMI has been adopted advantageously in large companies for improvements in software quality, budget fulfilling, and customer satisfaction. However SPI strategies based on CMMI-DEV require heavy software development processes and large investments in terms of cost and time that medium/small companies do not deal with. The so-called light software development processes, such as Agile Software Development (ASD), deal with these challenges. ASD welcomes changing requirements and stresses the importance of adaptive planning, simplicity and continuous delivery of valuable software by short time-framed iterations. ASD is becoming convenient in a more and more global, and changing software market. It would be greatly useful to be able to introduce agile methods such as Scrum in compliance with CMMI process model. This paper intends to increase the understanding of the relationship between ASD and CMMI-DEV reporting empirical results that confirm theoretical comparisons between ASD practices and CMMI level2.
2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems, 2009
Test automation is facing a new challenge because tools, as well as having to provide conventiona... more Test automation is facing a new challenge because tools, as well as having to provide conventional test functionalities, must be capable to interact with ever more heterogeneous complex systems under test (SUT). The number of existing software interfaces to access these systems is also a growing number. The problem cannot be analyzed only from a technical or engineering perspective; the economic perspective is as important. This paper presents a process to systematically implement gateways which support the communication between test tools and SUTs with a reduced cost. The proposed solution does not preclude any interface protocol at the SUT side. This process is supported using a generic architecture of a gateway defined on top of OSGi. Any test tool can communicate with the gateway through a unique defined interface. To communicate the gateway and the SUT, basically, the driver corresponding to the SUT software interface has to be loaded.
2013 20th IEEE International Conference and Workshops on Engineering of Computer Based Systems (ECBS), 2013
The term "Smart Product" has become commonly used in recent years. This is because there has been... more The term "Smart Product" has become commonly used in recent years. This is because there has been an increasing interest in these kinds of products as part of the consumer goods industry, impacting everyday life and industry. Nevertheless, the term "Smart Product" is used with different meanings in different contexts and application domains. The use of the term "Smart Product" with different meanings and underlying semantics can create important misunderstandings and dissent. The aim of this paper is to analyze the different definitions of Smart Product available in the literature, and to explore and analyze their commonalities and differences, in order to provide a consensus definition that satisfies, and can therefore be used by, all parties. To embrace the identified definitions, the concept of "Smart Thing" is introduced. The methodology used was a systematic literature review. The definition is expressed as an ontology.
Page 1. A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs Jess... more Page 1. A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs Jessica Dıaz1, Jennifer Pérez1, Juan Garbajosa1, and Alexander L. Wolf2 1 Technical University of Madrid (UPM) - Universidad ...
2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture, 2009
... Jessica Díaz Universidad Politécnica de Madrid, EUInformática, Spain CristóbalCosta-Soria DSI... more ... Jessica Díaz Universidad Politécnica de Madrid, EUInformática, Spain CristóbalCosta-Soria DSIC, Universidad Politécnica de Valencia, Spain ... However, to use these primitives it is necessary to define a graphical metaphor for modeling them. ...
Lecture Notes in Business Information Processing, 2011
Page 1. Prioritization of Features in Agile Product Line Engineering Jessica Dıaz * , Juan Garbaj... more Page 1. Prioritization of Features in Agile Product Line Engineering Jessica Dıaz * , Juan Garbajosa ** , and Jennifer Pérez ** Technical University of Madrid (UPM), SYST Research Group EU Informática. Ctra. Valencia Km. ...
ABSTRACT In current software systems with highly volatile requirements, traceability plays a key ... more ABSTRACT In current software systems with highly volatile requirements, traceability plays a key role to maintain the consistency between requirements and code. Traceability between artifacts involved in the development of software product line (SPL) is still more critical because it is necessary to guarantee that the selection of variants that realize the different SPL products meet the requirements. Current SPL traceability mechanisms trace from variability in features to variations in the configuration of product-line architecture (PLA) in terms of adding and removing components. However, it is not always possible to materialize the variable features of a SPL through adding or removing components, since sometimes they are materialized inside components, i.e., in part of their functionality: a class, a service, and/or an interface. Additionally, variations that happen inside components may crosscut several components of architecture. These kinds of variations are still challenging and their traceability is not currently well supported. Therefore, it is not possible to guarantee that those SPL products with these kinds of variations meet the requirements. This paper presents a solution for tracing variability from features to PLA by taking these kinds of variations into account. This solution is based on models and traceability between models in order to automate SPL configuration by selecting the variants and realizing the product application. The FPLA modeling framework supports this solution which has been deployed in a software factory. Validation has consisted in putting the solution into practice to develop a product line of power metering management applications for smart grids.
Software systems need software architectures to improve their scalability and maintenance. Howeve... more Software systems need software architectures to improve their scalability and maintenance. However, many agile practitioners claim that the upfront design of software architectures is an investment that does not pay off, since customers can rarely appreciate the value delivered by architectures. Furthermore, conventional architectural practices may be considered unacceptable from the Agile values and principles perspective. In this paper, the development of working architectures in agile iterations is presented as an attempt to solve the problem of designing software architectures in Agile. This contribution is based on the new concept of Plastic Partial Component (PPC). PPCs are highly malleable components that can be partially described, what increases the flexibility of architecture design. PPCs based architectures let reinforce some of the agile values and principles. Our experience of putting this contribution into practice is illustrated through the agile development of a Testing Framework for Biogas Plants.
2014 47th Hawaii International Conference on System Sciences, 2014
ABSTRACT The management of distributed and intermittent energy generation is a critical challenge... more ABSTRACT The management of distributed and intermittent energy generation is a critical challenge within the power domain. This challenge has emerged due to the increase of distributed and renewable energy resources in power networks. Smart Grids are a solution to integrate intermittent and dispersed renewable energy and to increase energy efficiency through the introduction of Information and Communication Technologies. However, Smart Grids require new and innovative models, and software architectures that enable Smart Grids to operate in an intelligent and self-managing way. To deal with the intelligent operation of power grids, this paper presents a reference architecture for autonomic power grids. Specifically, this paper focuses on the capability of self-balancing distributed and intermittent energy. It illustrates how this self-balancing capability is implemented and its usefulness for a scenario of a micro grid located in a real setting, in the south of the Spanish region of Ciudad Real.
Page 1. Change Impact Analysis in Product-Line Architectures Jessica Dıaz1, Jennifer Pérez1, Juan... more Page 1. Change Impact Analysis in Product-Line Architectures Jessica Dıaz1, Jennifer Pérez1, Juan Garbajosa1, and Alexander L. Wolf2 1 Technical University of Madrid (UPM) - Universidad Politécnica de Madrid Systems ...
Lecture Notes in Business Information Processing, 2009
... for Enhancing Agile Methodologies Jabier Martinez1, Jessica Diaz2, Jennifer Perez2, and Juan ... more ... for Enhancing Agile Methodologies Jabier Martinez1, Jessica Diaz2, Jennifer Perez2, and Juan Garbajosa2 ... Addison-Wesley Professional, Reading (2006) 3. Highsmith, J., Cockburn, A.: Agile software development: the business of innovation. ...
Proceedings of the First International Workshop on Software Engineering for Systems-of-Systems - SESoS '13, 2013
ABSTRACT Smart Grids are advanced power networks that introduce intelligent management, control, ... more ABSTRACT Smart Grids are advanced power networks that introduce intelligent management, control, and operation systems to address the new challenges generated by the growing energy demand and the appearance of renewal energies. In the literature, Smart Grids are presented as an exemplar SoS: systems composed of large heterogeneous and independent systems that leverage emergent behavior from their interaction. Smart Grids are currently scaling up the electricity service to millions of customers. These Smart Grids are known as Large-Scale Smart Grids. From the experience in several projects about Large-Scale Smart Grids, this paper defines Large-Scale Smart Grids as a SoS that integrate a set of SoS and conceptualizes the properties of this SoS. In addition, the paper defines the architectural framework for deploying the software architectures of Large-Scale Smart Grid SoS.
2014 47th Hawaii International Conference on System Sciences, 2014
The evolution of a new information society and new technologies has led to the involvement of org... more The evolution of a new information society and new technologies has led to the involvement of organizations in a highly competitive business market where innovation plays a key role. Improving the understanding of the innovation process will help organizations bring more competitive solutions to society more promptly. Currently, there are still too few mechanisms that help organizations to model innovation knowledge and measure their innovation capability. To deal with this gap, this paper presents the Innovation Capability Framework that models innovation knowledge and assesses the innovation capability of organizations for guiding future innovation processes. This framework comprises a conceptual model, a graphical modeling language, and an Innovation Positioning System (IPS), which are supported by an Inno Modeling Tool (InnoTool). Modeling capabilities and the IPS mechanism have been empirically validated through various case studies. In this paper, we present the InnoTool analysis of an exemplar innovative product such as Skype.
2013 39th Euromicro Conference on Software Engineering and Advanced Applications, 2013
ABSTRACT Software Product Line Engineering has significant advantages in family-based software de... more ABSTRACT Software Product Line Engineering has significant advantages in family-based software development. The common and variable structure for all products of a family is defined through a Product-Line Architecture (PLA) that consists of a common set of reusable components and connectors which can be configured to build the different products. The design of PLA requires solutions for capturing such configuration (variability). The Flexible-PLA Model is a solution that supports the specification of external variability of the PLA configuration, as well as internal variability of components. However, a complete support for product-line development requires translating architecture specifications into code. This complex task needs automation to avoid human error. Since Model-Driven Development allows automatic code generation from models, this paper presents a solution to automatically generate AspectJ code from Flexible-PLA models - previously configured to derive specific products. This solution is supported by a modeling framework and validated in a software factory.
2014 47th Hawaii International Conference on System Sciences, 2014
Agile software development pursues to deal with continuous change. But software product architect... more Agile software development pursues to deal with continuous change. But software product architectures without enough flexibility can restrict how products cope with change. However, designing for flexibility often entails high costs and risk that comes with the assumption that change will happen. Actually, in software architecture the flexibility investment decision making problem has become challenging. This paper presents a process to assist architects in MAKing dEcisions about Flexibility investment in Software Architecture (MAKEFlexi). MAKEFlexi is based on technical debt and real options approaches. Technical debt allows for estimating the additional cost derived from the lack of flexibility in software architectures, whereas the real options valuation allows for estimating the value of the flexibility that a design option could provide. MAKEFlexi has been applied to an industry project for smart grids to assist architects in making decisions about designing for flexibility to vary data storage technologies.
2014 47th Hawaii International Conference on System Sciences, 2014
ABSTRACT Innovation is a driver of global economy growth. Software intensive systems (SiSs) are e... more ABSTRACT Innovation is a driver of global economy growth. Software intensive systems (SiSs) are embedded in the systems of various leading sectors, such as the automotive, robotics, and mobile phone industries and they are creating new opportunities for innovation. However, SiSs are affected by a rapidly changing market and a reduced time to market. Software product innovation assessment is becoming important because firms need to know as soon as possible if their products are aligned with the market and customer demands. However, this is not a simple process. To identify the existing assessment schemas applicable to software product innovation, we have undertaken a systematic literature review. We found no studies specific to the development of software, but several approaches for products in general are applicable to software even when no one finding is conclusive. Therefore, this is just the first stage for assessing software product innovation. Our findings are related to three areas of focus: (i) general, (ii) product innovation assessment preparation, (iii) the assessment process.
2013 46th Hawaii International Conference on System Sciences, 2013
ABSTRACT Software architecture is a key factor to scale up Agile Software Development (ASD) in la... more ABSTRACT Software architecture is a key factor to scale up Agile Software Development (ASD) in large software-intensive systems. Currently, software architectures are more often approached through mechanisms that enable to incrementally design and evolve software architectures (aka. agile architecting). Agile architecting should be a light-weight decision-making process, which could be achieved by providing knowledge to assist agile architects in reasoning about changes. This paper presents the novel solution of using change-impact knowledge as the main driver for agile architecting. The solution consists of a Change Impact Analysis technique and a set of models to assist agile architects in the change (decision-making) process by retrieving the change-impact architectural knowledge resulting from adding or changing features iteration after iteration. To validate our approach, we have put our solution into practice by running a project of a metering management system in electric power networks in an i-smart software factory.
One of the main principles of Agile methodologies consists in the early and continuous delivery o... more One of the main principles of Agile methodologies consists in the early and continuous delivery of valuable software by short time-framed iterations. After each iteration, a working product is delivered according to the requirements defined at the beginning of the iteration. Testing tools facilitate the task of checking if the system provides the expected behavior according to the specified requirements. However, since testing tools need to be adapted in order to test new working products in each iteration, a significant effort has to be invested. This work presents a Software Product Line Engineering (SPLE) approach that allows flexibility in the adaption of testing tools with the working products in an iterative way. A case study is also presented using PLUM (Product Line Unified Modeller) as the tool suite for SPL implementation and management.
Uploads
Papers by Jéssica Diaz