Searcharxiv⌕ Search

arXiv subjects

Luiz Fernando Capretz

Publications and source records attributed to Luiz Fernando Capretz.

At least 73 records · Page 4Linked to original sources

Grouping Environmental Factors Influencing Individual Decision-Making Behavior in Software Projects: A Cluster Analysis

An individual decision-making behavior is heavily influenced by and adapted to external environmental factors. Given that software development is a human-centered activity, individual decision-making behavior may affect the software project quality. Although environmental factors affecting decision-making behavior in software projects have been identified in prior literature, there is not yet an objective and a full taxonomy of these factors. Thus, it is not trivial to manage these complex and diverse factors. To address this deficiency, we first design a semantic similarity algorithm between words by utilizing the synonymy and hypernymy relationships in WordNet. Further, we propose a method to measure semantic similarity between phrases and apply it into k-means clustering algorithm to group these factors. Subsequently, we obtain a taxonomy of the environmental factors affecting individual decision-making behavior in software projects, which includes eleven broad categories, each containing two to five sub-categories. The taxonomy presented herein is obtained by an objective method, and quite comprehensive, with appropriate references provided. The taxonomy holds significant value for researchers and practitioners; it can help them to better understand the major aspects of environmental factors, also to predict and guide the behavior of individuals during decision making towards a successful completion of software projects.

cs.SE↗

Finding an Effective Classification Technique to Develop a Software Team Composition Model

Ineffective software team composition has become recognized as a prominent aspect of software project failures. Reports from results extracted from different theoretical personality models have produced contradicting fits, validity challenges, and missing guidance during software development personnel selection. It is also believed that the technique/s used while developing a model can impact the overall results. Thus, this study aims to: 1) discover an effective classification technique to solve the problem, and 2) develop a model for composition of the software development team. The model developed was composed of three predictors: team role, personality types, and gender variables; it also contained one outcome: team performance variable. The techniques used for model development were logistic regression, decision tree, and Rough Sets Theory (RST). Higher prediction accuracy and reduced pattern complexity were the two parameters for selecting the effective technique. Based on the results, the Johnson Algorithm (JA) of RST appeared to be an effective technique for a team composition model. The study has proposed a set of 24 decision rules for finding effective team members. These rules involve gender classification to highlight the appropriate personality profile for software developers. In the end, this study concludes that selecting an appropriate classification technique is one of the most important factors in developing effective models.

cs.SE↗

Direct and mediating influences of user-developer perception gaps in requirements understanding on user participation

User participation is considered an effective way to conduct requirements engineering, but user-developer perception gaps in requirements understanding occur frequently. Since user participation in practice is not as active as we expect and the requirements perception gap has been recognized as a risk that negatively affects projects, exploring whether user-developer perception gaps in requirements understanding will hinder user participation is worthwhile. This will help develop a greater comprehension of the intertwined relationship between user participation and perception gap, a topic that has not yet been extensively examined. This study investigates the direct and mediating influences of user-developer requirements perception gaps on user participation by integrating requirements uncertainty and top management support. Survey data collected from 140 subjects were examined and analyzed using structural equation modeling. The results indicate that perception gaps have a direct negative effect on user participation and negate completely the positive effect of top management support on user participation. Additionally, perception gaps do not have a mediating effect between requirements uncertainty and user participation because requirements uncertainty does not significantly and directly affect user participation, but requirements uncertainty indirectly influences user participation due to its significant direct effect on perception gaps. The theoretical and practical implications are discussed, and limitations and possible future research areas are identified.

cs.SE↗

Soft Sides of Software

Software is a field of rapid changes: the best technology today becomes obsolete in the near future. If we review the graduate attributes of any of the software engineering programs across the world, life-long learning is one of them. The social and psychological aspects of professional development is linked with rewards. In organizations, where people are provided with learning opportunities and there is a culture that rewards learning, people embrace changes easily. However, the software industry tends to be short-sighted and its primary focus is more on current project success; it usually ignores the capacity building of the individual or team. It is hoped that our software engineering colleagues will be motivated to conduct more research into the area of software psychology so as to understand more completely the possibilities for increased effectiveness and personal fulfillment among software engineers working alone and in teams.

cs.SE↗

Would You Like to Motivate Software Testers? Ask Them How

Context. Considering the importance of software testing to the development of high quality and reliable software systems, this paper aims to investigate how can work-related factors influence the motivation of software testers. Method. We applied a questionnaire that was developed using a previous theory of motivation and satisfaction of software engineers to conduct a survey-based study to explore and understand how professional software testers perceive and value work-related factors that could influence their motivation at work. Results. With a sample of 80 software testers we observed that software testers are strongly motivated by variety of work, creative tasks, recognition for their work, and activities that allow them to acquire new knowledge, but in general the social impact of this activity has low influence on their motivation. Conclusion. This study discusses the difference of opinions among software testers, regarding work-related factors that could impact their motivation, which can be relevant for managers and leaders in software engineering practice.

cs.SE↗

Universality of Egoless Behavior of Software Engineering Students

Software organizations have relied on process and technology initiatives to compete in a highly globalized world. Unfortunately, that has led to little or no success. We propose that the organizations start working on people initiatives, such as inspiring egoless behavior among software developers. This paper proposes a multi-stage approach to develop egoless behavior and discusses the universality of the egoless behavior by studying cohorts from three different countries, i.e., Japan, India, and Canada. The three stages in the approach are self-assessment, peer validation, and action plan development. The paper covers the first stage of self-assssment using an instrument based on Lamont Adams Ten commandments (factors) of egoless programming, seven of the factors are general, whereas three are related to coding behavior. We found traces of universality in the egoless behavior among the three cohorts such as there was no difference in egoless behaviours between Indian and Canadian cohorts and both Indian and Japanese cohorts had difficulties in behaving in egoless manner in coding activities than in general activities.

cs.SE↗

Neural Network Models for Software Development Effort Estimation: A Comparative Study

Software development effort estimation (SDEE) is one of the main tasks in software project management. It is crucial for a project manager to efficiently predict the effort or cost of a software project in a bidding process, since overestimation will lead to bidding loss and underestimation will cause the company to lose money. Several SDEE models exist; machine learning models, especially neural network models, are among the most prominent in the field. In this study, four different neural network models: Multilayer Perceptron, General Regression Neural Network, Radial Basis Function Neural Network, and Cascade Correlation Neural Network are compared with each other based on: (1) predictive accuracy centered on the Mean Absolute Error criterion, (2) whether such a model tends to overestimate or underestimate, and (3) how each model classifies the importance of its inputs. Industrial datasets from the International Software Benchmarking Standards Group (ISBSG) are used to train and validate the four models. The main ISBSG dataset was filtered and then divided into five datasets based on the productivity value of each project. Results show that the four models tend to overestimate in 80percent of the datasets, and the significance of the model inputs varies based on the selected model. Furthermore, the Cascade Correlation Neural Network outperforms the other three models in the majority of the datasets constructed on the Mean Absolute Residual criterion.

cs.SE↗

Need for a Soft Dimension

It is impossible to separate the human factors from software engineering expertise during software development, because software is developed by people and for people. The intangible nature of software has made it a difficult product to successfully create, and an examination of the many reasons for major software system failures show that the reasons for failures eventually come down to human issues. Software developers, immersed as they are in the technological aspect of the product, can quickly learn lessons from technological failures and readily come up with solutions to avoid them in the future, yet they do not learn lessons from human aspects in software engineering. Dealing with human errors is much more difficult for developers and often this aspect is overlooked in the evaluation process as developers move on to issues that they are more comfortable solving. A major reason for this oversight is that software psychology (the softer side) has not developed as extensively.

cs.CY↗

Enhancing Use Case Points Estimation Method Using Soft Computing Techniques

Software estimation is a crucial task in software engineering. Software estimation encompasses cost, effort, schedule, and size. The importance of software estimation becomes critical in the early stages of the software life cycle when the details of software have not been revealed yet. Several commercial and non-commercial tools exist to estimate software in the early stages. Most software effort estimation methods require software size as one of the important metric inputs and consequently, software size estimation in the early stages becomes essential. One of the approaches that has been used for about two decades in the early size and effort estimation is called use case points. Use case points method relies on the use case diagram to estimate the size and effort of software projects. Although the use case points method has been widely used, it has some limitations that might adversely affect the accuracy of estimation. This paper presents some techniques using fuzzy logic and neural networks to improve the accuracy of the use case points method. Results showed that an improvement up to 22% can be obtained using the proposed approach.

cs.SE↗

The Innovative Behaviour of Software Engineers: Findings from a Pilot Case Study

Context: In the workplace, some individuals engage in the voluntary and intentional generation, promotion, and realization of new ideas for the benefit of individual performance, group effectiveness, or the organization. The literature classifies this phenomenon as innovative behaviour. Despite its importance to the development of innovation, innovative behaviour has not been fully investigated in software engineering. Objective: To understand the factors that support or inhibit innovative behaviour in software engineering practice. Method: We conducted a pilot case study in a Canadian software company using interviews and observations as data collection techniques. Using qualitative analysis, we identified relevant factors and relationships not addressed by studies from other areas. Results: Individual innovative behaviour is influenced by individual attitudes and also by situational factors such as relationships in the workplace, organizational characteristics, and project type. We built a model to express the interacting effects of these factors. Conclusions: Innovative behaviour is dependent on individual and contextual factors. Our results contribute to relevant impacts on research and practice, and to topics that deserve further study.

cs.SE↗

A Pilot Case Study on Innovative Behaviour: Lessons Learned and Directions for Future Work

Context: A case study is a powerful research strategy for investigating complex social-technical and managerial phenomena in real life settings. However, when the phenomenon has not been fully discovered or understood, pilot case studies are important to refine the research problem, the research variables, and the case study design before launching a full-scale investigation. The role of pilot case studies has not been fully addressed in empirical software engineering research literature. Objective: To explore the use of pilot case studies in the design of full-scale case studies, and to report the main lessons learned from an industrial pilot study. Method: We designed and conducted an exploratory case study to identify new relevant research variables that influence the innovative behaviour of software engineers in the industrial setting and to refine the full-scale case study design for the next phase of our research. Results: The use of a pilot case study identified several important research variables that were missing in the initial framework. The pilot study also supported a more sophisticated case study design, which was used to guide a full-scale study. Conclusions: When a research topic has not been fully discovered or understood, it is difficult to create a case study design that covers the relevant research variables and their potential relationships. Conducting a full-scale case study using an untested case design can lead to waste of resources and time if the design has to be reworked during the study. In these situations, the use of pilot case studies can significantly improve the case study design.

cs.CY↗

Why a Testing Career Is Not the First Choice of Engineers

As software systems are becoming larger, more complex, and dependent on many third-party software components, the chances of their failure are increasing further. This calls for intense efforts to improve the quality of testing in the software development process.

cs.SE↗

Trends in Students Media Usage

Trends in media usage by students can affect the way they learn. Students demand the use of technology, thus institutions and instructors should meet students requests. This paper describes the results of a survey where drivers in the use of media show continuously increasing or decreasing values from the first to the fourth year of study experience at the Western University, Canada, highlighting trends in the usage of new and traditional media in higher education by students. The survey was used to gather data on students media usage habits and user satisfaction from first to fourth year of study and found that media usage increases over the years from first to fourth. The presentation of data using bar charts reveals a slight increase over the years in students owning notebooks or laptops off-campus and a significant increase from first to fourth year of students accessing online academic periodicals and journals. Another noteworthy finding relates to fourth year students being more conscious of the quality of information that they read on the Internet in comparison to students in first year, even though this is a slight year on year increase.

cs.CY↗

Environmental Factors Influencing Individual Decision-Making Behavior in Software Project: A Systematic Literature Review

As one of the crucial human aspects, individual decision-making behavior that may affect the quality of a software project is adaptive to the environment in which the individual is. However, no comprehensive reference framework of the environmental factors influencing individual decision-making behavior in software projects is presently available. This paper undertakes a systematic literature review (SLR) to gain insight into existing studies on this topic. After a careful SLR process, 40 studies were targeted to solve this question. Based on these extracted studies, we first provided a taxonomy of environmental factors comprising eight categories. Then a total of 237 factors are identified and classified using these eight categories, and some major environmental factors of each category are listed in the paper. The environmental factors listing and the taxonomy can help researchers and practitioners to better understand and predict the behavior of individuals during decision making and to design more effective solutions to improve people management in software projects.

cs.SE↗

Creation and Evaluation of Software Teams - A Social Approach

This work discusses an important issue in the area of human resource management by proposing a novel model for creation and evaluation of software teams. The model consists of several assessments, including a technical test, a quality of life test and a psychological-sociological test. Since the technical test requires particular organizational specifications and cannot be examined without reference to a specific company, only the sociological test and the quality of life tests are extensively discussed in this work. Two strategies are discussed for assigning roles in a project. Initially, six software projects were selected, and after extensive analysis of the projects, two projects were chosen and correctives actions were applied. An empirical evaluation was also conducted to assess the model effectiveness. The experimental results demonstrate that the application of the model improved the productivity of project teams.

cs.CY↗

Extracting Traceability Information from C# Projects

The maintenance portion of the software lifecycle represents a major drain on most software companys resources. The transition from programmers to maintainers is high risk, since usually the maintainers have to learn the system from scratch before they can begin modifying it appropriately. This paper introduces a method for automatically extracting important traceability information from a C# software projects source code. Using this traceability information, maintainers (and programmers) are better able to evaluate the impacts their actions will have on the entire project.

cs.SE↗

A Multi-Agent Framework for Testing Distributed Systems

Software testing is a very expensive and time consuming process. It can account for up to 50% of the total cost of the software development. Distributed systems make software testing a daunting task. The research described in this paper investigates a novel multi-agent framework for testing 3-tier distributed systems. This paper describes the framework architecture as well as the communication mechanism among agents in the architecture. Web-based application is examined as a case study to validate the proposed framework. The framework is considered as a step forward to automate testing for distributed systems in order to enhance their reliability within an acceptable range of cost and time.

cs.DC↗

Managing Support Requests in Open Source Software Project: The Role of Online Forums

The use of free and open source software is gaining momentum due to the ever increasing availability and use of the Internet. Organizations are also now adopting open source software, despite some reservations in particular regarding the provision and availability of support. One of the greatest concerns about free and open source software is the availability of post release support and the handling of for support. A common belief is that there is no appropriate support available for this class of software, while an alternative argument is that due to the active involvement of Internet users in online forums, there is in fact a large resource available that communicates and manages the management of support requests. The research model of this empirical investigation establishes and studies the relationship between open source software support requests and online public forums. The results of this empirical study provide evidence about the realities of support that is present in open source software projects. We used a dataset consisting of 616 open source software projects covering a broad range of categories in this investigation. The results show that online forums play a significant role in managing support requests in open source software, thus becoming a major source of assistance in maintenance of the open source projects.

cs.SE↗