ICOQM-10 June 28-30, 2011 436 Impact of Software Reusability in Effort Estimation Shivprakash Agrawal Research scholar, CMJ University Dean, Babaria Institute of Technology, Vadodara (Gujarat)-391240 Abstract In practice, there are a number of ways in which software firms can improve their competitive performance, introduce new methodologies. One of the main objectives of process-based approaches to software development is reusability of software components. Reusability can affect the competitive performance of software firms through its effect on three software process performance dimensions: process flexibility, process productivity, and process predictability. Reusability is an important construct but only a few studies have attempted to empirically investigate its effect on software process performance dimensions and competitive performance of software companies. Keywords: Reusability, Model, Modularity, Repository Management 1. Introduction The concept of reusability includes use of a component, reuse of the component or its subcomponents without any change, reuse with certain modification. It may not be applicable for consumable products, majorly applicable for intellectual components developed once and reproduced for subsequent use at almost negligible efforts or cost. The reusability helps is reduction of production cost. In order to develop reusable components, it is essential to take maximum care including Exhaustive Analysis, Modular Design, Modifiability and Quality Assurance. In this document author has introduced a model with phases like Creation and storage of Reusable Components, Search and Retrieval, Modification/ Reuse and Storage and Repository Administration. Software metrics plays a very important role in software development and management. Software reuse programs rely on reuse metrics, along with other software, quality and effort metrics, to evaluate their effectiveness and the relations between the different employed metrics in organizations. The systematic collection of various metrics during the whole software development lifecycle helps determining which practices should be enforced and which ones should be avoided for productivity and quality improvements in software development process. Component-based reuse is widely accepted as an important reuse strategy and component-based reuse programs heavily depend on software reuse repositories for achieving success; however the main focus on the reuse repository area is on classification and retrieval problems. Despite the fundamental importance of reuse metrics, few reports of their systematic adoption in the software industry exist. This work aims to evaluate the current state of the art of the reuse metrics area, with special emphasis on metrics to estimate cost. 2. Identification of Effort/ Cost Effecting Factors While we are emphasizing on reusability of software components following important aspects are considered, 2.1 Project Based Data: It includes, (a) Lines of New Code (LONC): These are new lines of code developed for a software project. (b) Lines of Developed Code Reused (LDCR): These are several lines of code which are utilized in a software project which are previously developed for previous projects in view of utilizing them subsequently. As these can be utilized after minor modification, the efforts required to use them will be lower in compare to new development (c) Lines of Code Developed for Reuse (LCDR): These are lines of code which are developed in current software project in view of utilizing them in subsequent projects. The utilization may be as a whole module or as a component. While developing such code special care need to be considered which will increase normal effort requirement.