software practitioners
Recently Published Documents


TOTAL DOCUMENTS

85
(FIVE YEARS 37)

H-INDEX

10
(FIVE YEARS 2)

Author(s):  
Laiali Almazaydeh ◽  
Moath Alsafasfeh ◽  
Reyad Alsalameen ◽  
Shoroq Alsharari

The study of software engineering professional practices includes the use of the formal methodology in a software development. Identifying the appropriate methodology will not only reduce the failure of software but will also help to deliver the software in accordance with the predetermined budget and schedule. In literature, few works have been developed a tool for prediction of the most appropriate methodology for the specific software project. In this paper, a method for selecting an appropriate software development life cycle (SDLC) model based on a ranking manner from the highest to the lowest scoring is presented. The selection and ranking of appropriate SDLC elaborate the related SDLC’s critical factors, these factors are given different weights according to the SDLC, then these weights are used by the proposed mathematical method. The proposed approach has been extensively experimented on a dataset by software practitioners who are working in the software industry. Experimental results show that, the proposed method represents an applicable tool in predicting and ranking suitable SDLC models on various types of projects, such as: life-critical systems, commercial uses systems, and entertainment applications.


2022 ◽  
pp. 1980-2000
Author(s):  
Danyllo Wagner Albuquerque ◽  
Everton Tavares Guimarães ◽  
Felipe Barbosa Araújo Ramos ◽  
Antonio Alexandre Moura Costa ◽  
Alexandre Gomes ◽  
...  

Software requirements changes become necessary due to changes in customer requirements and changes in business rules and operating environments; hence, requirements development, which includes requirements changes, is a part of a software process. Previous studies have shown that failing to manage software requirements changes well is a main contributor to project failure. Given the importance of the subject, there is a plethora of efforts in academia and industry that discuss the management of requirements change in various directions, ways, and means. This chapter provided information about the current state-of-the-art approaches (i.e., Disciplined or Agile) for RCM and the research gaps in existing work. Benefits, risks, and difficulties associated with RCM are also made available to software practitioners who will be in a position of making better decisions on activities related to RCM. Better decisions can lead to better planning, which will increase the chance of project success.


2021 ◽  
Vol 11 (22) ◽  
pp. 10633
Author(s):  
Chetna Gupta ◽  
Varun Gupta

In distributed software development, planning and managing fair and transparent task allocation is both critical and challenging. The objective of this paper is to propose a decentralized blockchain-oriented, transparent task allocation framework to improve the quality of the task allocation process. It addresses the concerns of (i) enhancing collaboration, (ii) inhibiting knowledge vaporization, and (iii) reducing documentation problems. The proposed method is a novel two-fold process: First, it identifies and categorizes tasks exhibiting different dependencies and complexities to create equal task clusters based on their dependency type, difficulty, cost, and time. Second, it uses a blockchain-oriented framework to broadcast, check bid validity, allow developers to bid on tasks matching their roles and expertise, evaluate, and announce the winner for task allocation using smart contracts. Results of experimentation, surveys, and interviews with software practitioners conclude that the proposed solution is transparent and effective in allocating tasks (with Cranach’s alpha of 0.894) at a low cost of contract execution in a distributed software development environment. Overall, the proposed approach will have a positive and significant impact in industrial settings.


2021 ◽  
Author(s):  
Walter Takashi Nakamura ◽  
José Cezar de Souza ◽  
Lígia Márcia Teixeira ◽  
Afonso Silva ◽  
Rogenis da Silva ◽  
...  

2021 ◽  
Vol 3 (1) ◽  
pp. 105-114
Author(s):  
Amitkumar Dudhat ◽  
Muhammad Ali Abbasi

Agile Software Development Methodology is a lesser-known and infrequently utilized methodology in academia. In reality, though, content developer software practitioners frequently employ this technique. This journal was created to give readers an overview of agile techniques and their use at various stages of software development in general.


2021 ◽  
Vol 20 (No.4) ◽  
pp. 511-539
Author(s):  
Abdullah Almogahed ◽  
Mazni Omar

Refactoring is a critical task in software maintenance and is commonly applied to improve system design or to cope with design defects. There are 68 different types of refactoring techniques and each technique has a particular purpose and effect. However, most prior studies have selected refactoring techniques based on their common use in academic research without obtaining evidence from the software industry. This is a shortcoming that points to the existence of a clear gap between academic research and the corresponding industry practices. Therefore, to bridge this gap, this study identified the most frequently used refactoring techniques, the commonly used programming language, and methods of applying refactoring techniques in the current practices of software refactoring among software practitioners in the industry, by using an online survey. The findings from the survey revealed the most used refactoring techniques, programming language, and the methods of applying the refactoring techniques. This study contributes toward the improvement of software development practices by adding empirical evidence on software refactoring used by software developers. The findings would be beneficial for researchers to develop reference models and software tools to guide the practitioners in using these refactoring techniques based on their effect on software quality attributes to improve the quality of the software systems as a whole.


2021 ◽  
Author(s):  
Nailton Junior ◽  
Heitor Costa ◽  
Leila Karita ◽  
Ivan Machado ◽  
Larissa Soares

2021 ◽  
Vol 15 (3) ◽  
pp. 371-380
Author(s):  
Lida Bamizadeh ◽  
Binod Kumar ◽  
Ajay Kumar ◽  
Shailaja Shirwaikar

Pitfalls in software development process can be prevented by learning from other people's mistakes. Software practitioners and researchers document lessons learned and the knowledge about best practices is spread over literature. Presence of code smells does not indicate that software won’t work, but it will reveal deeper problems and rising risk of failure in future. Software metrics are applied to detect code smells whereas refactoring can remove code smells, improve code quality and make it simpler and cleaner. Detection tools facilitate management of code smells. Knowledge about code smells and related concepts can assist the software maintenance process. Exploratory analysis of code smells carried out in this paper, covers collecting data about code smells, identifying related concepts, categorizing and organizing this knowledge into a code smell repository, which can be made available to software developers. A detailed literature survey is carried out to identify code smells and related concepts. An initial list of 22 code smells proposed in 1999 has grown over the years into 65 code smells. The relationship between code smells, software metrics, refactoring methods and detection tools available in literature is also documented. Templates are designed that capture knowledge about code smells and related concepts. A code smell repository is designed and implemented to maintain all the information gathered about code smells and related concepts and is made available to software practitioners. All the knowledge about code smells found in literature is collected, organized and made accessible.


2021 ◽  
Vol 8 (2) ◽  
pp. 023-031
Author(s):  
Monday Eze ◽  
Charles Okunbor

Software Engineering is a branch of Computer Science that evolved as a result of urgent need to deal with decades of software crisis, characterized by low theoretical knowledge and practice of the construction of error-free and efficient software. The introduction of well-organized scientific, engineering and management strategies in the process of software development no doubt led to major breakthroughs, and solutions to software failures. One of the obvious game-changer in this regard is the evolution of Software Development Life Cycle, also known as Software Process Model for driving the different phases of software construction. A sound understanding of the process model is therefore inevitable, not just for software developers, but also to users and researchers. Such a theoretical cum practical understanding will enhance decisions on which process model is best for a particular job or perspective. This invariably, contributes immensely to the probability of success or failure of the project in question. Thus, the necessity for this research. This work presents an unambiguous expository of selected software development model variants. A total of four process model variants were studied, in a theoretical, visual and analytical manner. The variants were analyzed using strength versus weakness (SVW) tabular scenario. This work was concluded by presenting guides towards choice of these models. This research is expected to be a useful reference to software practitioners and researchers.


2021 ◽  
Vol 26 (5) ◽  
Author(s):  
Jesper Olsson ◽  
Erik Risfelt ◽  
Terese Besker ◽  
Antonio Martini ◽  
Richard Torkar

Abstract Context Software engineering is a human activity. Despite this, human aspects are under-represented in technical debt research, perhaps because they are challenging to evaluate. Objective This study’s objective was to investigate the relationship between technical debt and affective states (feelings, emotions, and moods) from software practitioners. Method Forty participants (N = 40) from twelve companies took part in a mixed-methods approach, consisting of a repeated-measures (r = 5) experiment (n = 200), a survey, and semi-structured interviews. From the qualitative data, it is clear that technical debt activates a substantial portion of the emotional spectrum and is psychologically taxing. Further, the practitioners’ reactions to technical debt appear to fall in different levels of maturity. Results The statistical analysis shows that different design smells (strong indicators of technical debt) negatively or positively impact affective states. Conclusions We argue that human aspects in technical debt are important factors to consider, as they may result in, e.g., procrastination, apprehension, and burnout.


Sign in / Sign up

Export Citation Format

Share Document