Abstract

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.

1. Introduction

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. [1] 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. [2] 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. [3] 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 [4]. Hao et al. [5] 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 [6]. Yang et al. [7] 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. [8] 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. [9] 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 [10] 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 [11] 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. [12] 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. [13] formally described the measurement indexes, trustworthy software, and trustworthy process and presented a model of trustworthy process improvement and measurement. Béland and Abran [14] 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. [15] 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 [16] 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. [17] 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. [18] 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. [19] 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. [20] 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. [21] 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 [22] 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. [23] 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 [24] 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 [25] 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. [26] 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. [27] 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. [28] 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. [29] 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. [30] 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. [31] 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 [32] 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 [33] 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 [34] 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 [22] 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.

5. Conclusion

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.

Data Availability

No data were used to support this study.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

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).