SearcharxivSearch

arXiv subjects

Faheem Ahmed

Publications and source records attributed to Faheem Ahmed.

At least 19 recordsLinked to original sources

A Reference Framework for Variability Management of Software Product Lines

Variability management (VM) in software product line engineering (SPLE) is introduced as an abstraction that enables the reuse and customization of assets. VM is a complex task involving the identification, representation, and instantiation of variability for specific products, as well as the evolution of variability itself. This work presents a comparison and contrast between existing VM approaches using qualitative meta-synthesis to determine the underlying perspectives, metaphors, and concepts of existing methods. A common frame of reference for the VM was proposed as the result of this analysis. Putting metaphors in the context of the dimensions in which variability occurs and identifying its key concepts provides a better understanding of its management and enables several analyses and evaluation opportunities. Finally, the proposed framework was evaluated using a qualitative study approach. The results of the evaluation phase suggest that the organizations in practice only focus on one dimension. The presented frame of reference will help the organization to cover this gap in practice.

cs.SE

Institutionalization of Software Product Line: An Empirical Investigation of Key Organizational Factors

A good fit between the person and the organization is essential in a better organizational performance. This is even more crucial in case of institutionalization of a software product line practice within an organization. Employees participation, organizational behavior and management contemplation play a vital role in successfully institutionalizing software product lines in a firm. Organizational dimension has been weighted as one of the critical dimensions in software product line theory and practice. A comprehensive empirical investigation to study the impact of some organizational factors on the performance of software product line practice is presented in this work. This is the first study to empirically investigate and demonstrate the relationships between some of the key organizational factors and software product line performance of an organization. The results of this investigation provide empirical evidence and further support the theoretical foundations that in order to institutionalize software product lines within an organization, organizational factors play an important role.

cs.SE

User Requirements for Software Game Process; An Empirical Investigation

This study attempts to provide a better understanding of the user dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of user factors on the software game development process and finally on the quality of the resulting game. A quantitative survey was developed and conducted to identify key user dimensions. For this study, a survey was used to test the research model and hypotheses. The main contribution of this paper is to investigate empirically the influence of user key factors on software game development process that ultimately results in a higher quality final product. The results provide evidence that game development organizations must deal with multiple user key factors to remain competitive and handle high pressure in the soft-ware game industry.

cs.SE

Updating Weight Values for Function Point Counting

While software development productivity has grown rapidly, the weight values assigned to count standard Function Point (FP) created at IBM twenty-five years ago have never been updated. This obsolescence raises critical questions about the validity of the weight values; it also creates other problems such as ambiguous classification, crisp boundary, as well as subjective and locally defined weight values. All of these challenges reveal the need to calibrate FP in order to reflect both the specific software application context and the trend of todays software development techniques more accurately. We have created a FP calibration model that incorporates the learning ability of neural networks as well as the capability of capturing human knowledge using fuzzy logic. The empirical validation using ISBSG Data Repository (release 8) shows an average improvement of 22% in the accuracy of software effort estimations with the new calibration.

cs.SE

A Call to Promote Soft Skills in Software Engineering

We have been thinking about other aspects of software engineering for many years; the missing link in engineering software is the soft skills set, essential in the software development process. Although soft skills are among the most important aspects in the creation of software, they are often overlooked by educators and practitioners. One of the main reasons for the oversight is that soft skills are usually related to social and personality factors, i.e., teamwork, motivation, commitment, leadership, multi-culturalism, emotions, interpersonal skills, etc. This editorial is a manifesto declaring the importance of soft skills in software engineering with the intention to draw professionals attention to these topics. We have approached this issue by mentioning what we know about the field, what we believe to be evident, and which topics need further investigation. Important references to back up our claims are also included. Software engineers take pride in the depth of their technical expertise, which separates them from the crowd. But, what makes a good software engineer? First, it is the technical knowledge of relevant methodologies and techniques (i.e. hard skills), as well as the skills necessary for applying that knowledge in practice. Second, but nonetheless important, it is a set of soft skills, in particular collaboration, communication, problem-solving and similar interpersonal and critical thinking skills that are expected from software engineering professionals. In other words, software engineers need both hard and soft skills in order to be successful at the workplace.

cs.SE

Critical Success Factors to Improve the Game Development Process from a Developers Perspective

The growth of the software game development industry is enormous and is gaining importance day by day. This growth imposes severe pressure and a number of issues and challenges on the game development community. Game development is a complex process, and one important game development choice is to consider the developer perspective to produce good quality software games by improving the game development process. The objective of this study is to provide a better understanding of the developers dimension as a factor in software game success. It focuses mainly on an empirical investigation of the effect of key developer factors on the software game development process and eventually on the quality of the resulting game. A quantitative survey was developed and conducted to identify key developer factors for an enhanced game development process. For this study, the developed survey was used to test the research model and hypotheses. The results provide evidence that game development organizations must deal with multiple key factors to remain competitive and to handle high pressure in the software game industry. The main contribution of this paper is to investigate empirically the influence of key developer factors on the game development process.

cs.SE

A Digital Game Maturity Model (DGMM)

Game development is an interdisciplinary concept that embraces artistic, software engineering, management, and business disciplines. This research facilitates a better understanding of important dimensions of digital game development methodology. Game development is considered as one of the most complex tasks in software engineering. The increased popularity of digital games, the challenges faced by game development organizations in developing quality games, and high competition in the digital game industry demand a game development maturity assessment. Consequently, this study presents a Digital Game Maturity Model to evaluate the current development methodology in an organization. The framework of this model consists of assessment questionnaires, a performance scale, and a rating method. The main goal of the questionnaires is to collect information about current processes and practices. In general, this research contributes towards formulating a comprehensive and unified strategy for game development maturity evaluation. Two case studies were conducted and their assessment results reported. These demonstrate the level of maturity of current development practices in two organizations.

cs.SE

Game Development Software Engineering Process Life Cycle: A Systematic Review

Software game is a kind of application that is used not only for entertainment, but also for serious purposes that can be applicable to different domains such as education, business, and health care. Although the game development process differs from the traditional software development process because it involves interdisciplinary activities. Software engineering techniques are still important for game development because they can help the developer to achieve maintainability, flexibility, lower effort and cost, and better design. The purpose of this study is to assesses the state of the art research on the game development software engineering process and highlight areas that need further consideration by researchers. In the study, we used a systematic literature review methodology based on well-known digital libraries. The largest number of studies have been reported in the production phase of the game development software engineering process life cycle, followed by the pre-production phase. By contrast, the post-production phase has received much less research activity than the pre-production and production phases. The results of this study suggest that the game development software engineering process has many aspects that need further attention from researchers; that especially includes the postproduction phase.

cs.SE

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

Maintenance Support in Open Source Software Projects

Easy and mostly free access to the internet has resulted in the growing use of open source software (OSS). However, it is a common perception that closed proprietary software is still superior in areas such as software maintenance and management. The research model of this study establishes a relationship between maintenance issues (such as user requests and error handling) and support provided by open source software through project forums, mailing lists and trackers. To conduct this research, we have used a dataset consisting of 120 open source software projects, covering a wide range of categories. The results of the study show that project forums and mailing lists play a significant role in addressing user requests in open source software. However according to the empirical investigation, it has been explored that trackers are used as an effective medium for error reporting as well as user requests.

cs.SE

An Empirical Study of Open Source Software Usability: The Industrial Perspective

Recent years have seen a sharp increase in the use of open source projects by common novice users; Open Source Software (OSS) is thus no longer a reserved arena for software developers and computer gurus. Although user-centered designs are gaining popularity in OSS, usability is still not considered as one of the prime objectives in many design scenarios. In this paper, we analyze industry users perception of usability factors, including understandability, learnability, operability and attractiveness, on OSS usability. The research model of this empirical study establishes the relationship between the key usability factors and OSS usability from industrial perspective. In order to conduct the study, a data set of 105 industry users is included. The results of the empirical investigation indicate the significance of the key factors for OSS usability.

cs.HC

Empirical Investigation of Key Business Factors for Digital Game Performance

Game development is an interdisciplinary concept that embraces software engineering, business, management, and artistic disciplines. This research facilitates a better understanding of the business dimension of digital games. The main objective of this research is to investigate empirically the effect of business factors on the performance of digital games in the market and to answer the research questions asked in this study. Game development organizations are facing high pressure and competition in the digital game industry. Business has become a crucial dimension, especially for game development organizations. The main contribution of this paper is to investigate empirically the influence of key business factors on the business performance of games. This is the first study in the domain of game development that demonstrates the interrelationship between key business factors and game performance in the market. The results of the study provide evidence that game development organizations must deal with multiple business key factors to remain competitive and handle the high pressure in the digital game industry. Furthermore, the results of the study support the theoretical assertion that key business factors play an important role in game business performance.

cs.CY

What Soft Skills Software Architect Should Have? A Reflection from Software Industry

The job of software architect is considered very crucial in the life cycle of the software development because software architecture has a pivotal role in the success and failure of the software project in terms of cost and quality. People have different personality traits, and the way they perceive, plan and execute any assigned task is influenced by it. These personality traits are characterized by soft skills. Most of the time, software development is a team work involving several people executing different tasks. The success and failure stories of software projects revealed the human factor as one of the critical importance. In this work we are presenting an exploratory study about the soft skills requirements for a software architects job. We analyzed 124 advertised jobs in the title of software architect and explore the soft skills requirements. The results of this investigation help in understanding software skills requirement set for a job of software architect and presents the current status of their use in job advertisements.

cs.SE

F2- Rules for Qualification of Developing and Managing Software Product Line

Software product line has emerged as a valuable concept of developing software based on reusable software assets. The concept aims on effective utilization of software assets, reduced time to delivery, improved quality and better benefits to cost ratio of products. In this paper we have defined certain rules for the qualification of developing and managing a software product line. An organization must follow these rules in order to establish and manage software product line effectively.

cs.SE

A Decision Support Tool for Assessing the Maturity of Software Product Line Process

The software product line aims at the effective utilization of software assets, reducing the time required to deliver a product, improving the quality, and decreasing the cost of software products. Organizations trying to incorporate this concept require an approach to assess the current maturity level of the software product line process in order to make management decisions. A decision support tool for assessing the maturity of the software product line process is developed to implement the fuzzy logic approach, which handles the imprecise and uncertain nature of software process variables. The proposed tool can be used to assess the process maturity level of a software product line. Such knowledge will enable an organization to make crucial management decisions. Four case studies were conducted to validate the tool, and the results of the studies show that the software product line decision support tool provides a direct mechanism to evaluate the current software product line process maturity level within an organization.

cs.SE

Framework for Version Control & Dependency Link of Components & Products in a Software Product Line

Software product line deals with the assembly of products from existing core assets commonly known as components and continuous growth in the core assets as we proceed with production. This idea has emerged as vital in terms of software development from component-based architecture. Since in software product line one has to deal with number of products and components simultaneous therefore there is a need to develop a strategy, which will help to store components and products information in such a way that they can be traced easily for further development. This storage strategy should reflect a relationship between products and components so that product history with reference to components can be traced and vise versa. In this paper we have presented a tree structure based storage strategy for components and products in software product line. This strategy will enable us to store the vital information about components and products with a relationship of their composition and utilization. We implemented this concept and simulated the software product line environment.

cs.SE

A Business Maturity Model of Software Product Line Engineering

In the recent past, software product line engineering has become one of the most promising practices in software industry with the potential to substantially increase the software development productivity. Software product line engineering approach spans the dimensions of business, architecture, software engineering process and organization. The increasing popularity of software product line engineering in the software industry necessitates a process maturity evaluation methodology. Accordingly, this paper presents a business maturity model of software product line, which is a methodology to evaluate the current maturity of the business dimension of a software product line in an organization. This model examines the coordination between product line engineering and the business aspects of software product line. It evaluates the maturity of the business dimension of software product line as a function of how a set of business practices are aligned with product line engineering in an organization. Using the model presented in this paper, we conducted two case studies and reported the assessment results. This research contributes towards establishing a comprehensive and unified strategy for a process maturity evaluation of software product lines.

cs.SE

An Architecture Process Maturity Model of Software Product Line Engineering

Software architecture has been a key research area in the software engineering community due to its significant role in creating high quality software. The trend of developing product lines rather than single products has made the software product line a viable option in the industry. Software product line architecture is regarded as one of the crucial components in the product lines, since all of the resulting products share this common architecture. The increased popularity of software product lines demands a process maturity evaluation methodology. Consequently, this paper presents an architecture process maturity model for software product line engineering to evaluate the current maturity of the product line architecture development process in an organization. Assessment questionnaires and a rating methodology comprise the framework of this model. The objective of the questionnaires is to collect information about the software product line architecture development process. Thus, in general this work contributes towards the establishment of a comprehensive and unified strategy for the process maturity evaluation of software product line engineering. Furthermore, we conducted two case studies and reported the assessment results, which show the maturity of the architecture development process in two organizations

cs.SE