The growing interest of organizations in improving their software processes has led them to aim at achieving high maturity, where statistical process control (SPC) is required. One of the challenges ...involved in performing SPC is selecting measures suitable for it. Measures used in SPC can be found in the literature and can be reused by organizations, but the information is dispersed, not favoring reuse. From measures suggested in the literature or used in practical experiences, it is possible to identify patterns that can be used to support organizations in measurement planning. Patterns can be organized as pattern languages, which favor reuse and contribute towards increasing productivity. In this work, from the results of a systematic mapping and a survey, we identified measurement planning patterns in the Goal-Question-Metric format and organized them in a Measurement Planning Pattern Language (MePPLa). MePPLa was created by following a Systematic Approach for creating Measurement Planning Pattern Languages (SAMPPLa), also defined in this work. This paper presents SAMPPLa, MePPLa and the main results of a study carried out to evaluate MePPLa. The results showed that using MePPLa is viable and useful to aid in software measurement planning. Mainly, MePPLa contributes to increasing productivity when creating a measurement plan and the quality of the resulting measurement plan.
Project management is a key process for software projects. Nowadays, there are several tools that support project management activities. However, the existence of such tools did not eliminate the use ...of documents for documenting the outcomes of the project management process. Text documents and spreadsheets are used to support communication between stakeholders and understanding about the project. These documents are generally developed to be understood by humans and not by computers. Thus, the access to the document content typically depends on human intervention. Retrieving information from documents can be not trivial, especially when it is distributed in several documents. A semantic documentation approach can be used to deal with this issue. Combining ontologies and documents by adding semantic annotations to documents makes the document content interpretable by computers and can help diminish the burden of gathering information later on. In this paper, we present a semantic documentation approach for supporting software project management, providing a way to get useful information from data recorded in documents and spreadsheets related to scope, time and cost management. For this, we developed the first version of a Software Project Management Ontology, which is integrated into the Software Engineering Ontology Network. This ontology is used to annotate documents and spreadsheets and to develop features to support scope, time and cost management activities. These features were implemented in the Infrastructure for Managing Semantic Documents in Software Project Management, which was evaluated through an experimental study.
During the execution of software projects, it is necessary to collect, store and analyze data to support project and organizational decisions. Software measurement is a fundamental practice for ...project management and process improvement. It is present in the main models and standards that address software process improvement, such as ISO/IEC 12207, CMMI and MR MPS.BR. In order to effectively perform software measurement, it is necessary an infrastructure to support data collection, storage and analysis. This infrastructure can be defined by means of an architecture, which describes the components necessary to support software measurement. In this paper we present the main results obtained from a systematic mapping study that investigated software measurement architectures and an approach proposed aiming to help organizations define software measurement architectures.
Measurement is a key process to support organizations in managing and improving processes, products and services. The literature on IT (Information Technology) Service states that IT services should ...support critical business processes and should be measured in order to provide useful information for decision-making. However, there is a lack of clear guidance regarding what should be measured and which critical business processes should be considered.
We conducted this work aiming to answer the research question: How to support identification of IT service goals, strategies and indicators at different organizational levels and aligned to business goals?
We defined SINIS, a method to identify Goals, Strategies and Indicators for IT Services, which has been developed to support IT service departments in identifying IT service goals, strategies and indicators to provide information for decision-making at different organizational levels and in alignment with business goals. SINIS supports defining strategies to achieve IT service goals, and identifying indicators to evaluate the strategies and goals achievement. SINIS is based on process improvement approaches (mainly GQM+Strategies) and approaches related to IT service management (mainly COBIT Goals Cascade)
SINIS was used in a case study in the IT Infrastructure and IT Security departments of a large global company. Results showed that participants were able to build the GQM+Strategies Grid and discard useless indicators. In addition, team members became more devoted to measurement and strategies, and better understood relations between goals, strategies and indicators. Templates, examples and checklists useful to learn how to execute SINIS and to properly record the produced results were used by the study participants.
Initial evidences show that SINIS supports building the GQM+Strategies Grid and helps IT service departments to define strategies and identify useful indicators, contributing to focus efforts on strategies aligned to IT service and business goals.
Human–Computer Interaction (HCI) is a complex communication phenomenon involving human beings and computer systems that gained large attention from industry and academia with the advent of new types ...of interactive systems (mobile applications, smart cities, smart homes, ubiquitous systems and so on). Despite of its importance, there is still a lack of formal and explicit representations of what the HCI phenomenon is. In this paper, we intend to clarify the main notions involved in the HCI phenomenon, by establishing an explicit conceptualization of it. To do so, we need to understand what interactive computer systems are, which types of actions users perform when interacting with an interactive computer system, and finally what human–computer interaction itself is. The conceptualization is presented as a core reference ontology, called HCIO (HCI Ontology), which is grounded in the Unified Foundational Ontology (UFO). HCIO was evaluated using ontology verification and validation techniques and has been used as core ontology of an HCI ontology network.
Human–Computer Interaction (HCI) is a multidisciplinary area that involves a diverse body of knowledge and a complex landscape of concepts, which can lead to semantic problems, hampering ...communication and knowledge transfer. Ontologies have been successfully used to solve semantics and knowledge-related problems in several domains. This paper presents a systematic literature review that investigated the use of ontologies in the HCI domain. The main goal was to find out how HCI ontologies have been used and developed. 35 ontologies were identified. As a result, we noticed that they cover different HCI aspects, such as user interface, interaction phenomenon, pervasive computing, user modeling / profile, HCI design, interaction experience and adaptive interactive system. Although there are overlaps, we did not identify reuse among the 35 analyzed ontologies. The ontologies have been used mainly to support knowledge representation and reasoning. Although ontologies have been used in HCI for more than 25 years, their use became more frequent in the last decade, when ontologies address a higher number of HCI aspects and are represented as both conceptual and computational models. Concerning how ontologies have been developed, we noticed that some good practices of ontology engineering have not been followed. Considering that the quality of an ontology directly influences the quality of the solution built based on it, we believe that there is an opportunity for HCI and ontology engineering professionals to get closer to build better and more effective ontologies, as well as ontology-based solutions.
•Organizations often use different applications to support the Scrum process•Useful data for decision-making is spread in different applications•Data integration to support the Scrum process needs to ...address semantic issues•A Scrum Reference Ontology (SRO) is proposed•SRO is used in application integration to provide data to decision-making
Organizations often use different applications to support the Scrum process, including project management tools, source repository and quality assessment tools. These applications store useful data for decision-making. However, data items often remain spread in different applications, each of which adopt different data and behavioral models, posing a barrier for integrated data usage. As a consequence, data-driven decisions in agile development are uncommon, missing valuable opportunities for informed decision making.
Considering the need to address semantic issues to properly integrate applications that support the agile development process, we aim to provide a common and comprehensive conceptualization about Scrum in the software development context and apply this conceptualization to support application integration.
We have developed the Scrum Reference Ontology (SRO) and used it to semantically integrate Azure DevOps and Clockify.
SRO served as a reference model to build software artifacts in a semantic integration architecture that enables applications to automatically share, exchange and combine data and services. The integrated solution was used in the software development unit of a Brazilian government agency. Results demonstrate that the integrated solution contributed to improving estimates, provided data that helped allocate teams, manage team productivity and project performance, and enabled to identify and fix problems in the Scrum process execution.
SRO can serve as an interlingua for application integration in the context of Scrum-process support. By capturing the conceptualization underlying Scrum, the reference ontology can address semantic conflicts and thereby support the development of integrated data-driven solutions for decision making.
The new ways of interacting with computers, smartphones, and other devices have brought new challenges, such as the need to ensure that different types of users can easily use the same system. ...Adaptive User Interface (AUI) systems have been recognized as a solution to this matter. They change the user interface to better meet the needs of different users. However, developing such systems is not trivial. It is necessary to capture the users’ characteristics and preferences and constantly adapt the system accordingly. In this paper, we discuss the use of ontologies to support the development of AUI systems. We argue that by providing structured knowledge about such systems, ontologies help understand how they work and offer a basis to structure them, identify the necessary adaptations and implement mechanisms to make them happen in run-time. We have explored the use of ontologies from an ontology network (i.e., networked ontologies) to develop a social network about academic subjects that automatically adapts its interface according to the low vision and colorblind user’s needs and usage characteristics. This exploratory study showed that using networked ontologies to develop an AUI system is useful and feasible. The ontology was useful at the conceptual level by serving as a basis to define the system’s structural model and at the operational level by providing the semantics used in a reasoning engine to adapt the UI at run-time. The first version of an ontology-based process to guide the development of AUI systems emerged from this experience and it is also presented in this paper.
Context: Software measurement is a fundamental practice to support process improvement and project management, since it provides useful data for decision making at both organizational and project ...levels. Due to the nature of software measurement activities, the use of computational supporting tools is essential. Software measurement can be performed in the context of various software processes and these processes generally have different supporting tools. Thus, it is common to use several tools to allow collecting data regarding the processes. Tools are usually developed at different time, by different teams and without concern for integration. As a result, organizations have to deal with integration issues to enable communication between tools and to properly support the measurement process. A key factor for integration is that tools share a common understanding regarding the meaning of the exchanged terms and services. In other words, it is important to deal with integration not only at the syntactic level, but also at the semantic level. Among the instruments used to address semantics, ontologies have been acknowledged as an important means to address semantic integration. Objective: This paper presents the Ontology-Based Approach for Measurement Systems Integration (OBA-MSI), an approach that uses ontologies as a basis to integrate tools aiming at supporting the software measurement process. Method: OBA-MSI was developed following the Design Science Research paradigm. To evaluate OBA-MSI, we carried out a case study in which we used the approach to integrate tools for a real software development organization. After that, we applied a survey to get feedback from users of the integrated solution. Results: The users stated that the integrated solution obtained from applying OBA-MSI properly supported the software measurement process and added value to the organization, providing more benefits than using the tools in isolation. Conclusions: The use of OBA-MSI to aid tools integration helps deal with semantic conflicts and contributes to obtain a proper support to the software measurement process.
•Ontology-Based Approach for Measurement Systems Integration (OBA-MSI) is proposed.•OBA-MSI helps organizations to establish a proper software measurement process.•OBA-MSI guides tool integration to support the software measurement process.•An integration initiative using OBA-MSI was performed.•First results showed OBA-MSI is viable and helps improve software measurement.