Sukhpal Singh M.E. (S.E.) 801131024 REUSE CAPABILTY MODELIntroduction:The Software Productivity Consortium has developed a Reuse Capability Model (RCM) which can beused by an organization to assess its own reuse capability and develop a plan for improving itscapability. An organization’s strategy for adopting a reuse technology should be based on a vision forimproving the organization’s way of doing business. In general, a capability model is a guide forselecting improvement strategies by determining current capabilities and identifies the issues mostcritical to improvement. The RCM is a self-assessment and planning aid for improving anorganization’s reuse capability which adheres to these concepts of technology adoption andimprovement. Due to situational factors, such as budget, schedule, the business environment, etc., anorganization’s actual reuse performance may not reflect its capability. Thus, these Factors should betaken into consideration when selecting an improvement strategy. It is not necessarily true that theproper business decision is to improve an organization’s reuse capability to the highest extentpossible-it may not be worth the investment in the given business environment. The Consortium’sreuse adoption process applies the RCM with respect to an organization’s environment and inconjunction with a reuse economics model to aid the organization in making an intelligent businessdecision on how to practice reuse.Need of RCM:Software reuse is becoming a viable and widespread practice as evidenced by the cases documented.However, many companies are not achieving their full potential for reuse, many have haddisappointing results from their reuse efforts, and many are still avoiding reuse altogether. Theproblem arises when organizations approach reuse as an independent collection of tools andtechniques, or when an organization focuses on the technical issues of reuse without adequatelyaddressing the nontechnical issues. To improve the results an organization achieves through reuserequires that the organization take comprehensive view of its process for software development andaddress the technical and nontechnical issues within this context. Toshiba is an example of anorganization which did take a comprehensive view of its process. Toshiba’s success at systematizingreuse to their integrated set of tools, techniques, management procedures, controls, incentives, andtraining programs. Taking a comprehensive view of an organization’s process and addressing themyriad issues critical to reuse can be an overwhelming task in the absence of any formal approach.The reuse adoption process and the RCM together provide a degree of formality which can help anorganization address this problem. The RCM captures the issues critical to improving anorganization’s reuse capability. The reuse adoption process provides the means to apply the RCM-taking into account the organization’s situation-to determine the most appropriate course of action.How organizations will benefit from an RCM include: Potential benefits to organizations using theRCM Improved performance from reuse (cost, schedule, quality, productivity, and return oninvestment, customization, and competitiveness). The RCM identifies what can be accomplished toimprove these results. Lower risk of implementing a reuse program. The RCM supports evolutionaryapproaches for advancing reuse capability.Purpose, audience, and scope of the RCM:The RCM is a self-assessment and planning aid for improving an organization’s reuse capability.Obtaining better results through reuse is the aim of the RCM. The RCM is used within the reuseadoption process to aid an organization in making an intelligent business decision on how to practicereuse. The primary users of the RCM are companies who are developing/maintaining multiplesoftware systems, versions, and/or products for one or more customers. The model may be used byorganizations that have no reuse program and are planning to start one, as well as organizations thathave a reuse program in place and plan to improve their reuse capability. Specifically, the model isapplied by those individuals within an organization who are responsible for defining andimplementing the organization’s reuse program. Use of the model requires an organization to take a
Sukhpal Singh M.E. (S.E.) 801131024comprehensive view of its process for software development with respect to reuse. The model isapplied across the levels of an organization from the product level, through the product line level, tothe business level. It is applied across the organization’s functional boundaries, such as management,engineering, legal, marketing, research, etc. It also requires a company to look outside of its ownboundaries to its customers and suppliers.Context for applying the RCM:The RCM is applied within the reuse adoption process. The reuse adoption process is a process forimplementing a reuse program. The reuse adoption process is based on the implementation model.The reuse adoption process includes the following activities:Initiate Reuse Program Development: The purpose of this activity is to obtain commitment from asponsor to investigate reuse as a means for supporting organizational objectives. It includes theidentification of organizational objectives and reuse opportunities.Define Reuse Program: The purpose of this activity is to scope and define the reuse program. Itincludes the definition of objectives for the reuse program, assessing the current situation with respectto reuse, setting reuse adoption goals, identification of constraints, and identification of alternativereuse adoption strategies.Analyse Reuse Adoption Strategies: The purpose of this activity is to refine, evaluate, and select areuse adoption strategy for implementing a reuse program. It includes the assessment of risksassociated with each alternative strategy.Develop Reuse Action Plan: The purpose of this activity is to develop a plan for implementing areuse program based on the selected reuse adoption strategy. It includes the identification of the tasks,resources, and schedule for implementing the reuse program.Implement and Monitor Reuse Program: The purpose of this activity is to enact the reuse actionplan. It includes monitoring progress against the plan and making any necessary adjustments.Components of the RCM:To successfully adopt a new technology, the organization must understand its present state of practice,be able to identify the desired state of practice, and develop a strategy that will successfully move theorganization toward the desired state. Many organizations today do not have a clear understanding ofthe state of their reuse practice. It thus becomes very difficult to develop a strategy that would lead toan improved reuse practice.Reuse capability: Reuse capability refers to the range of reuse results an organization is able toachieve through its process improving these results, and their range, is the purpose of the RCM. Toimprove these results requires they be precisely defined. Thus, reuse capability is: The range ofelected results in reuse proficiency, efficiency, and effectiveness that can be achieved by anorganization’s process. Reuse proficiency and efficiency are defined in terms of reuse opportunities.A reuse opportunity is an occasion where an asset may satisfy a need. A targeted reuse opportunitymay not always be a potential reuse opportunity.Reuse proficiency: Reuse proficiency is the ratio of the value of actual reuse opportunities exploitedto the value of potential reuse opportunities. It may be represented as: RA/RP, where: RA = Totalvalue of the actual reuse opportunity- RP= Total value of the potential reuse opportunity.Reuse efficiency: Reuse efficiency is the ratio of the actual reuse opportunities exploited to theorganization’s targeted reuse opportunities. The target may be implicitly or explicitly defined. Reuseefficiency may be represented as: RA/RT, where: RT = Total value of the targeted opportunities.
Sukhpal Singh M.E. (S.E.) 801131024Figure 1 present’s two possible cases: one resulting in a low reuse capability, the other in a high reusecapability. The low reuse capability case is characteristic of an ad hoc approach to reuse where thepotential opportunities are not identified .Since the potential opportunities are not known, the targetopportunities will likely fall outside the potential opportunities. The target opportunities may also notbe explicitly defined, but represent the sum of the opportunities pursued by individuals. When thetarget opportunities fall outside the potential opportunities, the actual reuse is constrained to theintersection. The end result is a low reuse efficiency and proficiency. The reuse effectiveness’s alsolikely to below since effort is expended on opportunities which do not result in actual reuse. Thesecond case is characteristic of systematic reuse where the organization identifies its potentialopportunities, ensures the target set of opportunities falls within the potential, and has a process whichensures the target is met. The target may not contain the entire set of entail opportunities because thepotential benefit g m those opportunities outside the target may not be worth the additional reuseinvestment; i.e., the target is focused on the opportunities with the highest payoff.Assessment model:The assessment model is a mechanism to be used by an organization to gain an understanding of itscurrent reuse capability and to identify potential opportunities for improving its capability. However,it is not sufficient to develop a plan based on reuse capability alone-other factors, such asorganizational goals, budget, schedule, domain suitability, etc., vary with the situation and should betaken into consideration.A) Critical success factors: The assessment model consists of a set of critical success factors whichcorrespond to issues most critical to improving reuse capability. For instance, one factor critical toimproving reuse proficiency is needs identification. For an asset to be reused it must satisfy a need;thus, an organization should identify these needs and use them as a basis to acquire/develop reusableassets. This will help improve the organizations reuse proficiency by focusing its efforts where thereare needs to be filled. Another factor, planning and direction, is critical to improving reuse efficiency.That is, to successfully exploit targeted reuse opportunities the organization can develop a strategy forexploiting those opportunities and direct its activities in accordance with the strategy.
Sukhpal Singh M.E. (S.E.) 801131024B) Critical success factor goals: Each of the critical success factors are defined in terms of one ormore goals. The goals indented the results to be achieved to satisfy a critical success factor. There aremany ways to perform reuse and new ways will continue to be developed. Thus, the critical successfactor goals focus on “what” is to be accomplished rather than “how” it is to be accomplished toprovide the needed flexibility. For example, goals for the needs identification factor state:1. Current developer needs for solutions are identified.2. Anticipated developer needs for solutions are identified.3. Current customer needs for solutions are identified.4. Anticipated customer needs for solutions are identified.5. Identified needs are used as a basis for acquiring.Implementation model:Establishing improvement goals and developing strategies to meet those goals can be a very complextask when taking into account the wide spectrum of information generated from the assessment. Theimplementation model helps reduce this complexity prioritizing the goals associated with the criticalsuccess Factors and partitioning the goals into stages. The stages represent possible operational steadystates in an organization’s reuse practice, and successive stages build on practices established atearlier stages. The set of implementation stages will vary depending on the scheme used to prioritizeand partition the goals. There are multiple paths to success and there is no one best path for allorganizations. Thus, there can be multiple implementation models. This first implementation model isdesigned to be applicable to a broad audience. It is based on a risk-reduction growth scheme, i.e., thegoals are prioritized in a manner which reduces the probability of failure and minimizes theconsequence of failure. An implementation model based on a risk-reduction growth scheme has anumber of advantages. It increases an organization’s probability of success in implementing reuse. Itallows for an earlier return on investment. It encourages organizations to try reuse, and it enablesthem to evolve their reuse practice. A two-step process was used to develop an implementation model.In the first step, a dependency graph of the critical success factor goals was constructed. Thedependency graph identifies which goals are sequentially dependent and which goals are mutuallydependent. In the second step, the goal was partitioned into stages. The goals were partitioned intostages such that the dependencies identified in the dependency rap were not violated; goals whichwould require significant changes to an organization’s way of doing business were distributed asevenly as possible across the stages and a stage constituted a possible steady state.a) Implementation model stages: There are four stages in the risk-reduction growth implementationmodel: opportunistic, integrated, leveraged, and anticipating.
Sukhpal Singh M.E. (S.E.) 801131024Opportunistic: Individual projects develop a reuses rate . The project staffs support the reuse strategyand resources are committed to enact the strategy. Reuse activities are defined in the project’ssoftware plan. Specialized reuse tools, automated or non-automated, are used where advantageous tosupport the defined reuse activities.Integrated: A standard reuse process is defined and integrated with the organization’s standardsoftware development process. The organization’s structure, policies, procedures, etc., support thestandard process. Tools are tailored to support the standard process. The management and staff areactively involved in defining and implementing the standard process. Anticipated developer needs areidentified and used as a basis for acquiring or developing reusable assets.Leveraged: A product line reuse strategy is developed to maximize the benefits of reuse over sets ofrelated products, and product pricing and funding strategies take into account the expected costs andbenefits over the product line. Performance of the standard reuse process is measured and analysed toidentify weaknesses, and plans are established to address the weaknesses. Reuse tools are integratedwith the software development environment. Current customer needs are identified and used as a basisfor acquiring or developing reusable assets.Anticipating: Management creates new business opportunities which take advantage of theorganization’s reuse capability and reusable assets. High payoff assets are identified. Customers’needs are anticipated and used as a basis to acquire/develop reusable assets to meet those needs. Newtechnologies are identified which will meet or drive customer needs and are inserted into theorganization’s product lines.Using the implementation model: The implementation model would likely be used by the same group that conducted the assessment.The people should have sufficient authority to develop a plan or implementing reuse in itsorganization. The group uses the implementation model to assist them in establishing achievable reuseadoption goals and evaluating alternative reuse adoption strategies To use the implementation modelthe group first maps the results of the assessment which goals were ion model-this step is mechanicalsince the stages represent a partition of the goals in the assessment model. The result is a profile ofwhich goals at which stages are satisfied hot satisfied. It is possible there will be a mix ofsatisfied/unsatisfied goals at each stage. The correct way to interpret this result is that to reduce riskthe organization should give greater emphasis to meeting unsatisfied goals in early stages overunsatisfied goals in later stages-it does not mean that they must meet earlier stage goals before laterstage goals. Once reuse adoption goals are established, the group generates alternative reuse adoptionstrategies. Then the reuse adoption goals are used to evaluate the strategies. The implementationmodels not used directly in generating alternative strategies.