Context: Requirements in any software development project keeps on changing. The success or fail... more Context: Requirements in any software development project keeps on changing. The success or failure of these projects largely depends upon how we manage these changing requirements. The knowledge of causes of requirements change will improve our ability to manage changing requirements. Objective: The aim of the study was to gather empirical evidence about the causes of requirement change and the frequency of change of particular type of requirement in different SDLC phases. Methods: We transformed the aim of our research in to two questions, first probing the causes of requirement change, and second, the frequency of any type of change during any SDLC Phase. We performed systematic literature review for gathering evidences from six major data bases, ACM portal, IEEE xplore, Science Direct, Citreseerx, Springer link, EI Compendex by applying our customized search strings which were derived from our research questions. After applying the filtration process of inclusion/exclusion criteria in three steps we assessed the studies for their quality by judging their research methodology which the authors of those papers adapted for producing the empirical evidence. Secondary search was performed on the the citations refered in included papers. The extracted data from these studies was synthesized to form our conclusion. Results: By applying our search strings on six selected data bases, we retrieved 2858 papers for RQ1 and 393 for RQ2. By applying a three phase inclusion/exclusion criteria we had a final list of 5 papers for RQ1, of which 2 were selected in secondary search and 3 Papers for RQ2 which are all included in final list of RQ1. Conclusions:Although our search strings yielded a large amount of papers but after careful filteration we were left with only 5 papers (six studies) which produce empirical knowledge about the causes of requirement change. Though we didn’t exclude it but even among these five papers, one of the papers was considered to be of a low quality for its research methodology used for producing that evidence. With this small number of evidences, we cannot make a strong judgment about the true representation of our research results. It is surprising to find little empirical evidence on causes of requirements change as requirements change has been widely quoted as one of the major challenges faced by software engineers and project managers. We scanned studies which were excluded during the third step of inclusion/exclusion process because their results were not empirical, but they were providing causes of requirement change. Most of them were semantically the same when compared to empirical results but there were some causes which were not proven by the results of our study. This creates a gap for which there is a need for further empirical research to identify causes of requirement change.
SCRUM is one of the most popular methods from the agile family that has gained extensive fame in ... more SCRUM is one of the most popular methods from the agile family that has gained extensive fame in the recent years. However, a company may face many problems during adoption of SCRUM framework. This research aims at identifying and collecting different reported problems about SCRUM adoption by software development firms solely from literature. The focus is primarily on the most discussed problem i.e. product backlog problems, and to provide solutions for them. Based on suggestions and recommendations from earlier studies a scrum based solution is proposed, which hopefully will address backlog related problems in this study. We applied the proposed solution in a small company to evaluate its effectiveness. This paper reports the findings of the case study. The results indicate that the proposed SCRUM based solution did help the company in addressing most of the backlog related problems.
Abstract— Task allocation or work assignment in Distributed Environments is a challenging task du... more Abstract— Task allocation or work assignment in Distributed Environments is a challenging task due to intricate dependencies between distributed sites and fundamental requirement of multifarious information. Conway’s law relates product architecture to communication and coordination needs of the people, whereas Parnas argues that communication and coordination needs give rise to technical dependencies. Product structure is depicted in its architecture, which in turn, consists of multiple views based on different perspectives. These views which are used to model different concerns of various stakeholders are inter-related. Task allocation depends on information about different architectural views and their interrelationship. Traceability links between various views can be used to model this interrelationship. There is a need to identify the traceability support between different architectural views to determine the extent of linkage between them. Task allocation is also dependent on factors not depicted in product architecture such as temporal and cultural dependencies between distributed sites. These dependencies highlight the need of an effective and sound task allocation strategy for distributed environment. A well conceived task allocation strategy will reduce various dependencies between sites resulting in effective task allocation and smooth distributed development. This paper analyses the dependencies/factors that should be considered for task allocation, the current task allocation strategies and their limitations and the traceability support between various views to identify gaps required to be filled.
—The unified modeling language (UML) is widely used to analyze and design different software deve... more —The unified modeling language (UML) is widely used to analyze and design different software development artifacts in an object oriented development. Domain model is a significant artifact that models the problem domain and visually represents real world objects and relationships among them. It facilitates the comprehension process by identifying the vocabulary and key concepts of the business world. Category list technique identifies concepts and associations with the help of pre defined categories, which are important to business information systems. Whereas noun phrasing technique performs grammatical analysis of use case description to recognize concepts and associations. Both of these techniques are used for the construction of domain model, however, no empirical evidence exists that evaluates the quality of the resultant domain model constructed via these two basic techniques. A controlled experiment was performed to investigate the impact of category list and noun phrasing technique on quality of the domain model. The constructed domain model is evaluated for completeness, correctness and effort required for its design. The obtained results show that category list technique is better than noun phrasing technique for the identification of concepts as it avoids generating unnecessary elements i.e. extra concepts, associations and attributes in the domain model. The noun phrasing technique produces a comprehensive domain model and requires less effort as compared to category list. There is no statistically significant difference between both techniques in case of correctness.
Context Global software development (GSD) promises high‐quality software at low cost. GSD enables... more Context Global software development (GSD) promises high‐quality software at low cost. GSD enables around‐the‐clock development to achieve maximum production in a short period of time by using expertise around the globe. This development is only possible if tasks are effectively distributed among sites to ensure smooth development. Therefore, one of the key challenges of GSD is to design a task allocation strategy. Objective The objective of this study is to identify various factors that influence task allocation decisions in GSD and to assess their relative importance. We also aim to determine the interrelationship between the factors along with role played by product architecture and communication and coordination needs during task allocation. Methods We used multiple methods to collect data about the task allocation factors and process. A web‐based survey of 54 GSD practitioners from around the globe was conducted to identify the factors and their relative importance for task allocation decision. The selection of the sample was performed via the snowball sampling technique. To increase the sample size, the survey was also posted on social media, that is, Facebook, LinkedIn, and Twitter. Nonparametric statistical tests were applied on the response data to identify correlations and significance. Interviews were conducted from 11 project managers having 10 to 30 years GSD experience to gain insight into the dynamics of task allocation process. Results The survey results highlight " expertise, " " site characteristics, " and " task site dependency " as the most important factors for a task allocation decision. The interview study has highlighted the importance of situation‐specific decision making during task allocation. The significance of factors varies with the characteristics of task, characteristics of organization, type of GSD, and objective of doing GSD. The culture and time differences between distributed sites have been assigned a low priority by the majority of the practitioners. The most common way of distributing task is functional area of expertise and phase‐based division, where detailed architecture is not considered. Interdependent modules are not allocated to distributed sites because of communication and coordination overhead. Our results also demonstrate a correlation between various factors and support Conway's law. Conclusions We have interesting results in which certain factors are ranked differently from the prevalent views in the GSD literature. The survey results have also confirmed the application of Conway's law in practice for task allocation, where interdependent modules are not allocated to distributed sites. The significance of factors varies with characteristics of task, characteristics of organization, type of GSD, and objective of GSD, which require trade‐off between factors. The need of a well‐defined situation‐specific task allocation framework is evident from the results of survey and interview study. The outline of a task allocation framework for GSD is presented.
Context: Open-Source Software (OSS) development has gained popularity in the last two decades. Th... more Context: Open-Source Software (OSS) development has gained popularity in the last two decades. There is a lot of research in the area of OSS major ones being OSS evolution (product, and community), adoption, and development. Multiple Systematic Literature Reviews (SLR) and Systematic Mapping Studies (SMS) are published in the OSS domain; however, many areas are still open for research. Objective: The study aims to aggregate and classify Open-Source Software (OSS) areas, topics, and, future directions. Method: A systematic tertiary study is performed to cover all the systematic secondary studies in the area of OSS. The guidelines of Kitchenham are used for designing the protocol and piloting it before execution. Result: We identified sixty studies that consist of 18 SMS and 42 SLR. The literature is mapped to an already published taxonomy of OSS by Aksulu and Wade, however, the future directions are thematically analyzed. The results of key research areas mapped to taxonomy show that...
Big Data has emerged as an asset for business practices and marketing strategies due to its data ... more Big Data has emerged as an asset for business practices and marketing strategies due to its data analysis capabilities. For an effective decision-making process, reliable data is critically important. Unreliable data results in wrong decision making ultimately leading to a negative reputation, customer churn, and financial loss. Therefore, testing Big Data is vital to ensure the reliability of data. Defining test strategies and setting up a testing environment are complex and challenging tasks. In this research, we tend to focus on data reliability, since a wrong decision based on unreliable data can have huge negative consequences. The testing framework for Big Data is validated via an exploratory case study in the telecommunication sector. Three-layer architecture for Big Data testing is used, namely Ingestion, Preparation, and Access. Errors are injected to verify fault injection in the ingestion and processing of data files of the Hadoop framework and technology stack. The resul...
Crowdsourcing is an emerging approach in software development, where software is developed by unk... more Crowdsourcing is an emerging approach in software development, where software is developed by unknown, heterogeneous people around the globe, via an open call by the employer. Crowdsourcing, when used with agile, faces challenges because of the different development methodologies. Agile development methodology has practices that involve face-to-face frequent interaction, whereas crowdsourcing is a distributed development with no or limited face-to-face interaction. Both concepts are actively being used in the software development industry due to their benefits. However, there is a need to explore the integration of both methodologies for an effective and efficient software development. In this regard, the first step is to identify the challenges of integrating crowdsourcing and agile. In this paper, we intend to identify the possible challenges that may be faced while executing agile along with crowdsourcing. For this, we have conducted a Systematic Literature Review. Five main cate...
Requirements elicitation is one of the most significant activities of requirements engineering (R... more Requirements elicitation is one of the most significant activities of requirements engineering (RE) process. Poorly specified requirements can lead to a failed project. Various elicitation techniques are used to elicit requirements from the users and other stakeholders, each having its own pros and cons. Lack of user engagement, less user involvement, textual nature of the requirements, time taking process are some of the major problems that make it difficult to perform elicitation via traditional techniques. Moreover, these problems further create other challenges such as ambiguity, inconsistency, and incompleteness in requirements. Currently, researchers have focused on reducing ambiguity in requirements with the help of different techniques such as natural language processing techniques, requirement templates, and formal methods; however, these techniques work on reducing ambiguity during specification or from specified requirements. One of the “young’ and exciting way of engagin...
The healthcare systems are extensively being used with increased focus on safety of patients. Sof... more The healthcare systems are extensively being used with increased focus on safety of patients. Software engineering for healthcare applications is an emerging research area. Detecting defects is a critical step of software development process of healthcare applications. The performance of the Software Defect Prediction model (SDP) depends on the features of healthcare system; irrelevant features decrease the performance of the model. An optimized feature selection technique is needed to recognize and remove the irrelevant features. In this study, a new optimized feature selection technique, i.e., multiobjective Harris Hawk Optimization (HHO), is proposed for binary classification problem with Adaptive Synthetic Sampling (ADASYN) Technique. Multiobjective HHO is proposed with two main objectives, one to reduce the total amount of selected features and the other to maximize the performance of the proposed model. The multiobjective feature selection technique helps to find the optimal s...
Context: Requirements in any software development project keeps on changing. The success or fail... more Context: Requirements in any software development project keeps on changing. The success or failure of these projects largely depends upon how we manage these changing requirements. The knowledge of causes of requirements change will improve our ability to manage changing requirements. Objective: The aim of the study was to gather empirical evidence about the causes of requirement change and the frequency of change of particular type of requirement in different SDLC phases. Methods: We transformed the aim of our research in to two questions, first probing the causes of requirement change, and second, the frequency of any type of change during any SDLC Phase. We performed systematic literature review for gathering evidences from six major data bases, ACM portal, IEEE xplore, Science Direct, Citreseerx, Springer link, EI Compendex by applying our customized search strings which were derived from our research questions. After applying the filtration process of inclusion/exclusion criteria in three steps we assessed the studies for their quality by judging their research methodology which the authors of those papers adapted for producing the empirical evidence. Secondary search was performed on the the citations refered in included papers. The extracted data from these studies was synthesized to form our conclusion. Results: By applying our search strings on six selected data bases, we retrieved 2858 papers for RQ1 and 393 for RQ2. By applying a three phase inclusion/exclusion criteria we had a final list of 5 papers for RQ1, of which 2 were selected in secondary search and 3 Papers for RQ2 which are all included in final list of RQ1. Conclusions:Although our search strings yielded a large amount of papers but after careful filteration we were left with only 5 papers (six studies) which produce empirical knowledge about the causes of requirement change. Though we didn’t exclude it but even among these five papers, one of the papers was considered to be of a low quality for its research methodology used for producing that evidence. With this small number of evidences, we cannot make a strong judgment about the true representation of our research results. It is surprising to find little empirical evidence on causes of requirements change as requirements change has been widely quoted as one of the major challenges faced by software engineers and project managers. We scanned studies which were excluded during the third step of inclusion/exclusion process because their results were not empirical, but they were providing causes of requirement change. Most of them were semantically the same when compared to empirical results but there were some causes which were not proven by the results of our study. This creates a gap for which there is a need for further empirical research to identify causes of requirement change.
SCRUM is one of the most popular methods from the agile family that has gained extensive fame in ... more SCRUM is one of the most popular methods from the agile family that has gained extensive fame in the recent years. However, a company may face many problems during adoption of SCRUM framework. This research aims at identifying and collecting different reported problems about SCRUM adoption by software development firms solely from literature. The focus is primarily on the most discussed problem i.e. product backlog problems, and to provide solutions for them. Based on suggestions and recommendations from earlier studies a scrum based solution is proposed, which hopefully will address backlog related problems in this study. We applied the proposed solution in a small company to evaluate its effectiveness. This paper reports the findings of the case study. The results indicate that the proposed SCRUM based solution did help the company in addressing most of the backlog related problems.
Abstract— Task allocation or work assignment in Distributed Environments is a challenging task du... more Abstract— Task allocation or work assignment in Distributed Environments is a challenging task due to intricate dependencies between distributed sites and fundamental requirement of multifarious information. Conway’s law relates product architecture to communication and coordination needs of the people, whereas Parnas argues that communication and coordination needs give rise to technical dependencies. Product structure is depicted in its architecture, which in turn, consists of multiple views based on different perspectives. These views which are used to model different concerns of various stakeholders are inter-related. Task allocation depends on information about different architectural views and their interrelationship. Traceability links between various views can be used to model this interrelationship. There is a need to identify the traceability support between different architectural views to determine the extent of linkage between them. Task allocation is also dependent on factors not depicted in product architecture such as temporal and cultural dependencies between distributed sites. These dependencies highlight the need of an effective and sound task allocation strategy for distributed environment. A well conceived task allocation strategy will reduce various dependencies between sites resulting in effective task allocation and smooth distributed development. This paper analyses the dependencies/factors that should be considered for task allocation, the current task allocation strategies and their limitations and the traceability support between various views to identify gaps required to be filled.
—The unified modeling language (UML) is widely used to analyze and design different software deve... more —The unified modeling language (UML) is widely used to analyze and design different software development artifacts in an object oriented development. Domain model is a significant artifact that models the problem domain and visually represents real world objects and relationships among them. It facilitates the comprehension process by identifying the vocabulary and key concepts of the business world. Category list technique identifies concepts and associations with the help of pre defined categories, which are important to business information systems. Whereas noun phrasing technique performs grammatical analysis of use case description to recognize concepts and associations. Both of these techniques are used for the construction of domain model, however, no empirical evidence exists that evaluates the quality of the resultant domain model constructed via these two basic techniques. A controlled experiment was performed to investigate the impact of category list and noun phrasing technique on quality of the domain model. The constructed domain model is evaluated for completeness, correctness and effort required for its design. The obtained results show that category list technique is better than noun phrasing technique for the identification of concepts as it avoids generating unnecessary elements i.e. extra concepts, associations and attributes in the domain model. The noun phrasing technique produces a comprehensive domain model and requires less effort as compared to category list. There is no statistically significant difference between both techniques in case of correctness.
Context Global software development (GSD) promises high‐quality software at low cost. GSD enables... more Context Global software development (GSD) promises high‐quality software at low cost. GSD enables around‐the‐clock development to achieve maximum production in a short period of time by using expertise around the globe. This development is only possible if tasks are effectively distributed among sites to ensure smooth development. Therefore, one of the key challenges of GSD is to design a task allocation strategy. Objective The objective of this study is to identify various factors that influence task allocation decisions in GSD and to assess their relative importance. We also aim to determine the interrelationship between the factors along with role played by product architecture and communication and coordination needs during task allocation. Methods We used multiple methods to collect data about the task allocation factors and process. A web‐based survey of 54 GSD practitioners from around the globe was conducted to identify the factors and their relative importance for task allocation decision. The selection of the sample was performed via the snowball sampling technique. To increase the sample size, the survey was also posted on social media, that is, Facebook, LinkedIn, and Twitter. Nonparametric statistical tests were applied on the response data to identify correlations and significance. Interviews were conducted from 11 project managers having 10 to 30 years GSD experience to gain insight into the dynamics of task allocation process. Results The survey results highlight " expertise, " " site characteristics, " and " task site dependency " as the most important factors for a task allocation decision. The interview study has highlighted the importance of situation‐specific decision making during task allocation. The significance of factors varies with the characteristics of task, characteristics of organization, type of GSD, and objective of doing GSD. The culture and time differences between distributed sites have been assigned a low priority by the majority of the practitioners. The most common way of distributing task is functional area of expertise and phase‐based division, where detailed architecture is not considered. Interdependent modules are not allocated to distributed sites because of communication and coordination overhead. Our results also demonstrate a correlation between various factors and support Conway's law. Conclusions We have interesting results in which certain factors are ranked differently from the prevalent views in the GSD literature. The survey results have also confirmed the application of Conway's law in practice for task allocation, where interdependent modules are not allocated to distributed sites. The significance of factors varies with characteristics of task, characteristics of organization, type of GSD, and objective of GSD, which require trade‐off between factors. The need of a well‐defined situation‐specific task allocation framework is evident from the results of survey and interview study. The outline of a task allocation framework for GSD is presented.
Context: Open-Source Software (OSS) development has gained popularity in the last two decades. Th... more Context: Open-Source Software (OSS) development has gained popularity in the last two decades. There is a lot of research in the area of OSS major ones being OSS evolution (product, and community), adoption, and development. Multiple Systematic Literature Reviews (SLR) and Systematic Mapping Studies (SMS) are published in the OSS domain; however, many areas are still open for research. Objective: The study aims to aggregate and classify Open-Source Software (OSS) areas, topics, and, future directions. Method: A systematic tertiary study is performed to cover all the systematic secondary studies in the area of OSS. The guidelines of Kitchenham are used for designing the protocol and piloting it before execution. Result: We identified sixty studies that consist of 18 SMS and 42 SLR. The literature is mapped to an already published taxonomy of OSS by Aksulu and Wade, however, the future directions are thematically analyzed. The results of key research areas mapped to taxonomy show that...
Big Data has emerged as an asset for business practices and marketing strategies due to its data ... more Big Data has emerged as an asset for business practices and marketing strategies due to its data analysis capabilities. For an effective decision-making process, reliable data is critically important. Unreliable data results in wrong decision making ultimately leading to a negative reputation, customer churn, and financial loss. Therefore, testing Big Data is vital to ensure the reliability of data. Defining test strategies and setting up a testing environment are complex and challenging tasks. In this research, we tend to focus on data reliability, since a wrong decision based on unreliable data can have huge negative consequences. The testing framework for Big Data is validated via an exploratory case study in the telecommunication sector. Three-layer architecture for Big Data testing is used, namely Ingestion, Preparation, and Access. Errors are injected to verify fault injection in the ingestion and processing of data files of the Hadoop framework and technology stack. The resul...
Crowdsourcing is an emerging approach in software development, where software is developed by unk... more Crowdsourcing is an emerging approach in software development, where software is developed by unknown, heterogeneous people around the globe, via an open call by the employer. Crowdsourcing, when used with agile, faces challenges because of the different development methodologies. Agile development methodology has practices that involve face-to-face frequent interaction, whereas crowdsourcing is a distributed development with no or limited face-to-face interaction. Both concepts are actively being used in the software development industry due to their benefits. However, there is a need to explore the integration of both methodologies for an effective and efficient software development. In this regard, the first step is to identify the challenges of integrating crowdsourcing and agile. In this paper, we intend to identify the possible challenges that may be faced while executing agile along with crowdsourcing. For this, we have conducted a Systematic Literature Review. Five main cate...
Requirements elicitation is one of the most significant activities of requirements engineering (R... more Requirements elicitation is one of the most significant activities of requirements engineering (RE) process. Poorly specified requirements can lead to a failed project. Various elicitation techniques are used to elicit requirements from the users and other stakeholders, each having its own pros and cons. Lack of user engagement, less user involvement, textual nature of the requirements, time taking process are some of the major problems that make it difficult to perform elicitation via traditional techniques. Moreover, these problems further create other challenges such as ambiguity, inconsistency, and incompleteness in requirements. Currently, researchers have focused on reducing ambiguity in requirements with the help of different techniques such as natural language processing techniques, requirement templates, and formal methods; however, these techniques work on reducing ambiguity during specification or from specified requirements. One of the “young’ and exciting way of engagin...
The healthcare systems are extensively being used with increased focus on safety of patients. Sof... more The healthcare systems are extensively being used with increased focus on safety of patients. Software engineering for healthcare applications is an emerging research area. Detecting defects is a critical step of software development process of healthcare applications. The performance of the Software Defect Prediction model (SDP) depends on the features of healthcare system; irrelevant features decrease the performance of the model. An optimized feature selection technique is needed to recognize and remove the irrelevant features. In this study, a new optimized feature selection technique, i.e., multiobjective Harris Hawk Optimization (HHO), is proposed for binary classification problem with Adaptive Synthetic Sampling (ADASYN) Technique. Multiobjective HHO is proposed with two main objectives, one to reduce the total amount of selected features and the other to maximize the performance of the proposed model. The multiobjective feature selection technique helps to find the optimal s...
2022 5th International Conference on Computing and Informatics (ICCI)
Software projects are susceptible to failure if requirements are ambiguous, inconsistent, and mis... more Software projects are susceptible to failure if requirements are ambiguous, inconsistent, and misunderstood. Previously, researchers have emphasized on reducing ambiguity either in specified requirements or after the elicitation phase. In this paper, we have designed a pro-active gamified tool ‘Gamify4Req’ for reducing requirements ambiguity during elicitation. Gamify4Req incorporated lexical and semantic ambiguity rules, game rules, and effective game elements to elicit unambiguous requirements from users. Furthermore, this study is a part of Ph.D. research on reducing ambiguity, whereas tool implementation, validation, and findings will be covered later.
Internet of Things (IoT) involves a set of devices that aids in achieving a smart environment. He... more Internet of Things (IoT) involves a set of devices that aids in achieving a smart environment. Healthcare systems, which are IoT-oriented, provide monitoring services of patients' data and help take immediate steps in an emergency. Currently, machine learning-based techniques are adopted to ensure security and other non-functional requirements in smart health care systems. However, no attention is given to classifying the non-functional requirements from requirement documents. The manual process of classifying the non-functional requirements from documents is erroneous and laborious. Missing non-functional requirements in the Requirement Engineering (RE) phase results in IoT oriented healthcare system with compromised security and performance. In this research, an experiment is performed where non-functional requirements are classified from the IoT-oriented healthcare system's requirement document. The machine learning algorithms considered for classification are Logistic Re...
Usability of a Web Based Library Systems (WBLS) is a major quality attribute. Checklists have bec... more Usability of a Web Based Library Systems (WBLS) is a major quality attribute. Checklists have become common and easy method to evaluate the usability of these WBLS; however the available checklists support evaluation of general usability aspects of WBLS only. The domain specific usability aspects are required to maximize the usability for such systems. This research proposes and validates a checklist based usability evaluation method that supports the evaluation of general as well as specific usability aspects of WBLS. The usability evaluation checklist is proposed based on analysis of literature and data of a controlled experiment. The checklist is validated in comparison to the “Academic Library Website Evaluation Checklist” via another controlled experiment. The proposed checklist is applied to the WBLS of universities in Pakistan. The manual and statistical result shows that, the proposed usability evaluation checklist identifies more general and specific usability aspects. It i...
The International Arab Journal of Information Technology, 2022
Global Software Development (GSD) involves multiple sites which comprise of different cultures an... more Global Software Development (GSD) involves multiple sites which comprise of different cultures and time zones apart from geographical locations. It is a common software development approach adopted to achieve competitiveness. However, due to multiple challenges it can result in misunderstandings and rework. Rework raises the chance of project failure by delaying the project and increasing the estimated budget. The aim of this study is to identify and categorize the rework causes to reduce its frequency in GSD. To identify the empirical literature related to causes of rework, we performed a Systematic Literature Review (SLR). A total of 23 studies are included as a result of final inclusion. The empirical literature from the year 2009 to 2020 is searched. The overall identified causes of rework in GSD are categorized into 6 major categories which are communication, Requirement Management (RM), roles of stakeholders, product development/integration issues, documentation issues, and di...
Global software development (GSD) promises high‐quality software at low cost. GSD enables around‐... more Global software development (GSD) promises high‐quality software at low cost. GSD enables around‐the‐clock development to achieve maximum production in a short period of time by using expertise around the globe. This development is only possible if tasks are effectively distributed among sites to ensure smooth development. Therefore, one of the key challenges of GSD is to design a task allocation strategy.
ABSTRACT Context: Research shows that one of the main reasons of project failure is changing requ... more ABSTRACT Context: Research shows that one of the main reasons of project failure is changing requirements. The success or failure of software projects largely depends upon how we respond to changing requirements. The knowledge about the causes of requirements change can improve our ability to make better decisions and manage changing requirements effectively. Objective: In this paper we present findings from an empirical study that was aimed at identifying the causes of requirement change and the frequency of these causes in different software development phases. Methods: We performed a systematic literature review and went through all the stages required by the process. Although our search strings yielded a large amount of papers but after careful filtration we were left with only five papers (six studies) which reported empirical knowledge about the causes of requirement change. Results: We have identified different causes and their frequency in software development phases. We have classified the extracted causes of requirements change into two major types i.e., essential and accidental causes. Conclusions: It is surprising to find little empirical evidence on the causes of requirements change as requirements change has been widely quoted as one of the major challenges faced by requirements engineers. With this small number of evidences, it is hard to generalize the research results. There is a need for further empirical research to identify and fully understand the causes of requirement change.
ABSTRACT Offshore software outsourcing is a widely used business strategy for producing high-qual... more ABSTRACT Offshore software outsourcing is a widely used business strategy for producing high-quality software at low cost. Trust plays a vital role in establishing the offshore software outsourcing relationships between client and vendor organisations. The objective of this research study is to identify factors via systematic literature review (SLR) that are important for establishing trust in offshore software outsourcing relationships. The authors have performed an SLR by applying the customised search strings, which were derived from the research questions. The authors have identified factors such as face-to-face meeting, better communication, contract management between client and vendor, defining processes, tools, procedures and policies, reliable management, knowledge sharing, mutual expectations, better client-vendor relationship and training programmes that are generally considered critical for establishing trust in offshore software outsourcing relationships. The results also reveal the similarities and differences in the factors identified through different study strategies and in different continents. Offshore software outsourcing companies should focus on the frequently cited factors in order to compete in the offshore software outsourcing business.
Change is inevitable, software undergoes continuous change during its life cycle. A small change ... more Change is inevitable, software undergoes continuous change during its life cycle. A small change can trigger high evolution because of the ripple effect identified during the activity of impact analysis. However, it depends on the traceability information, which is the connection between software development artifacts. The current traceability techniques lack the breadth and depth to carryout informative impact analysis. We have performed a detailed literature survey of traceability techniques from the year 2008-2018. These techniques are evaluated on the criteria for effective impact analysis present in the literature. The results highlight that no single technique fulfills the criteria for effective impact analysis alone, they can be combined together to achieve promising results. We have presented a hybrid approach that combines four traceability techniques to achieve the entire criteria for an effective impact analysis after careful evaluation. The techniques combined are: Infor...
Information visualization helps in facilitating comprehension of conceptual information. Informat... more Information visualization helps in facilitating comprehension of conceptual information. Information visualization plays a powerful role in software product line architecture. Much work has been done for variability representation, but little consideration has been given to scalability, visualization of traceability links, evolution of variance, etc. There is a greater need for a suitable visual structure that can illustrate "industrial sized" software product line architecture in managing these highlighted factors. There is also a need to perform an evaluation of the visual structures used for visualization of product line architecture, finding out their suitability for visualization of a large and complex software product lines. Our results show that hyperbolic trees are best suited for visualization of product line architecture due to their multiple attributes such as: Exponential growth, scalability, interaction without hindering the structure and clearer (un-complex) ...
This Software Product line is an eminent part of software re-engineering field. Facilitation of s... more This Software Product line is an eminent part of software re-engineering field. Facilitation of software product line architecture with a more convent method of representation mechanism results in efficiency with respect to time, cost, energy, etc. For this to be true, there is a need for information visualization techniques that represent true characteristics of software product line. This paper presents a study of information visualization technique which makes perception of data easy for interacting with the software product line architecture.
Uploads
Technical Report
Objective: The aim of the study was to gather empirical evidence about the causes of requirement change and the frequency of change of particular type of requirement in different SDLC phases.
Methods: We transformed the aim of our research in to two questions, first probing the causes of requirement change, and second, the frequency of any type of change during any SDLC Phase. We performed systematic literature review for gathering evidences from six major data bases, ACM portal, IEEE xplore, Science Direct, Citreseerx, Springer link, EI Compendex by applying our customized search strings which were derived from our research questions. After applying the filtration process of inclusion/exclusion criteria in three steps we assessed the studies for their quality by judging their research methodology which the authors of those papers adapted for producing the empirical evidence. Secondary search was performed on the the citations refered in included papers. The extracted data from these studies was synthesized to form our conclusion.
Results: By applying our search strings on six selected data bases, we retrieved 2858 papers for RQ1 and 393 for RQ2. By applying a three phase inclusion/exclusion criteria we had a final list of 5 papers for RQ1, of which 2 were selected in secondary search and 3 Papers for RQ2 which are all included in final list of RQ1.
Conclusions:Although our search strings yielded a large amount of papers but after careful filteration we were left with only 5 papers (six studies) which produce empirical knowledge about the causes of requirement change. Though we didn’t exclude it but even among these five papers, one of the papers was considered to be of a low quality for its research methodology used for producing that evidence. With this small number of evidences, we cannot make a strong judgment about the true representation of our research results. It is surprising to find little empirical evidence on causes of requirements change as requirements change has been widely quoted as one of the major challenges faced by software engineers and project managers. We scanned studies which were excluded during the third step of inclusion/exclusion process because their results were not empirical, but they were providing causes of requirement change. Most of them were semantically the same when compared to empirical results but there were some causes which were not proven by the results of our study. This creates a gap for which there is a need for further empirical research to identify causes of requirement change.
Conference Papers
Journal Paper
Papers
Objective: The aim of the study was to gather empirical evidence about the causes of requirement change and the frequency of change of particular type of requirement in different SDLC phases.
Methods: We transformed the aim of our research in to two questions, first probing the causes of requirement change, and second, the frequency of any type of change during any SDLC Phase. We performed systematic literature review for gathering evidences from six major data bases, ACM portal, IEEE xplore, Science Direct, Citreseerx, Springer link, EI Compendex by applying our customized search strings which were derived from our research questions. After applying the filtration process of inclusion/exclusion criteria in three steps we assessed the studies for their quality by judging their research methodology which the authors of those papers adapted for producing the empirical evidence. Secondary search was performed on the the citations refered in included papers. The extracted data from these studies was synthesized to form our conclusion.
Results: By applying our search strings on six selected data bases, we retrieved 2858 papers for RQ1 and 393 for RQ2. By applying a three phase inclusion/exclusion criteria we had a final list of 5 papers for RQ1, of which 2 were selected in secondary search and 3 Papers for RQ2 which are all included in final list of RQ1.
Conclusions:Although our search strings yielded a large amount of papers but after careful filteration we were left with only 5 papers (six studies) which produce empirical knowledge about the causes of requirement change. Though we didn’t exclude it but even among these five papers, one of the papers was considered to be of a low quality for its research methodology used for producing that evidence. With this small number of evidences, we cannot make a strong judgment about the true representation of our research results. It is surprising to find little empirical evidence on causes of requirements change as requirements change has been widely quoted as one of the major challenges faced by software engineers and project managers. We scanned studies which were excluded during the third step of inclusion/exclusion process because their results were not empirical, but they were providing causes of requirement change. Most of them were semantically the same when compared to empirical results but there were some causes which were not proven by the results of our study. This creates a gap for which there is a need for further empirical research to identify causes of requirement change.