the reuse capability model

5
Sukhpal Singh M.E. (S.E.) 801131024 REUSE CAPABILTY MODEL Introduction: The Software Productivity Consortium has developed a Reuse Capability Model (RCM) which can be used by an organization to assess its own reuse capability and develop a plan for improving its capability. An organization’s strategy for adopting a reuse technology should be based on a vision for improving the organization’s way of doing business. In general, a capability model is a guide for selecting improvement strategies by determining current capabilities and identifies the issues most critical to improvement. The RCM is a self-assessment and planning aid for improving an organization’s reuse capability which adheres to these concepts of technology adoption and improvement. Due to situational factors, such as budget, schedule, the business environment, etc., an organization’s actual reuse performance may not reflect its capability. Thus, these Factors should be taken into consideration when selecting an improvement strategy. It is not necessarily true that the proper business decision is to improve an organization’s reuse capability to the highest extent possible-it may not be worth the investment in the given business environment. The Consortium’s reuse adoption process applies the RCM with respect to an organization’s environment and in conjunction with a reuse economics model to aid the organization in making an intelligent business decision 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 had disappointing results from their reuse efforts, and many are still avoiding reuse altogether. The problem arises when organizations approach reuse as an independent collection of tools and techniques, or when an organization focuses on the technical issues of reuse without adequately addressing the nontechnical issues. To improve the results an organization achieves through reuse requires that the organization take comprehensive view of its process for software development and address the technical and nontechnical issues within this context. Toshiba is an example of an organization which did take a comprehensive view of its process. Toshiba’s success at systematizing reuse to their integrated set of tools, techniques, management procedures, controls, incentives, and training programs. Taking a comprehensive view of an organization’s process and addressing the myriad 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 an organization address this problem. The RCM captures the issues critical to improving an organization’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 the RCM Improved performance from reuse (cost, schedule, quality, productivity, and return on investment, customization, and competitiveness). The RCM identifies what can be accomplished to improve these results. Lower risk of implementing a reuse program. The RCM supports evolutionary approaches 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 reuse adoption process to aid an organization in making an intelligent business decision on how to practice reuse. The primary users of the RCM are companies who are developing/maintaining multiple software systems, versions, and/or products for one or more customers. The model may be used by organizations that have no reuse program and are planning to start one, as well as organizations that have a reuse program in place and plan to improve their reuse capability. Specifically, the model is applied by those individuals within an organization who are responsible for defining and implementing the organization’s reuse program. Use of the model requires an organization to take a

Upload: sukhpalsinghgill

Post on 18-Nov-2014

578 views

Category:

Education


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: The reuse capability model

Sukhpal Singh M.E. (S.E.) 801131024

REUSE CAPABILTY MODEL Introduction:

The Software Productivity Consortium has developed a Reuse Capability Model (RCM) which can be

used by an organization to assess its own reuse capability and develop a plan for improving its

capability. An organization’s strategy for adopting a reuse technology should be based on a vision for

improving the organization’s way of doing business. In general, a capability model is a guide for

selecting improvement strategies by determining current capabilities and identifies the issues most

critical to improvement. The RCM is a self-assessment and planning aid for improving an

organization’s reuse capability which adheres to these concepts of technology adoption and

improvement. Due to situational factors, such as budget, schedule, the business environment, etc., an

organization’s actual reuse performance may not reflect its capability. Thus, these Factors should be

taken into consideration when selecting an improvement strategy. It is not necessarily true that the

proper business decision is to improve an organization’s reuse capability to the highest extent

possible-it may not be worth the investment in the given business environment. The Consortium’s

reuse adoption process applies the RCM with respect to an organization’s environment and in

conjunction with a reuse economics model to aid the organization in making an intelligent business

decision 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 had

disappointing results from their reuse efforts, and many are still avoiding reuse altogether. The

problem arises when organizations approach reuse as an independent collection of tools and

techniques, or when an organization focuses on the technical issues of reuse without adequately

addressing the nontechnical issues. To improve the results an organization achieves through reuse

requires that the organization take comprehensive view of its process for software development and

address the technical and nontechnical issues within this context. Toshiba is an example of an

organization which did take a comprehensive view of its process. Toshiba’s success at systematizing

reuse to their integrated set of tools, techniques, management procedures, controls, incentives, and

training programs. Taking a comprehensive view of an organization’s process and addressing the

myriad 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 an

organization address this problem. The RCM captures the issues critical to improving an

organization’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 the

RCM Improved performance from reuse (cost, schedule, quality, productivity, and return on

investment, customization, and competitiveness). The RCM identifies what can be accomplished to

improve these results. Lower risk of implementing a reuse program. The RCM supports evolutionary

approaches 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 reuse

adoption process to aid an organization in making an intelligent business decision on how to practice

reuse. The primary users of the RCM are companies who are developing/maintaining multiple

software systems, versions, and/or products for one or more customers. The model may be used by

organizations that have no reuse program and are planning to start one, as well as organizations that

have a reuse program in place and plan to improve their reuse capability. Specifically, the model is

applied by those individuals within an organization who are responsible for defining and

implementing the organization’s reuse program. Use of the model requires an organization to take a

Page 2: The reuse capability model

Sukhpal Singh M.E. (S.E.) 801131024

comprehensive view of its process for software development with respect to reuse. The model is

applied across the levels of an organization from the product level, through the product line level, to

the 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 own

boundaries 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 for

implementing 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 a

sponsor to investigate reuse as a means for supporting organizational objectives. It includes the

identification of organizational objectives and reuse opportunities.

Define Reuse Program: The purpose of this activity is to scope and define the reuse program. It

includes the definition of objectives for the reuse program, assessing the current situation with respect

to reuse, setting reuse adoption goals, identification of constraints, and identification of alternative

reuse adoption strategies.

Analyse Reuse Adoption Strategies: The purpose of this activity is to refine, evaluate, and select a

reuse adoption strategy for implementing a reuse program. It includes the assessment of risks

associated with each alternative strategy.

Develop Reuse Action Plan: The purpose of this activity is to develop a plan for implementing a

reuse 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 action

plan. 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 the

organization toward the desired state. Many organizations today do not have a clear understanding of

the state of their reuse practice. It thus becomes very difficult to develop a strategy that would lead to

an improved reuse practice.

Reuse capability: Reuse capability refers to the range of reuse results an organization is able to

achieve through its process improving these results, and their range, is the purpose of the RCM. To

improve these results requires they be precisely defined. Thus, reuse capability is: The range of

elected results in reuse proficiency, efficiency, and effectiveness that can be achieved by an

organization’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 opportunity

may not always be a potential reuse opportunity.

Reuse proficiency: Reuse proficiency is the ratio of the value of actual reuse opportunities exploited

to the value of potential reuse opportunities. It may be represented as: RA/RP, where: RA = Total

value 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 the

organization’s targeted reuse opportunities. The target may be implicitly or explicitly defined. Reuse

efficiency may be represented as: RA/RT, where: RT = Total value of the targeted opportunities.

Page 3: The reuse capability model

Sukhpal Singh M.E. (S.E.) 801131024

Figure 1 present’s two possible cases: one resulting in a low reuse capability, the other in a high reuse

capability. The low reuse capability case is characteristic of an ad hoc approach to reuse where the

potential opportunities are not identified .Since the potential opportunities are not known, the target

opportunities will likely fall outside the potential opportunities. The target opportunities may also not

be explicitly defined, but represent the sum of the opportunities pursued by individuals. When the

target opportunities fall outside the potential opportunities, the actual reuse is constrained to the

intersection. The end result is a low reuse efficiency and proficiency. The reuse effectiveness’s also

likely to below since effort is expended on opportunities which do not result in actual reuse. The

second case is characteristic of systematic reuse where the organization identifies its potential

opportunities, ensures the target set of opportunities falls within the potential, and has a process which

ensures the target is met. The target may not contain the entire set of entail opportunities because the

potential benefit g m those opportunities outside the target may not be worth the additional reuse

investment; 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 its

current 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 as

organizational goals, budget, schedule, domain suitability, etc., vary with the situation and should be

taken into consideration.

A) Critical success factors: The assessment model consists of a set of critical success factors which

correspond to issues most critical to improving reuse capability. For instance, one factor critical to

improving 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 reusable

assets. This will help improve the organization's reuse proficiency by focusing its efforts where there

are 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 for

exploiting those opportunities and direct its activities in accordance with the strategy.

Page 4: The reuse capability model

Sukhpal Singh M.E. (S.E.) 801131024

B) Critical success factor goals: Each of the critical success factors are defined in terms of one or

more goals. The goals indented the results to be achieved to satisfy a critical success factor. There are

many ways to perform reuse and new ways will continue to be developed. Thus, the critical success

factor goals focus on “what” is to be accomplished rather than “how” it is to be accomplished to

provide 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 complex

task when taking into account the wide spectrum of information generated from the assessment. The

implementation model helps reduce this complexity prioritizing the goals associated with the critical

success Factors and partitioning the goals into stages. The stages represent possible operational steady

states in an organization’s reuse practice, and successive stages build on practices established at

earlier stages. The set of implementation stages will vary depending on the scheme used to prioritize

and partition the goals. There are multiple paths to success and there is no one best path for all

organizations. Thus, there can be multiple implementation models. This first implementation model is

designed to be applicable to a broad audience. It is based on a risk-reduction growth scheme, i.e., the

goals are prioritized in a manner which reduces the probability of failure and minimizes the

consequence of failure. An implementation model based on a risk-reduction growth scheme has a

number of advantages. It increases an organization’s probability of success in implementing reuse. It

allows for an earlier return on investment. It encourages organizations to try reuse, and it enables

them 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. The

dependency graph identifies which goals are sequentially dependent and which goals are mutually

dependent. In the second step, the goal was partitioned into stages. The goals were partitioned into

stages such that the dependencies identified in the dependency rap were not violated; goals which

would require significant changes to an organization’s way of doing business were distributed as

evenly 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 implementation

model: opportunistic, integrated, leveraged, and anticipating.

Page 5: The reuse capability model

Sukhpal Singh M.E. (S.E.) 801131024

Opportunistic: Individual projects develop a reuses rate . The project staffs support the reuse strategy

and resources are committed to enact the strategy. Reuse activities are defined in the project’s

software plan. Specialized reuse tools, automated or non-automated, are used where advantageous to

support the defined reuse activities.

Integrated: A standard reuse process is defined and integrated with the organization’s standard

software development process. The organization’s structure, policies, procedures, etc., support the

standard process. Tools are tailored to support the standard process. The management and staff are

actively involved in defining and implementing the standard process. Anticipated developer needs are

identified 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 of

related products, and product pricing and funding strategies take into account the expected costs and

benefits over the product line. Performance of the standard reuse process is measured and analysed to

identify weaknesses, and plans are established to address the weaknesses. Reuse tools are integrated

with the software development environment. Current customer needs are identified and used as a basis

for acquiring or developing reusable assets.

Anticipating: Management creates new business opportunities which take advantage of the

organization’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. New

technologies are identified which will meet or drive customer needs and are inserted into the

organization’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 its

organization. The group uses the implementation model to assist them in establishing achievable reuse

adoption goals and evaluating alternative reuse adoption strategies To use the implementation model

the group first maps the results of the assessment which goals were ion model-this step is mechanical

since the stages represent a partition of the goals in the assessment model. The result is a profile of

which goals at which stages are satisfied hot satisfied. It is possible there will be a mix of

satisfied/unsatisfied goals at each stage. The correct way to interpret this result is that to reduce risk

the organization should give greater emphasis to meeting unsatisfied goals in early stages over

unsatisfied goals in later stages-it does not mean that they must meet earlier stage goals before later

stage goals. Once reuse adoption goals are established, the group generates alternative reuse adoption

strategies. Then the reuse adoption goals are used to evaluate the strategies. The implementation

models not used directly in generating alternative strategies.