Soft Computing Approaches to Continuous Software EngineeringView this Special Issue
Library-Based Overview of Multicriteria Decision Making for Continuous Software Improvement for Internet of Software Industry
The revolution in software development is increasing with the use of advanced techniques and tools. Software development organizations are considering standards, methods, approaches, and tools to support them in maintaining the effectiveness of software. An effective implementation of software process improvement (SPI) is important in order to gain effectiveness in the software industry. Disasters are happening in software projects and industry of software, which hinder the success of software and ultimately lead the software to failure. Peoples of organizations are demanding to devise methodological approaches for reducing the failure rate of software, but it perceived slight success. The proposed study’s aim is to offer multicriteria decision making for continuous Internet of software industry and to report the literature to early decision making associated to software developments. The study has devised a comprehensive overview of the existing methodological approaches, tools, and mechanisms applied in software improvement for the software industry and is based on multicriteria decision making. The research has analyzed the available literature from different perspectives and then reported it. The results of the study will help researchers to devise new solutions for effective software process improvement, and the this study will consider as a support of evidence.
Nowadays, innovation in the field of software development is rising. Organizations of software development are looking for methods, approaches, and tools to support them in maintaining their effectiveness. An effective employment of SPI is significant in order to gain effectiveness. Often, obstacles are involved due to the lack of information to choose the precise implementation in the SPI. Multimodel situations enable application of paramount to various reference models and can support the selection of the accurate execution of enhancements. From this perspective, the efficient incorporation of standards and models can play a significant role in implementing multimodel environments as reference helping tools. However, the approaches of multimodel comprehend the difficulties associated with the lack of knowledge for managing the information and the precise incorporation of various standards and models. To overcome such limitations, the technologies of knowledge management have demonstrated the high support for sharing of knowledge and system incorporation. Mejia et al.  presented a framework of ontology based on the approach of a multimodel for facilitating and supporting SPI for small and medium companies. This was considered for life cycle process improvement (LCPI). LCPI follows the required actions in a thoughtful, planned, and methodological way necessary in each stage of life cycle software development, enabling to improve the process of existing needs of organization. The work was validated, and performance of the framework is shown with a case study.
Scientific research studies are mostly tough, and the software should make it easier. Generic practices of development and management in software engineering have shown to be reliable in the projects of scientific software, and the implementation of these practices has been inadequate. J. Li et al.  presented the analytic network process for attribute-based decision-making for the selection of requirement elicitation techniques. They have defined some criteria, and on the basis of those criteria, the selection of elicitation techniques has been done. Nazir et al.  presented a systematic literature review of the multicriteria decision making and deep learning algorithms for big data. They have systematically analyzed the literature and presented comprehensive reviews of the literature associated with the given area of research. In continuation to this, the authors have presented a decision support system for security evaluation of components through fuzzy logic-based approach. The approach is based on membership function and fuzzy rules. On the basis of the defined inputs, membership function, and fuzzy rules, a model is obtained which decides about the best choices of secure components . Hao et al.  presented multicriteria decision support system and IIoT for transformation of source code. Decision support systems (DSSs) play a significant role in the decision of systems, such as lightweight blockchain system . Yang et al.  presented algorithms of deep learning and multicriteria decision making and its applications in big data. They have presented a comprehensive summary of the present literature related to the area of interest. Zhang et al.  offered machine learning algorithms and multicriteria decision for component security assessment. Their approach is based on the library-based search process of the present literature with comprehensive details of the area of research.
Organizations and peoples are trying to develop methodological approaches for reducing the failure rate, but they not successfully achieve it. The proposed research’s aim is to offer multicriteria decision making for continuous Internet of software industry and to present the literature regarding early decision making concerning software developments. The involvement of the present study is to offer a wide-ranging overview of the prevailing literature for SPI. The study is grounded on the library-based search process of the literature in famous libraries. The proposed study was considered with the aim to study the existing literature available in the famous libraries associated to the given area of interest and to present a comprehensive insight of the literature. Various famous libraries were searched in order to obtain relevant materials for conducting the proposed study. The reason behind these libraries was that these libraries are publishing peer reviewed and quality materials.
The paper is organized as follows; Section 2 describes the SPI in software industry. Section 3 describes the multicriteria decision making for continuous software improvement. Section 4 briefly reprints library-based overview of work done in the area. Conclusion section of the paper is given in Section 5.
2. Software Process Improvement in Industry
Kayanda et al.  have proposed a solution for the process of timetabling incorporating on students academic register information system for the enhanced decision-making in the context of higher education in Tanzania. Abrahamsson  recommended that through the idea of commitment operationalization, comprehension is delivered in enhancing the processes of software. Results of the study are reported from five interviews with processionals of the SPI for the recommended behavior-based commitment model along with results from the empirical tests in 14 projects of SPI. Kituyi and Amulen  analyzed the software capability maturity model effectiveness applications in small software developing enterprises and recognized that the model was crucial in implementing in such organizations. The study has designed an adoption model for software capability maturity based on only those factors and then made them link to medium and small enterprises. The model was validated through case study and methods of expert judgement. The software developers and experts specified that the suggested model is highly appropriate for medium and small enterprises. Niazi et al.  presented an investigative study of Turkish software development and organizations. The study has covered the research questions of what practitioners of software think about SPI project accomplishment. The study was carried out with 27 Turkish software development organizations for identifying and analyzing significant SPI features contributing to the accomplishment of SPI projects. The study discovered that increased profession recognition, professional growth, providing technical support, adoption of existing technologies, project planning, strong leadership, monitoring of project risks, and commitment are more ranked features contributing toward the accomplishment of SPI initiatives.
Yu et al.  formally described the measurement indexes, trustworthy software, and trustworthy process and presented a model of trustworthy process improvement and measurement. Béland and Abran  presented a framework of quantity management to continue enhancing initiatives for ensuring sustainability of earnings and value in software intensive organizations. The study has proposed three groups of measures for monitoring the change impact defined by continuous improvement initiatives, a performance measurement system, a network of dashboards, and strategy management system. The experimental study of the work was done on two organizations with tailored and quantities models and a tool to support decision making in all levels of management. Becker et al.  discussed leveraging scale opportunities in case of recurring scenarios of comparable decisions with various objectives in well-known domains. According to the ranking of software components and its selection approach which uses utility analysis for separation, objective information collection, and subjective evaluation, the decision making challenges are discussed. These challenges include the assessment effort and the complexity of criteria. The study has shown that through identification of criteria, cases become feasible for employing cross-referencing and quantities evaluation of decision criteria and criteria sets for scenarios and organization in improving decision-making. The study has presented a tool and technique allowing referencing decision criteria across cases and employing a set of impact factors for decision criteria and sets of criteria. Real-world case studies have been considered for the evaluation and analysis of the results. Implications and applications of the approach and its possibilities for improving decision making effectively are analyzed. Mesh and Hawker  presented an approach of grounded theory to determine the driving factors of activities of scientific software process planning to produce supportive data for a suggested scientific software process enhancement.
Pino et al.  proposed an approach of lightweight process called “lightweight process to incorporate impartments” which consider suitable strategies for organization type. The approach is using the Scrum agile technique to aim guidelines to support the performance and management of integrated improvements within the processes and practices in small companies. The approach is validated with the help of case study. Huang et al.  presented an approach of noninvasive, quiescent, and adoption centric for enhancement of process of software maintenance. The approach aims of increasing the performance of current processes by reducing modifications to exiting workflows and focus on incorporating progresses at the microlevel of the system. The approach is demonstrated with a model problem regarding re-documentation of an embedded control system in the perspective of carrying out high quality software maintenance. Bouwers et al.  presented an approach for analyzing balance of component and dependency profiles, through the challenges elaborated in employing the metrics in the industry environment. The study has explored the effectiveness of the metrics through conducting semistructured interviews with skilled assessors. The approach has documented lesson learned both for the applications of these explicit metrics and the technique for assessing practice metrics. Boerman et al.  presented an approach of Goal Questions Metric for deriving a set of metrics from the goals of project owners. The metrics defined in the proposed approach were measured through mostly product backlog data. The effectiveness, reliability, and feasibility of the approach are validated with the case study.
3. Multicriteria Decision Making to Continuous Software Improvement
Cartaxo et al.  presented an action research for evaluating rapid review (RR) insertion in a real-world development of software project. The experimental results demonstrated that practitioners are rather positive regarding RRs. The study has shown to have learned novel ideas, reducing cost of decision making and time and enhancing the understanding regarding the problem. Omasreiter  presented generic thoughts regarding balanced decision making in software engineering and drafted a concise example for a lightweight, value oriented process enhancement approach. Srividya et al.  presented the analytic network process for selection of the most significant phases in the presence of interdependencies. For showing the effectiveness of the planned method, a case study of software development for financial application was presented. Vongvichien  discussed the group decision support system (GDSS) development of software with the efficient functionalities for enhancing interaction of group in face-to-face mode of brainstorming. Multilanguage input abilities including Thai and generic connection of keyboard through USB was presented. Aim of the developed software was facilitation, improvement, and effectiveness of participatory learning of groups of foreign and Thai students. The system of GDSS can be considered for decision making in the environment of business group. For overcoming the shy nature of people of Thai, the choice of nonidentification of participant features is incorporated in the GDSS. Software reusability is increasing significant improvements and productivities during software development. Dependencies exist in the APIs, and external libraries can impact strategic decision making during development and maintenance of software system, which is ultimately producing risk to software project. A complete understanding is required for informed decision making of the nature of dependencies. Bauer and Heinemann  presented an automated technique for analyzing the dependencies of software project against external APIs. A static analysis tool is considered for featuring a visualization of the analysis results. The research and the tooling is evaluated with the help of various open source Java systems.
Mesh et al.  designed a hybrid scientific SPI framework for allowing developers of scientific software for making software engineering process enhanced decisions tailored to their own objectives. Dasanayake et al.  presented the decision making practices of software architecture with the case study in three diverse European companies. Various decision making practices of software architecture which are followed by different software teams along with the reasons of following them are presented. The challenges faced and the potential improvements from the perspectives of software architects are presented. Pedraza-García et al.  proposed a strategy for enriching the software design activities through business process management notation in a well, strong, and reliable way for keeping the focus on decision. The approach includes “asis” as process definition, analysis, and improvement of the original process, and “to-be” as process transformation, which allow us to originate enriched process. Training and experience are gained by the software engineers for optimization process of software developments. Mesh et al.  have outlined to address the empirical, theoretical, and practical challenges of decision makers’ skill levels to effectively self-drive their SPI effort based on their individual constraints and goals. Esmaeilzadeh et al.  proposed a study with the aim to enhance the skills of system of systems engineering by mounting an agent base model of team collaboration in operational system of systems. The approach select and evaluate systems decision containing of cooperative teams resulting in greater performance. The suggested approach was applied to validate the decision making of team improvements within the structure of system of systems of the domain of air transportation. Results of the experiments revealed that the proposed approach has significantly enhanced the decision workload, decision coordination, and complete mission performance in the domain of air transportation. The study has contributed for the agent based modelling of team of system of systems and support with assessing decision and enhancing decision making of team as significant element in the field of software engineering.
Failures are occurring in software projects. Software projects sometime fail. People and organizations are trying to devise approaches to reduce the failure rate of software projects, but it perceived slight success. Jiang et al.  determined project performance in association to the project activities at several maturity levels. A study has specified that the associated activities with management control of improvement interrelated confidently to measures of project performance. While, not every level has indicated recognizable benefits, demonstrated that high caution is required in implementing activities. Baddoo and Hall  presented software practitioners motivation analysis for software process improvement. Empirical study was conducted on SPI based on 13 software companies with the focus groups of 200 practitioners. The study aim was to efficiently understand about companies improvement support of practitioners for software process improvement. The study has introduced multidimensional scaling usage in the research of SPI. Multidimensional scaling is an approach of data analysis for generating rich visual understanding of human issues. Debou and Lipthk  have demonstrated the details of application of metrics in industry (ami) and its rationale. Across Europe, practical experience employing ami is discussed with a special focus on how the process of software development was measured and enhanced. The study has lastly highlighted the metrication costs. Dyba  started a study for exploring the associated significance of organization issues in SPI. The research was based on pilot case study, with various case studies of twelve organizations, and quantitative survey of 120 software organizations. The results of the study have shown that the key to effective learning is incessant and concurrent dialectic interplay between the knowledge established by the organization and members of the organization. The significant differences between large and small organizations are shown in the study.
4. Library-Based Overview of the Existing Research in the Area
Software organizations are considering effective decision making as one of the significant parts of the software for their organization. Huge amounts of cost and time are invested in inefficient decisions which can ultimately reduce the overall performance surrounded by the organization. Improved system engineering tools and process are desirable during development life cycle for making decisions and to speedily evaluate various design alternatives for effective selection of the design strategies for achieving maximum performance. Various approaches are being practiced for recognizing the significance of design and development decisions, but typically most of them are not providing a way to systematically manage and formalize the decision making process. Omasreiter  presented generic thoughts regarding balanced decision making in software engineering and drafted a concise example for a lightweight, value oriented process enhancement approach. Software engineering is mostly preserved as technical challenge. Though, specifically in the industry of software, value of the software engineering activities are analyzed. For making economical balanced decision, much value during software project is desired.
The proposed study was considered with the aim to study the existing literature available in the famous libraries associated to the given area of interest and to present a comprehensive insight of the literature. Various well-known libraries were searched for obtaining important material for showing the planned research. Figure 1 briefly describes search process along with research papers published in the given mentioned libraries.
After describing the initial search results, it was further elaborated that each library should be checked for its associated materials. Figure 2 represents the search process performed in the library of ACM.
The IEEE library was examined for identifying associated sources, which is given in Figure 3.
The ScienceDirect library was searched to identify relevant materials, and it was considered that the most associated results will be presented. Figure 4 describes the search process in the library of ScienceDirect.
The Springer library was considered for finding the relevant details of the materials published in the areas of research under consideration. The details of the associated materials are shown in Figure 5. The figure depicts various disciplines of the research in the area where more materials are published in the discipline of computer science and artificial intelligence.
The Wiley Online Library was considered to study the related materials to current study. Figure 6 represents the search process in the given library.
The Taylor and Francis library was also searched to get associated materials. Figure 7 depicts the search process in the given library. The figure shows that there is increase in the number of research work year wise. More research articles were published in the year 2020.
Finally, the library of MDPI was examined for identification of applicable materials in given library. The purpose of considering these libraries was to find more related materials published to current study. Figure 8 represents the search process for the library of MDPI.
With the passage of time, revolution in software development is growing. Organizations of software development are looking for methods, approaches, and tools to support them in maintaining their effectiveness. An effective implementation of SPI is important in order to gain success and effectiveness. Disasters are occurring in software projects and industries of software which delay the success of software and eventually lead the software to letdown and failure. Peoples of organizations are demanding to devise methodological approaches for reducing the failure rate of software, but it perceived slight success. The aim of the current study is to offer a comprehensive overview on multicriteria decision making for continuous Internet of software industry. The study has devised an overview of the existing methodological approaches, tools, and mechanisms applied in software improvement for software industry and is based on multicriteria decision making. The study has designed search strategies for identification of associated materials in famous libraries. Various analyses have been done which are shown in figures. This analysis is based on different famous libraries. This study will help researchers to plan way-out for effective software process improvement. In future, the proposed study can be extended to various libraries in order to achieve further materials for showing the related work in the area, and then the work will be validated through some machine learning and statistical tools.
No data were used to support this study.
Conflicts of Interest
The authors declare that they have no conflicts of interest.
This study was supported by the Education Reform Project of Sichuan Province (grant no. JG2018987) and Shenzhen Free Exploration Project for Basic Research of Science and Technology Program (grant no. JCYJ20180306174135470).
S. Nazir, S. Shahzad, S. Mahfooz, and M. N. Jan, “Fuzzy logic based decision support system for component security evaluation,” International Arab Journal of Information and Technology, vol. 15, no. 2, pp. 224–231, 2015.View at: Google Scholar
Y. Meng, S. Nazir, J. Guo, and I. Uddin, “A decision support system for the uses of Lightweight blockchain designs for P2P computing,” Peer-to-Peer Networking and Applications, 2021.View at: Google Scholar
A. Kayanda, L. Busagala, and M. Tedre, “Design and implementation of timetabling software for an improved decision making at the Tanzanian higher education context: a design science approach,” in Proceedings of the 2019 IEEE, vol. 25-27, pp. 1–4, Accra, Ghana, September 2019.View at: Publisher Site | Google Scholar
S. Béland and A. Abran, “A measurement framework to support continuous improvement in software intensive organizations,” in Proceedings of the 2012 Joint Conference of the 22nd International Workshop on Software Measurement and the 2012 Seventh International Conference on Software Process and Product Measurement, pp. 215–220, October 2012.View at: Publisher Site | Google Scholar
C. Becker, M. Kraxner, M. Plangg, and A. Rauber, “Improving decision support for software component selection through systematic cross-referencing and analysis of multiple decision criteria,” in Proceedings of the 2013 46th Hawaii International Conference on System Sciences, vol. 7-10, pp. 1193–1202, Maui, HI USA, January 2013.View at: Publisher Site | Google Scholar
E. S. Mesh and J. S. Hawker, “Scientific software process improvement decisions: a proposed research strategy,” in Proceedings of the 2013 5th International Workshop on Software Engineering for Computational Science and Engineering (SE-CSE), pp. 32–39, San Francisco, CA, USA, May 2013.View at: Publisher Site | Google Scholar
H. Shihong, S. Tilley, M. VanHilst, and D. Distante, “Adoption-centric software maintenance process improvement via information integration,” in Proceedings of the 13th IEEE International Workshop on Software Technology and Engineering Practice (STEP'05), Budapest, Hungary, 2005.View at: Publisher Site | Google Scholar
E. Bouwers, A. v. Deursen, and J. Visser, “Evaluating usefulness of software metrics: an industrial experience report,” in Proceedings of the 2013 International Conference on Software Engineering, San Francisco, CA, USA, 2013.View at: Google Scholar
M. P. Boerman, Z. Lubsen, D. A. Tamburri, and J. Visser, “Measuring and monitoring agile development status,” in Proceedings of the Sixth International Workshop on Emerging Trends in Software Metrics, Florence, Italy, 2015.View at: Google Scholar
B. Cartaxo, G. Pinto, and S. Soares, “The role of rapid reviews in supporting decision-making in software engineering practice,” in Proceedings of the 22nd International Conference on Evaluation and Assessment in Software Engineering 2018, Christchurch, New Zealand, 2018.View at: Google Scholar
H. Omasreiter, “Balanced decision making in software engineering--general thoughts and a concrete example from industry,” in Proceedings of the 2007 First International Workshop on the Economics of Software and Computation, p. 4, Minneapolis, MN, USA, May 2007.View at: Publisher Site | Google Scholar
A. Srividya, K. K. Mohan, and A. K. Verma, “Improvement of QoS in process centric software development using ANP,” in Proceedings of the 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement, pp. 451-452, Shanghai, China, July 2009.View at: Publisher Site | Google Scholar
J. Vongvichien, “The development of GDSS to support group decision making through the improvement of the participation of Thai graduate students,” in Proceedings of the PICMET 2010 Technology Management For Global Economic Growth, pp. 1–4, Shanghai, China, 2010.View at: Google Scholar
S. Dasanayake, J. Markkula, S. Aaramaa, and M. Oivo, “Software architecture decision-making practices and challenges: an industrial case study,” in Proceedings of the 2015 24th Australasian Software Engineering Conference, vol. 28, pp. 88–97, Adelaide, Australia, 2015.View at: Publisher Site | Google Scholar
G. Pedraza-García, H. Astudillo, and D. Correal, “Modeling software architecture process with a decision-making approach,” in Proceedings of the 2014 33rd International Conference of the Chilean Computer Science Society (SCCC), pp. 1–6, Maule, Chile, November 2014.View at: Publisher Site | Google Scholar
E. S. Mesh, D. M. Tolar, and J. S. Hawker, “Exploring process improvement decisions to support a rapidly evolving developer base,” in Proceedings of the 2016 IEEE/ACM 38th International Conference on Software Engineering Companion (ICSE-C), pp. 777–780, Austin, TX, USA, May 2016.View at: Google Scholar