Defect Prevention and Process Improvement Methodology for Outsourced Software Projects

Similar documents
Establishing a Defect Management Process Model for Software Quality Improvement

Defect Analysis and Prevention for Software Process Quality Improvement

Quality Assurance Assessment in Global Software Development

Defect Management in Agile Software Development

Six Sigma DMAIC Model and its Synergy with ITIL and CMMI

Managing Requirement Risks in Global Software Development

Agile Software Engineering, a proposed extension for in-house software development

T task Distribution and Selection Based Algorithm

Measurement Information Model

Noorul Islam College of Engineering M. Sc. Software Engineering (5 yrs) IX Semester XCS592- Software Project Management

Procurement Programmes & Projects P3M3 v2.1 Self-Assessment Instructions and Questionnaire. P3M3 Project Management Self-Assessment

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Defect Tracking Best Practices

Root Cause Analysis Concepts and Best Practices for IT Problem Managers

P3M3 Portfolio Management Self-Assessment

JOURNAL OF OBJECT TECHNOLOGY

Software Test Plan (STP) Template

Central Bank of Ireland Guidelines on Preparing for Solvency II Pre-application for Internal Models

SOFTWARE PROJECT MANAGEMENT

Fault Slip Through Measurement in Software Development Process

CHAPTER 7 Software Configuration Management

MKS Integrity & CMMI. July, 2007

Automated Test Approach for Web Based Software

ICSEA Tutorial. From Software Engineering to IT Service Management. Agenda

Introduction and Overview

Software Configuration Management Plan

Effective Software Security Management

A Privacy Officer s Guide to Providing Enterprise De-Identification Services. Phase I

Implementation of ANSI/AAMI/IEC Medical Device Software Lifecycle Processes.

Software Quality Management

Crosswalk Between Current and New PMP Task Classifications

Defect Tracking System

Operational Risk Management in Business Processes

Review of Requirements Management Issues in Software Development

I.3 Quality Management

VAIL-Plant Asset Integrity Management System. Software Development Process

Towards Collaborative Requirements Engineering Tool for ERP product customization

Standardized software development model for SME software houses in Pakistan

Application Performance Testing Basics

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

An Introduction to. Metrics. used during. Software Development

Cost Benefit Oriented Analysis for Designing Optimum Quality Assurance Practices on Software Development

Importance of Software Testing and Defect Analysis in Enterprise Resource Planning

TEST METRICS AND KPI S

International Journal of Advance Research in Computer Science and Management Studies

1 INTRODUCTION TO SYSTEM ANALYSIS AND DESIGN

Module 1 Study Guide Introduction to PPO. ITIL Capability Courses - Planning, Protection and Optimization

Gilead Clinical Operations Risk Management Program

Leveraging CMMI framework for Engineering Services

GRCM: A Model for Global Requirements Change Management

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Role of Functional Clones in Software Development

TIER II STANDARD FOR AUDITORS

Architecture Centric Development in Software Product Lines

A Risk Management System Framework for New Product Development (NPD)

Fundamentals of Measurements

8. Master Test Plan (MTP)

Free and Open Source Software Compliance: An Operational Perspective

META DATA QUALITY CONTROL ARCHITECTURE IN DATA WAREHOUSING

Miracle Integrating Knowledge Management and Business Intelligence

ACCOUNTING IN COMPUTERISED ENVIRONMENT

Supply chain management in the ERP industry

An Approach to Proactive Risk Classification

Balancing the Outsourcing Equation

Software Requirements, Third Edition

GAO. Standards for Internal Control in the Federal Government. Internal Control. United States General Accounting Office.

International Journal of Advanced Research in Computer Science and Software Engineering

Effective Business Requirements (Virtual Classroom Edition)

TIER II STANDARD FOR COMPUTER INFORMATION SYSTEMS SPECIALISTS

DATA QUALITY MATURITY

Security Risk Assessment of Software Architecture

CSTE Mock Test - Part I - Questions Along with Answers

A Report on The Capability Maturity Model

pm4dev, 2007 management for development series The Project Management Processes PROJECT MANAGEMENT FOR DEVELOPMENT ORGANIZATIONS

R214 SPECIFIC REQUIREMENTS: INFORMATION TECHNOLOGY TESTING LABORATORY ACCREDITATION PROGRAM

Table of Contents. CHAPTER 1 Web-Based Systems 1. CHAPTER 2 Web Engineering 12. CHAPTER 3 A Web Engineering Process 24

Metrics in Software Test Planning and Test Design Processes

B.2.2. Project Management Principles

A Review of Risk Management for Information Systems Outsourcing

A Guide to the Business Analysis Body of Knowledge (BABOK Guide) Version 2.0

Internationalization Processes for Open Educational Resources

Business & Technology Applications Analyst

Project Knowledge Areas

Using Rational Software Solutions to Achieve CMMI Level 2

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

DGD ACT Health Data Quality Framework

Application Support Solution

ENGINEERING COMPETENCIES ENTRY LEVEL ENGINEER. Occupation Specific Technical Requirements

October 7, Presented to. The PMI Washington DC Chapter. Pedro Agosto. Director of Client Services, XA Systems, LLC.

Software Risk Factors in Developing E-Governance Projects

Application of software product quality international standards through software development life cycle

Transcription:

Middle-East Journal of Scientific Research 19 (5): 674-682, 2014 ISSN 1990-9233 IDOSI Publications, 2014 DOI: 10.5829/idosi.mejsr.2014.19.5.13669 Defect Prevention and Process Improvement Methodology for Outsourced Software Projects Muhammad Faizan, Sami Ulhaq and M.N.A. Khan Shaheed Zulfikar Ali Bhutto Institute of Science and Technology (SZABIST), Islamabad, Pakistan Abstract: Software quality has been an important issue since long. There are lots of disciplines related to the quality of software but we have focused towards the defect prevention for outsourcing projects. Nowadays, quality is considered to be the most important aspect which has direct impact on success of the software product. Significant research pertaining to quality of the software and its methodologies has been done earlier. Nevertheless, defect prevention is the key aspect to achieve quality of a product. Many organizations outsource their projects and as a result the quality issues arose. A number of quality models, metrics and standards have been development for the software to run on standalone and distributed environment. However, the issue of quality for the outsourced projects particularly for the projects which are partially outsourced still needs further research. In this paper, we propose a framework for effective monitoring the software quality for both fully and partially outsourced project. The proposed framework consists of two phases: one for the complete outsourced project and second for the partial outsourced project, which are described at length in this research paper. This research fundamentally focuses towards the implementation of defect prevention activities among the distributed organizations working groups. Key words: Software Quality Engineering Project Management Process Improvement Outsourcing Defect Prevention INTRODUCTION a balance between schedule and cost of the software product by averting the chances of introducing errors into From customer s perspective,the quality of a the code. On the other hand, defect prevention can be productis of foremost importance.defects are the main definite as a progression of quality whose rationale is to cause for degrading the quality of product.the software classify defects by categorizing their derivation causes quality assurance activities aim at producing better and put together efficient counteractive and defensive quality software products. According to IEEE Standard procedures to avert defects from returning in future [3, 4]. Glossary of Software Engineering Terminology (1990) [1], Quality of the product is considered to be achieved when the quality assurance is a sequence of specific actions to defects are completely removed from a product. give a boost so that a product meets the customer According to Suma and Nair (2008) [5], A defect is a requirements. Quality assurance phase maintains a desirable behavior of an application in every consumable balance between customer requirements and product aspect. A number of methodologies regarding quality. Quality assurance is not simply meant for the implementation of defect prevention activities are software testing, rather it is linked to the overall process described in [6]. Applying the defect prevention improvement of every development phase [2]. There are methodology also improves the project and organization two types of quality assurance technique: first one is process due to the implementation of defect prevention reactive which includes testing to find defects in the activities in all phases of project lifecycle. Defects are product and the second one is proactive which aims at reported to a centralized defect database so that by preventing occurrence of defects. The proactive quality applying causal analysis and defect classification assurance technique is also known as defect prevention techniques the possibility of occurrence of the same technique. The main goal of defect prevention is to strike defects does not occur again. Corresponding Author: M.N.A. Khan, Shaheed Zulfikar Ali Bhutto Institute of Science and Technology (SZABIST), Islamabad, Pakistan. 674

Since technology is advancing at a fast pace, therefore, organization are facingseveral challenges and difficulties in developing projects by themselves as theirit team members particularly the novice developers find it hard to grab the new technologies. As a result, to maintain balance among resources, schedule and cost, organizations occasionally outsource completely or partially their software development projects. However, when a complete or partial project is outsourced to a low level organization, several issues pertaining to the quality arise. A low level organization is one which is at the initial stage of adopting international standards and improving its processes. The main reason identified for happening of such issues is linked to the fact that only defect detection method is used in most of the low level organizations [7]. To overcome the quality issues in the outsourced projects, we have proposed a framework for improving the project processes through implementation of defect prevention activities for both the developing organization and client organization which is outsourcing the complete or partial project. As a result, the action plans help improve the product quality and organization process. This paper is organized into six sections. In sectionii, we define problem statement and discuss key challenges faced in order to produce quality products. The literature review regarding defect prevention methodologies is presented in the third section. Proposed framework is elaborated in the section IV, followed by the implementation of the proposed methodology in a software development company is defined in section V.Comparison analysis is conducted for the validation of proposed framework is described in section VI. Conclusion along with future dimension to this research is provided in the last section. Problem Statement and Key Challenges: Some of the key challenges identified for process improvement are: Inadequate research regarding integration of defect prevention activities for the sake of process improvement of the client and software development organizations. Applying distributed development approach virtuallycreates distances between the parties [8], which brings about problems for the management to deal with quality issues. Integrating the developing projects/modules in the distributed environment is very much problematic and rework is required most of the time [8]. Integration of complete or partial outsourced project processes without implementation of required defect prevention activities and process improvement makes it difficult to maintain balance among quality, cost and time. Defects introduced during software development not only affects quality of the product, but also requires more work to be done to remove them [9]. The delay in detecting the defects can cause serious problems related to quality, cost and schedule, so instead of applying reactive actions the proactive actions like defect prevention should be applied for the process improvement and product quality. Due to the innovation of new technologies, software product development has technically become more complex [7]. Due to lack of technological skills, resources, budget and time constraints, organizations face a dilemma to develop their software projects; and tomanage such complexities, the organizations have to outsource some parts of the project or the entire project. To achieve better quality of a product, defect prevention is the key process activities for an organization. When organizations outsource their projects, certain issues like integration of software process improvement arise. On top of it, organizations face difficulties to applytheir own standard defect prevention activities for achieving better product quality. As a result, thequality of a product is compromised due to non-implementation of the required defect prevention activities and software processes for the entire or parts of the project. In view of the above, we propose a framework which consists of two phases. The first phase describes the structure implementation (comprising of framework components and their interaction) of complete outsource project by applying defect prevention activities and process improvement. The second phase describes the structure implementation of partial outsourced project by applying defect prevention activities and process improvement. Literature Review: Defect prevention and process improvement are the main factors for producing quality products and considerable research has been done in theses area. The focus of research has been on the improvement of defect prevention activities at organization level, but not at cross-organization level. Therefore, we have proposed a new problem area which is focused towards the implementation of defect prevention work flow for process improvement in different organizations working for outsourced project. 675

Raninen et al., (2012) analyzed defect database of [16] discussed a case study on defect introduction system three different companies which had different tools to and illustrated the worth of defect causal analysis. support the defect database. Defects are categorized and However, the above mentioned approaches are analyzed through applying different approaches. Work proportionately deficient in one way or the other and are done by Van Moll et al., (2002) [7] focuses on problems related to a particular environment or system in the defect arise in low level organization like developing of complex prevention and process improvement progression. projects, delay in delivery of product, budget issues and In view of the limitations cited in the literature review, rework efforts in the software development lifecycle. we intend to propose framework for the improvement of Defect density is reduced by applying the defect software project processes by applying defect prevention prevention activities throughout the software activities for the partially or completely outsourced development lifecycle. Meng et al., (2006) [10] presented project. The proposed framework can help software a framework to advance the software possesses by organizations to enhance their processes and improve the applying defect prevention activities. Marcos et al., (2008) overall quality of the product. [11] stress on using defect causal analysis technique for defect prevention and proposed DBPI (defect prevention Framework Description: Proposed framework is divided based process improvement) approach for process and into two phases. Phase I describes the structure for the product improvement. Chang and Chu (2007) presented an completelyoutsourced project process improvement and action-based defect prediction approach which analyzes defect prevention activities flow whose conceptual view the steps causing the defects in the system and is shown in figure 1. Phase II describes the structure for maintaining the defect prediction model for blocking the partial outsourced project process improvement and defects in the software system. Data sampling and under- defect prevention activities flow as shown in Figure 2. sampling techniques are used in action-based defect prediction approach for sampling of dataset which is Phase I: Fully Outsourced Project: Two organizations are helpful for the defect prediction model. Kumaresh and presented in this phase, one is client organization which Baskaran (2010) used orthogonal defect classification outsources the project and the second is software (ODC) methodology to classify defects and conducted development organization which is tasked to develop the root cause analysis on the classified defects which could project for the client organization. First of all, the project help in implementing preventive actions. By virtue of such which has been outsourced is consulted by the designers an approach, repeatedly occurring bugs are controlled of both organizations for the appropriate system design. and quality is improved. Trivedi and Pachori (2010) [12] Once the requirements and the design are finalized, the also highlighted importance of applying the ODC development of the project is started within the software approach by which the root causes of the software development organization. Then, a build is created for the defects are carried out and preventive measures are taken software testing, which results in reporting and and defect density is reduced. Tiejun et al., (2008) [13] classification of defects according to the defined defined the way of tracking bugs in the software classification technique into the central defect inventory. development by applying the bug tracing system which Both of organizations can use this central defect database is based on ODC. By applying this approach bugs are as per their interest and usage requirements. An analysis easily tracked and defect processing is increased. meeting will be held by both the organizations to inspect Mujtaba et al., (2011) [14] devised a methodology to the defect database. On the basis of observations made measure defect fixation process through the defect during the analysis meeting, action teams of both the fixation efficiency method. The higher value of defect organizations will suggest proposed process improvement fixation efficiency (DFE) represents more percentage of plan. Client organization will adopt the process defects in the software. Suma and Nair (2008) [3] improvement plan for further project development and for discussed software inspection techniques which required organization process as well. Since improvement in the less time in project development lifecycle for ensuring project processes is an on-going activity due to evolving quality of the product. Such an approach also reduces of new requirement and changes in the business development cost and time. Jantti et al., (2006) [15] activities, therefore, software development organization highlighted problems related to defect management will need to adopt a vibrant process improvement plan for process which can be very useful to prevent defects from the project processes. Nevertheless, such process the product and achieve better quality. Ghazarian (2009) improvement plans ordinarily remain in continuous 676

Fig. 1: Proposed Framework for fully Outsourced Project. Fig. 2: Proposed Framework (Partial Outsourced Project). improvement state. The software development Figure 1 illustrates workflow of the proposed organization can also update the organization process framework for the complete outsourced project in which according to their defined rules and procedure. This cycle the defect prevention activities suggested by the client will run simultaneously to improve the quality of end organization are applied to the software developing product and action plans. company as discussed earlier. Framework components 677

Development and Software Testing: Development of the project starts according to the desired processes, procedures, technologies and resources. Build is created for the complete software testing. Testing approaches and methods are applied during testing and as a result, defects are detected which are reported to the local bug tracking software. Central Defect Database: The detected defects are reported to the central defect database which is in use of both the organizations.the defects are also recorded into the internal defect database of client organization. Defects are classified according to the defined attributes by both the organization. Defects are maintained and classified according to well known ODC methodology which brings ease for the stakeholders to identify causes of defects. Causal Analysis Meeting: As the defects are categorized, so an analysis team consisting of five to six persons from both the organizationsconducts the causal analysis meeting in which causes of the occurred defects are identified and proposed actions are presented for the continues quality improvement. Defects are analyzed and examined to prevent them from occurring again in the future. As a result of causal analysis meeting, a report describing causes of defects along with their corresponding action plans is generated which is passed onto the action team. Process Improvement: The action teams of both the organizations are responsible for implementation of the proposed action plans for process improvement. Project processes are enhanced after applying the action plans which are suggested by the analysis team. Middle-East J. Sci. Res., 19 (5): 674-682, 2014 and their interaction with each other is provided in the PhaseII: Partially Outsourced Project: Similar tophase I, following subsections. the phase II also describes two organizations: one is client organization and the second is software development Complete Outsourced Project: In case a complete project is required to be outsourced, the top management will be responsible for the solution of problems which surfaces during the process of outsourcing. organization tasked with partial development of the project. Someproject modules are developed in the client organization and rest of the modules are developed in the software development organization. The modules which have to be developed within the client organization and System Design: Designers from both the organization outsourced modules which have to be developed in are responsible for documentation and managing software development organization are firstly consulted processes related to the complete system design. Generally, three to four persons are tasked for collecting the requirements and design document information. by the designers of the client organization for the system design. Once the requirements and design is finalized, meeting with the software development organization is convened and development of respective modules is started in both the organizations. Then a build is created within both the organizations for the unit testing which results in reporting and classification of defects according to the defined classification technique into the central defect database. Afterwards, the modules/units are integrated for the integration testing. Problems and defects found during the integration phase are also reported into the central defect database. Once the integration testing is successful, the build is created for conducting complete software testing. Defects found at this stage are also reported into the defect database. Both of organizations can use the central defect database for their interest and usage. An analysis meeting will be held by analyst teams of both the organizations to discuss the errors stored in the defect database. By the help of causal analysis of the defects, action teams of both the organizations will suggest process improvement plan. Client organization will adopt the process improvement plan for further project development and for updating the existing organization processes as well. On the other hand, software development organization will adopt the process improvement plan for the module development processes which is a continuous improvement state. Now this cycle will be run simultaneouly to improve the quality of end product and action plans. Figure 2 demonstrates the work flow of the defined framework for the partial outsourced project in which the defect prevention activitiessuggested by the client and developing organization are applied for the improvement of working processes to enhance quality of the product as discussed earlier. Components and interaction between them is provided in the following subsections. Partial Outsourced Project: At initial stage the partial project or sub modules due to inadequacy of resources or limitation of technology or any of reason is outsourced to the desired organization by the decisions of top 678

management. The top management will be responsible for the solution of problems which comes in between outsourcing the partial project. System Design: As elaborated in section 5.2, the designers of both organizations are responsible for the documentation and managing the processes of system design related to the partial project or sub modules. A team consisting of 3 to 4 persons is generally tasked for collecting the user requirements and the design document information in their own organization. Development and Unit Testing: Development of the partial project or sub modules is started within both organizations as per the desired processes, procedures, technologies and resources. Build is created for the unit testing within both organizations. Testing approaches and methods are applied while unit testing of sub modules as a result defects are detected which are reported to the local bug tracking software. Integration of Units/Modules: After unit testing, the modules are integrated. Integration team consisting of 2-3 persons is responsible for the integration of units or modules. Integration and Complete System Testing: After integration of units or modules, the client organization undertakes the cycle of integration testing. As a result of integration testing, more defects may be detected which are required to be reported to the local bug tracking software. The complete cycle of system testing is executed after the integration testing which off course brings out more defects and are reported to the local bug tracking software. Central Defect Database: The detected defects in all phases of testing are reported to the central defect database which is in use of both the organizations. Defects are classified according to the defined attributes by both the organization. Defects are maintained and classified according to well know ODC methodology which brings ease for the stakeholders to identify the cause of defects. Causal Analysis Meeting: Agenda for causal analysis meeting is same as that of the complete outsourced project. So the same steps as involved in this process as discussed in section 4.1.5. Process Improvement: Here the process improvement steps are same mentioned in section 4.1.6. Framework Implementation in a Software Company: We implemented our framework in both medium and low level organizations. The medium organization that outsourced the software development project consists of project managers, team leads, software engineers, database administrators, quality assurance team and support staff. Medium size organization also deals with the product development and provides support for the multimedia devices. The low level organization which was tasked for developing the software project consists of one project manager, two team leads forsoftware development, one team lead for server side development, six software engineers and two quality assuranceengineers. The project was outsourced due to lack of resources and expertisein android technology at the client organization. The scope of outsourced project is related to the android development platform for the IPTV (Internet Protocol Television) set-top box technology through which television services are delivered using the Internet protocol. Since the project was outsourced due to shortage of time as well, the development organization opted for code and fix software development model in which developers immediately begin producing code and the testing phase stars immediately after development. The processes used by this organization were not well managed so the quality issues aroused duringthe software development cycle. Some of the issues that occurred are defined below: Time and cost overrun Numerous bugs were introduced into the code There were hurdles in carrying out process activities due to delays in prerequisites of the process activities Several milestones were slipped As a result, to address the upcoming issues, an analysis meeting was held in the client organization and team members from both the organizations participated in it. Root cause analysis was carried out in which the causes of these issues were identified. Some of the causes which were identified are listed below: Requirements uncertainty Miscommunication Inappropriate software development model No implementation of defect prevention activities No process improvement Less concentration towards project quality 679

Fig. 3: Fishbone diagram showing different causes that have bad effects on product quality. Figure 3 shows the causes for deprivation of the We have carried out a meticulous comparison analysis to products quality. After analyzing the causes of defects, it validate our proposed framework. For this purpose, best was decided by both the organizations to implement the cited papers areanalyzed and compared with our proposed appropriate processes, methods and technologies. framework as discussed below. According to the current scenario, our proposed Kannabiran and Sankaran (2011) [17] categorize and framework fit for such a situation. The main causes appraise the determinants of software quality for the included requirements uncertainty and miscommunication, outsourced project development. The scope of research which were removed by applying the system design is focused onprocess improvement through identifying process. The purpose of system design process is to the key factors which affect the software quality, whereas provide a platform for interrelating requirements of our proposed framework supports the process software product as described in section 4.1.2. Keeping in improvement through applying defect prevention view the nature of project, it was decided to implement activities in the outsourced project development. The waterfall model as a key software development model so study of Kannabiran and Sankaran (2011) [17] falls short that a number of issues could be resolved. Before of the implementation of defect prevention which is main implementation of the proposed framework, defect activity to achieve better software quality. Choi et al., prevention activities were neglected. By employing the (2007) [18] focus on outsourcing of software testing and defect prevention activities, bugs reoccurring problem inspection activities which have been studied inthe was reduced asargued in section 4. Central defect context of defect detection activities through Analytical database feature allowed both organizations to analyze Hierarchy Process. Their study only describes criteria for the defects mutually and helped preparing proper action outsourcing of testing and inspection activities but lacks plans. As a result of the execution of action plans, the overall process improvement and applying defect software development processes were improved. Through prevention activities as defined in our proposed root cause analysis methodology which is also a part of framework.to sustain quality, Jacobs et al., (2004) [19] our proposed framework, many causes for degradation of presented a framework for decreasing the number of product quality were removed. Though the required defects found in the products developed by the time to build the software project exceeded because distributed teams. Defect prevention methodology (root accomplishment of framework took more time and cause analysis) is used in their research for finding the efforts to maintain stability of processes for both the causes of defects and associating the defects to risk organizations, but as a result of implication, the processes factors. As compared to our proposed framework, the of software development improved. By implementing the methodology used in their workonly finds out causes of proposed framework, most of the issues faced by both the defects in the distributed environment but do not suggest organizations were overcome, which eventually resulted recommended actions to improve the processes for the in overall improvement of project quality. overall development lifecycle.whereas, our proposed framework provides a mechanism for the implementation DISCUSSION of defect prevention activities for outsourced projects. Jayathilake et al., (2011) [20] proposed a framework which Main goal of this research is to propose a framework includes verification of quality attributes ofa product to improve the software development processes for the developed through outsourcing. The focus of research is outsourced projects through applying defect prevention limited to the verification of quality attributes, whereas activities across the distributed working groups. process improvement and overcoming quality issues 680

through implementation of defect prevention and defect toaccount for participation of multiple organizations and detection activities require due attention. Abdullah and substantiate global software development for the Verner (2012) [21] discussed risks associated with the outsourced projects. outsourcing of strategic software development through identifying the risk factors. But, a pressing requirement is REFERENCES to device mechanism to remove risks and improve quality as outlined in our proposed framework. In this regard, our 1. IEEE Std, 1990. IEEE Standard Glossary of Software framework provides complete structure for the removing Engineering Terminology, pp: 610-12. of risks associated with the outsourced project through 2. Alshathryet, et al., 2009. Quantitative Quality implementation of defect causal analysis technique. Chou Assurance Approach, International Conference on and Chou (2010) [23] highlight the issues related to risk New Trends in information and Service Science, supervision in the fully outsourced projects, but issues IEEE Computer Society. related to organizational process improvement and partial 3. Suma, V. and T.R. Gopalakrishnan Nair, 2008. outsourcing of development projects is not covered. Effective Defect Prevention Approach in Software Kumaresh and Baskaran (2010) [4] used orthogonal defect Process for Achieving Better Quality Levels. classification (ODC) methodology to classify defects and World Academy of Science, Engineering and carried out root cause analysis on the classified defects Technology (WASET), 42: 258-262. which could help in taking preventive actions. Due to 4. Kumaresh, S. and R. Baskaran, 2010. Defect Analysis high capability of such an approach, repeatedly occurring and Prevention for Software Process Quality bugs are controlled and quality is improved. Meng et al., Improvement. International Journal of Computer (2006) [11] presented a framework to continuously Applications, 0975-8887, 8(7): 42-47. improving the software possesses by implementing defect 5. Suma, V. and T.R. Gopalakrishnan Nair, 2008. prevention activities within an organization. The Enhanced Approaches in Defect Detection and framework is helpful to adopt the process improvement Prevention Strategies in Small and Medium within the organization, but does not encompass Scale Industries. Third International Conference mechanism to adopt processes improvement for the on Software Engineering Advances (ICSEA). outsourced development. IEEE Computer Society, pp: 389-393. 6. Marcos Kalinowski, Guilherme H. Travassos and CONCLUSION David N. Card, 2008. Towards a Defect In this research study, we have proposed a Prevention Based Process Improvement Approach. th 34 Euromicro Conference Software Engineering and framework to address key challenges related to the quality Advanced Applications (SEAA). IEEE Computer perspective faced while outsourcing complete or partial Society, pp: 199-206. project. The major causes that lead to these challenges 7. Van Moll, J.H., J.H. Jacobs, B. Freimut and areidentified as requirements uncertainty, J.J.M. TrieneKens, 2002. The Importance of Life miscommunication, absenceimplementing defect Cycle Modeling to Defect Detection and Prevention, prevention and process improvement activities forehand. th Proceedings of the 10 International Workshop on We have devised a framework which basically focuses on Software Technology and Engineering Practice removing the causes ofchallenges faced during (STEP 02), IEEE Computer Society. undertaking of outsourced projects. Our proposed 8. Herbsleb, J.D. and D. Moitra, 2001. Global Software framework consists of two phases. The first phase Development. IEEE Software. describes implementation for the complete outsourced 9. ChingPao Chang and ChihPingChu, 2007. project and the second phase describes implementation of Defect prevention in software processes: An action partial outsourced project.promising results were based approach. The Journal of Systems and achieved by implementingthe proposed framework within Software, 80: 559-570. the software development company. Currently our 10. AnuRaninen, TanjaToroi, HannuVainio and proposed framework is limited to oversee two Jarmo J. Ahonen, 2012. Defect Data Analysis as organizations (i.e., client and software developing Input for Software Process Improvement. PROFES organization). As a future dimension to this work, we 2012, LNCS 7343, Springer Verlag Berlin Heidelberg, intend to add additional featuresin the framework pp: 3-16. 681

11. Meng Li, He Xiaoyuan and Ashok Sontakke, 2006. 17. Kannabiran, G. and K. Sankaran, 2011. Defect Prevention: A General Framework and Determinants of software quality in offshore Its Application. Proceedings of the sixth development-an empirical study of an Indian International Conference on Quality Software vendor. Information and Software Technology, (QSIC 06). IEEE Computer Society. 53(11): 1199-1208. 12. Trivedi, P. and S. Pachori, 2010. Modelling and 18. Choi, M., M. Brand and J. Kim, 2009. A feasibility Analysing of Software Defect Prevention Using evaluation on the outsourcing of quality testing and ODC. International Journal of Advanced Computer inspection. International journal of project Science and Applications (IJACSA), 1(3): 75-77. management, 27(1): 89-95. 13. Pan Tiejun, Zheng Leina and Fang Chengbin, 2008. 19. Jacobs, J., J. van Moll, P. Krause, R. Kusters, Defect Tracing System Based on Orthogonal Defect J. Trienekens and A. Brombacher, 2005. Classification. International Conference on Computer Exploring defect causes in products developed by Science and Software Engineering. IEEE., pp: 574-577. virtual teams. Information and Software Technology, 14. Ghulam Mujtaba, Tariq Mahmood and 47(6): 399-410. Professor Zafar Nasir, 2011. A Holistic Approach to 20. Jayathilake, D., H. Yaggahavita, U. Senanayake, Software Defect Analysis and Management. C. Elvitigala and D. Sriyananda, 2011. A scalable Australian Journal of Basic and Applied Sciences, product quality verifier framework for a outsourcing 5(6): 1632-1640. supplier. In Computer Applications and Industrial 15. Marko Jantti, TanjaToroi and AnneEerola, 2006. Electronics (ICCAIE), 2011 IEEE International Di?culties in Establishing a Defect Management Conference on pp: 390-395. IEEE. Process: A Case Study. International Conference on 21. Abdullah, L.M. and J.M. Verner, 2012. Analysis and Product Focused Software Development and Process application of an outsourcing risk framework. Journal Improvement (PROFES 06). LNCS 4034. Springer of Systems and Software, 85(8): 1930-1952. VerlagBerlinHeidelberg, pp: 142-150. 22. Chou, D.C. and A.Y. Chou, 2011. 16. ArbiGhazarian, 2009. A Case Study of Defect Innovation outsourcing: Risks and quality issues. Introduction Mechanisms. Conference on Advanced Computer Standards and Interfaces, 33(3): 350-356. information Systems Engineering (CAiSE). LNCS5565, Springer Verlag Berlin Heidelberg, pp: 156-170. 682