Papers by Ahmad Salman Khan
1ST INTERNATIONAL POSTGRADUATE CONFERENCE ON OCEAN ENGINEERING TECHNOLOGY AND INFORMATICS 2021 (IPCOETI 2021)
Offshore Software Maintenance Outsourcing (OSMO) is increasing by leaps and bounds. In offshore o... more Offshore Software Maintenance Outsourcing (OSMO) is increasing by leaps and bounds. In offshore outsourcing, most of the highly-paid countries outsource software development and maintenance projects to such developing countries where skilled human resources are available at economical packages. The OSMO clients get quality-oriented services and OSMO vendors earn valuable foreign exchange if the OSMO process is executed successfully. But the existing literature advocates that all the OSMO business deals do not end successfully. The right combination of vendor and client plays a vital role. For a vendor, it is important to find a more suitable client among multiple options. The scope of the current paper is to find out such critical success factors which can help out OSMO vendor to select a more suitable OSMO client among many options. This practice will provide ease to OSMO vendors in the OSMO client selection and decision-making process to select a suitable client. The method used to conduct this study is the Literature Review (LR). The literature review found different critical success factors related to the research question. Some of these factors include the client's contract, the client's required team size, the domain of the required project, the size of the software maintenance project, etc. OSMO vendor organizations can use this information in the decision-making process to select more suitable OSMO clients for successful offshore business. This study also recommends the implementation of any suitable machine learning technique on the critical success factors (founded in the current study) in the decision-making process.
Computers, Materials & Continua
Software maintenance is the process of fixing, modifying, and improving software deliverables aft... more Software maintenance is the process of fixing, modifying, and improving software deliverables after they are delivered to the client. Clients can benefit from offshore software maintenance outsourcing (OSMO) in different ways, including time savings, cost savings, and improving the software quality and value. One of the hardest challenges for the OSMO vendor is to choose a suitable project among several clients' projects. The goal of the current study is to recommend a machine learning-based decision support system that OSMO vendors can utilize to forecast or assess the project of OSMO clients. The projects belong to OSMO vendors, having offices in developing countries while providing services to developed countries. In the current study, Extreme Learning Machine's (ELM's) variant called Deep Extreme Learning Machines (DELMs) is used. A novel dataset consisting of 195 projects data is proposed to train the model and to evaluate the overall efficiency of the proposed model. The proposed DELM's based model evaluations achieved 90.017% training accuracy having a value with 1.412 × 10-3 Root Mean Square Error (RMSE) and 85.772% testing accuracy with 1.569 × 10 −3 RMSE with five DELMs hidden layers. The results express that the suggested model has gained a notable recognition rate in comparison to any previous studies. The current study also concludes DELMs as the most applicable and useful technique for OSMO client's project assessment.
Software-refactoring improves the quality and reduces the complexity during the whole life cycle ... more Software-refactoring improves the quality and reduces the complexity during the whole life cycle of the software system. The objective of this work is to elicit the existing challenges and refactoring techniques and practices to counter those challenges. This study presents a systematic literature review based upon the scientific literature published since January 2000. After rigorously applying the SLR protocol defined by Barbara Kitchenham, we identify 36 articles discussing software- refactoring challenges, techniques, and practices. We point out complexity, understandability, and maintainability as three challenges of traditional software engineering that are resolved by software-refactoring. This SLR identifies assertions, program slicing, graph transformation, software metrics, and metamodeling, as five commonly used refactoring techniques. Moreover, eight main challenges of software-refactoring, namely determining refactoring and code location, selecting refactoring type and ...
http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A621638&dswid=-9903 A transfer of a softwa... more http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A621638&dswid=-9903 A transfer of a software system from a party responsible for its development to a party responsible for its maintenance is referred to as software system handover or transition. It does not only include a transfer of a software system or system part, but also a transfer of all the knowledge, experience and responsibilities that are required for managing the system during a software system lifecycle. It is a complex process overarching many different processes such as development, testing, version and configuration management, deployment, and maintenance, just to mention a few. Handover is a critical process in the software lifecycle and it is important that it is performed as smoothly as possible. It can become very expensive and protracted if the organizations are not well prepared for performing it. The productivity of the groups taking over the system and the quality of their outputs may be strongly depend...
Software: Practice and Experience
Software effort estimation accuracy is a key factor in effective planning, controlling and to del... more Software effort estimation accuracy is a key factor in effective planning, controlling and to deliver a successful software project within budget and schedule. The overestimation and underestimation both are the key challenges for future software development, henceforth there is a continuous need for accuracy in software effort estimation (SEE). The researchers and practitioners are striving to identify which machine learning estimation technique gives more accurate results based on evaluation measures, datasets and the other relevant attributes. The authors of related research are generally not aware of previously published results of machine learning effort estimation techniques. The main aim of this study is to assist the researchers to know which machine learning technique yields the promising effort estimation accuracy prediction in the software development. In this paper, the performance of the machine learning ensemble technique is investigated with the solo technique based on two most commonly used accuracy evaluation metrics. We used the systematic literature review methodology proposed by Kitchenham and Charters. This includes searching for the most relevant papers, applying quality assessment criteria, extracting data and drawing results. We have evaluated a state-of-the-art accuracy performance of 28 selected studies (14 ensemble, 14 solo) using Mean Magnitude of Relative Error (MMRE) and PRED (25) as a set of reliable accuracy metrics for performance evaluation of accuracy among two techniques to report the research questions stated in this study. We found that machine learning techniques are the most frequently implemented in the construction of ensemble effort estimation (EEE) techniques. The results of this study revealed that the EEE techniques usually yield a promising estimation accuracy than the solo techniques.
International Journal of Advanced Trends in Computer Science and Engineering, 2021
In software engineering, software maintenance is the process of correction, updating, and improve... more In software engineering, software maintenance is the process of correction, updating, and improvement of software products after handed over to the customer. Through offshore software maintenance outsourcing (OSMO) clients can get advantages like reduce cost, save time, and improve quality. In most cases, the OSMO vendor generates considerable revenue. However, the selection of an appropriate proposal among multiple clients is one of the critical problems for OSMO vendors. The purpose of this paper is to suggest an effective machine learning technique that can be used by OSMO vendors to assess or predict the OSMO client’s proposal. The dataset is generated through a survey of OSMO vendors working in a developing country. The results showed that supervised learning-based classifiers like Naïve Bayesian, SMO, Logistics apprehended 69.75 %, 81.81 %, and 87.27 % testing accuracy respectively. This study concludes that supervised learning is the most suitable technique to predict the OSM...
Product-Focused Software Process Improvement, 2011
Software handover is a de facto process in all software organizations. It is one of the most busi... more Software handover is a de facto process in all software organizations. It is one of the most business critical and complex processes. It is also one of the most diverse processes, and thereby, one of the most difficult processes to define. Despite this, software handover is not well recognized within the academia. Right now, there are no software handover process models whatsoever although software organizations desperately need guidelines for how to perform this important and critical task. To aid them in defining their handover process models, we are in the process of creating Evolution and Maintenance Management Model (EM 3): Software Handover focusing on handover (alias transition) of a software system from developer to maintainer. In this paper, we evaluate one of the EM 3 components, Management and Administration (MA), addressing activities for planning and controlling the transition process, its schedule, budget and resources. We do it within 29 organizations. Our primary goal is to find out whether the component is realistic and whether it meets the needs and requirements of the software industry today. Using the feedback from the industry, we tackle process diversity using the Context-Driven Process Orchestration Method (CoDPOM).
A well-defined handover process model is imperative and critical for succeeding with the transfer... more A well-defined handover process model is imperative and critical for succeeding with the transfer of a software system from one party to another. Despite this, there still do not exist any up-to date handover process models. Recently, however, we have developed EM 3 : Handover Framework aiding organizations in constructing their own handover process models. The framework was originally explored within sixty one companies. In this paper, we apply and evaluate EM 3 : Handover Framework in one Swedish software organization via participatory observation. Our goal is to examine the framework’s applicability and usefulness in a real-world industrial scenario. The handover process studied was of a self-to-self type and it was conducted in a project parking context. Our results show that our framework is fully applicable in an industrial handover setting. Almost all of its activities were relevant and fully applied in the context studied.
Handover of software systems is a critical stage in the system lifecycle. Despite this, it is sti... more Handover of software systems is a critical stage in the system lifecycle. Despite this, it is still an under researched area. In this paper, we have developed an initial taxonomy of activities for software handover. Our taxonomy consists of seven process components where each component clusters logically coherent activities. The
Handover is an essential component in the total lifecycle management of software systems. Despite... more Handover is an essential component in the total lifecycle management of software systems. Despite this, the software community has not agreed on its basic activities and concepts yet. In this paper, we evaluate a preliminary version of EM 3 taxonomy of handover activities. Our goal is to evaluate its credibility in an industrial setting and find feedback for creating a transition process. The evaluation is made in the context of an in-house handover process.
2012 8th International Conference on Computing Technology and Information Management, Apr 24, 2012
Abstract Tracking and controlling versions and configurations of software systems is a challengin... more Abstract Tracking and controlling versions and configurations of software systems is a challenging task. It becomes especially challenging during handover, a process during which a software system is transferred from a development to a maintenance team. Although there exist many process models dealing with version and configuration today, little has been done to study them from the perspective of a software system handover and its needs. In this paper, we have evaluated version and configuration activities from the handover ...
2012 8th International Conference on Computing Technology and Information Management, Apr 24, 2012
Abstract Deployment is an important constituent process in software handover and a critical prere... more Abstract Deployment is an important constituent process in software handover and a critical prerequisite step to software maintenance. Despite this, there are no studies dealing with the role of deployment within software handover and maintenance. In this paper, we study deployment activities that are critical for a successful software handover and maintenance. We evaluate them in twenty software organizations. Our goal is to investigate their status and usefulness from the handover and maintenance perspective. Our results show that ...
It is critical that documentation and maintainability are defined and followed throughout the sys... more It is critical that documentation and maintainability are defined and followed throughout the system lifecycle. If neglected, they may lead to poor system quality, costly evolution and maintenance and even to early retirement. In this paper, we study the management of documentation and maintainability in the context of software handover within thirty six organizations. Our goal is to find out about the industrial status of managing documentation and maintainability and explore knowledge that might be useful for ...
Evaluating and managing software maintenance environment is an important prerequisite for enablin... more Evaluating and managing software maintenance environment is an important prerequisite for enabling system handover and for commencing maintenance. Despite this, there are no process models dealing with the subject. In this paper, we suggest activities required for managing software maintenance environment in the context of software handover and evaluate them in twenty nine organizations. Our results show that the activities are highly relevant and critical for the successful software handover. Their ...
Software handover is a de facto process in all software organizations. It is one of the most busi... more Software handover is a de facto process in all software organizations. It is one of the most business critical and complex processes. It is also one of the most diverse processes, and thereby, one of the most difficult processes to define. Despite this, software handover is not well recognized within the academia. Right now, there are no software handover process models whatsoever although software organizations desperately need guidelines for how to perform this important and critical task.
Handover is an essential component in the total lifecycle management of software systems. Despite... more Handover is an essential component in the total lifecycle management of software systems. Despite this, the software community has not agreed on its basic activities and concepts yet. In this paper, we have developed a preliminary version of taxonomy of handover activities and evaluated it within one software organization. Our goal is to evaluate its credibility in an industrial setting and find feedback for creating a transition process. The taxonomy is focused on an in-house handover process.
Software Engineering and …, Jan 1, 2011
Although there exist some people management process models related to the education and training ... more Although there exist some people management process models related to the education and training of software engineers, there are no process models that are adapted to specific software engineering contexts and processes. In this paper, we suggest a set of education and training activities that are applicable in the context of a handover process. We then evaluate these activities within twenty organizations. Although our results reveal great diversity of using these activities, they still show that they are realistic and appropriately mirror the industrial status within a software handover context.
Computer Science and …, Jan 1, 2009
To successfully conduct postdelivery maintenance, organizations must be actively involved in the ... more To successfully conduct postdelivery maintenance, organizations must be actively involved in the predelivery maintenance phase. For this, they need a predelivery maintenance process model. Right now, there are only two such models and they are still in their infancy. In this paper, we compare one of them, the EM 3 Predelivery/Prerelease model, to its corresponding predelivery process at AMIS Software. The comparison has helped us evaluate the model in an industrial context and extend it with new activities.
Uploads
Papers by Ahmad Salman Khan