Conference PaperPDF Available

A Lightweight Technology Change Management Approach to Facilitating Reuse Adoption

Authors:

Abstract and Figures

The growing interest of software reuse by software organizations makes adoption and evaluation of reuse an essential activity. Many organi- zations struggle in their attempts to select appropriate reuse practices (meth- ods, techniques and tools support) in their processes. In this way, we propose a lightweight technology change management approach to facilitate the adop- tion of software reuse practices, according to the organization’s software reuse capability.
Content may be subject to copyright.
193
A Lightweight Technology Change Management Approach to
Facilitating Reuse Adoption
Vinicius Cardoso Garcia1,2, Liana Barachisio Lisboa1,2, Frederico Ara ´
ujo Dur˜
ao2,
Eduardo Santana de Almeida2, Silvio Romero de Lemos Meira1,2
1Informatics Center – Federal University of Pernambuco
Recife, Pernambuco, Brazil
{vcg,lbl2,srlm}@cin.ufpe.br
2C.E.S.A.R – Recife Center for Advanced Studies and Systems
Recife, Pernambuco, Brazil
{frederico.durao,eduardo.almeida}@cesar.org.br
Abstract. The growing interest of software reuse by software organizations
makes adoption and evaluation of reuse an essential activity. Many organi-
zations struggle in their attempts to select appropriate reuse practices (meth-
ods, techniques and tools support) in their processes. In this way, we propose
a lightweight technology change management approach to facilitate the adop-
tion of software reuse practices, according to the organization’s software reuse
capability.
1. Introduction
Software development today faces several challenges. There is a critical need to reduce
cost, effort, and time-to-market of software products, but, at the same time, complexity
and size of products are rapidly increasing and customers are requesting more and more
quality products tailored to their individual needs [Broy et al. 2001]. Our research thesis
is that software development based on a framework for incremental reuse adoption in the
development process improves the quality, team productivity and time-to-market of many
software development organizations.
However, there are many problems regarding the adoption of a new process into
an organization, such as the natural resistance to changes, lack of credibility in the
new process, among others [Frakes and Isoda 1994, Almeida et al. 2007]. But they are
not just restricted to reuse. This is why there are incremental models, such as CMMI
[SEI/CMU 2008] and MPS.BR [SOFTEX 2007], which help in this migration process.
In this context, we propose a Lightweight Technology1Change Management Ap-
proach to Facilitating Reuse Adoption, using the RiSE Reference Model (RiSE-RM)
[Garcia et al. 2007] to guide the software reuse practices introduction based on the or-
ganization’s software reuse capability.
1According to Merriam-Webster dictionary, Technology is the practical application of knowledge es-
pecially in a particular area; or a manner of accomplishing a task especially using technical processes,
methods, or knowledge. Available at http://www.merriam-webster.com/dictionary/technology
194
2. Background: The Technology Change Management
Generally speaking, a Technology Change Management (TCM) is the process of devel-
oping a planned approach to the replacement of a legacy technology by a new one in an
organization [SEI/CMU 2008]. The structured approach comprises the procedures and
management activities for planning and monitoring the transition from one organizational
structure, or business process, to another when a new technology is introduced, and it is
used for efficient and prompt handling of all changes.
Technology Change Management was born in 1996 when Litton PRC Inc. began
a program designed to systematically manage the incorporation of effective technolo-
gies into the organizations [Rios et al. 2006]. Nowadays, TCM is a key part of many of
the existing capability maturity models. In the Software Engineering Institute’s Capa-
bility Maturity Model Integration (CMMI) model [SEI/CMU 2008], TCM is related to
organization’s quality and process performance objectives consecution and is part of the
Organizational Innovation & Deployment (OID), which is a Key Process Area in Level 5
- Optimizing in the Staged view of the model, and a Process Area inside Process Man-
agement in the Continuous view. In Electronic Industries Alliance’s Systems Engineering
Capability Model (SECM) [IHS 2008], TCM exists in a Focus Area named Manage Tech-
nology.
The problems related to reuse adoption and TCM were organized in the context
of the RiSE (Reuse in Software Engineering) project. When applied to RiSE framework
[Almeida et al. 2004], the TCM guidelines for Software Reuse Adoption (RiSE-TCM)
are a comprehensive set of guidance intended to advise organizations on how to carry
out the technology change management when adopting the software reuse approach for
software system development.
3. The RiSE-TCM Guidelines
RiSE-TCM Guidelines provide a comprehensive support to determine the business and
technological drivers for software reuse in a given organization, to set measurable achiev-
able business goals and to develop an action plan tracking these indicators to assess the
progress and measure the achievement.
Before starting the changes, the organization’s RiSE-RM maturity level has to be
assessed providing guidance on a possible roadmap in accordance with the maturity level
objectives [Garcia et al. 2007].
The RiSE-TCM action plan definition is based on organization’s business objec-
tives in accordance with the RiSE Adoption Process Framework (RiSE-APF) and the
RiSE-RM. The RiSE-APF provides a structured collection of engineering and manage-
ment practices for software reuse enriched with support material such as templates, refer-
ences to tools and techniques, while the RiSE-RM establishes a roadmap for adoption of
the software reuse practices. It can also be used for evaluating the level of institutional-
ization of software reuse in a given organization.
The activities in the RiSE-TCM action plan are based on the definition and the
tracking of the business and engineering metrics provided in the Reuse Metrics Frame-
work catalogue. The Reuse Business Metrics are a set of business metrics and indicators
to assess the business success of software reuse approach adoption in an organization.
195
They provide managers with the objective information needed to measure the successful
impact of software reuse adoption from a business perspective. The action plan provides
also a set of metrics for monitoring the institutionalization.
The Reuse Engineering Metrics and measures are used on projects when software
reuse is set up, are the drivers for monitoring the performance of software reuse processes
and are, for some of them, used to calculate the Business metrics.
The relationship between these elements and their corresponding deliverables are
depicted in the RiSE Adoption Process Framework conceptual model (Figure 1). In this
model, we can see how the RiSE-APF elements relates to others external elements. In
this Figure, shaded boxes identify RiSE related elements.
Figure 1. Conceptual model of the RiSE-APF
Basically, the framework is composed of four main modules: (i) the RiSE Ref-
erence Model (RiSE-RM) [Garcia et al. 2007], with the purpose of determining which
process areas, goals and key practices should be considered, intended to advise organi-
zations on how to carry out the technology change management when adopting the reuse
approach, including a group of techniques, metrics, guidelines and tools; (ii) the RiSE
Assessment Method (RiSE-AM) [Garcia et al. 2008] evaluates the organization’s reuse
capability and aids in planning the strategy to introduce reuse practices into the organi-
zation’s process; (iii) the RiSE Technology Change Management, topic of this paper,
responsible for supporting organizations in defining their system development processes
by providing a structured set of guidelines, aiding the organization to ensure success-
ful adoption of reuse through reuse business and technological drivers; and (iv) a Reuse
Metrics Framework, responsible for defining a set of metrics to track the reuse adoption
process and the return on reuse investment in a controlled way.
3.1. Common Principles for RiSE-TCM
The requirements, which determine the scope of the RiSE-TCM guidelines, are:
-The RiSE-TCM guidelines provide a comprehensive support to determine the
business and technological drivers for software reuse in a given organization, to set mea-
surable achievable business goals and to develop an action plan tracking these indicators
to assess progress.
196
-The RiSE-TCM plan builds the business case for software reuse according to the
organization’s characteristics (i.e, size, maturity and better development practices), uses
the RiSE-RM as a roadmap for software reuse deployment and identifies the path for a
cost-effective adoption of software reuse practices.
-The RiSE-TCM guidelines provide a process to help an organization in the tran-
sition from another technology to software reuse technology.
-The RiSE-TCM guidelines explain an organization how to gain in maturity with
software reuse technology.
This guide is based on the fact that software reuse benefits demonstrated through
RiSE-RM and the RiSE-APF is sufficient for deployment.
4. The RiSE-TCM Process
The RiSE-TCM process uses the RiSE-RM and the results of the RiSE-AM to guide
the reuse adoption and the transition of the maturity levels, according to the RiSE-RM
levels. An organization can evolve in the maturity levels by making some changes in its
structure or process, and adopting some features and benefits of the particular levels of
reuse practice.
Figure 2 shows the main phases of the
Figure 2. RiSE-TCM Process
proposed RiSE-TCM Process and the life cycle
of the plans.
The organization’s mission, business
strategy and goals drive the reuse adoption and
improvement effort. The process intends to
support those goals by means of using software
reuse, and the methods, processes and tools re-
lated to it. The set-up practices associated to
reuse in the first iteration will probably need to
be improved or extended in further iterations
for better achievement of the organization’s ob-
jectives. This process and the time spent have
to be tailored in accordance with the context of
the organization’s structure, its business goals,
the maturity in managing improvement changes of the organization, and the reuse skills
of the involved people.
4.1. First Phase: Adoption/Improvement Reuse Strategy - Goals Definition
The purpose of the first phase, in the RiSE-TCM process, is to identify the business goals
of the organization for which software reuse may be helpful, and to build a Reuse Adop-
tion/Improvement Strategy that addresses the attainment of those goals.
This phase is composed of four main steps:
Step 4.1.1 Identify Business Goals and Drivers for Reuse Adoption/Improvement.
Identify the business goals and drivers for which reuse is foreseen helpful, can be used the
RiSE-AM or another specific methodology, such as the Balanced IT Scorecard method-
ology [EIS 2008], as an aid.
197
Step 4.1.2 Develop Reuse Adoption/Improvement Proposal. Build the Reuse
Adoption/Improvement proposal (RAIP) specifying: (i) which are the objectives and the
approaches to address them; (ii) which are the Reuse Adoption/Improvement constraints,
e.g. costs, duration and so on; and, (iii) identify the risks and the strategies the solve, or
minimize them. This will be the basis for the adopt/do not adopt software reuse decision.
Step 4.1.3 Ensure Sponsorship and Needed Resources. Ensure all the needed
resources for starting the RAIP are available: approval and funding, management support,
motivation, human resources, other type of resources, among others.
Step 4.1.4 Set up the Reuse Adoption/Improvement Proposal Infrastructure. Build
and set up the needed infrastructure to carry out the plan in the proposal: working groups,
roles, responsibilities, etc.
4.2. Second Phase: Reuse Maturity Level Evaluation
The purpose of the Reuse Maturity Level Evaluation is to get an understanding of the
organization’s situation with respect to those business goals identified in the previous
phase. This assessment is in terms of technical (i.e. processes, methods, tools, etc.)
and non technical (i.e. organization structure, culture and educational problems, best
practices, etc.) issues. The assessment is focused on:
Estimating the depth of implementation of specific reuse practices.
Checking that the established business and engineering objectives are understood
by the staff and their monitoring is supported by appropriate measurement plan
and engineering metrics.
Checking that people have sufficient training in software reuse or get adequate
on-the-job support, that the tools used are appropriate and that the measurement
team is prepared for its job.
Identifying continuous opportunities for improvement of the used reuse-related
processes, methods and tools.
The assessment can be formal or performed internally following a lighter process,
such as the RiSE-AM. In both cases, the use of a reference model to characterize the matu-
rity degree of the organization’s reuse capabilities is necessary. In the RiSE-TCM process
the RiSE-RM is recommend to be used as a reference. This phase must be a continuous
effort in order to promote the optimizing of the reuse practices in the organization.
The assessment results must be stored in a knowledge base in order to build a
lessons learned repository about reuse capability in organization. The cases stored in
this knowledge base should be consulted during a new assessment as a guide to aid the
assessment team.
Whatever assessment process used, it is generally decomposed in three steps. As-
sessment team involves external actors from the RiSE-TCM responsible team as people
from the targeted perimeter and process improvement people. The assessment team is
composed of a lead assessor and assessors.
The three steps of this phase are:
Step 4.2.1 Prepare the Assessment. The purpose of this step is to gather argu-
ments in favor of the reuse adoption program at the organization and to start the activities
198
to perform the assessment, plan the assessment, prepare the necessary documentation for
the assessment realization and perform an initial assessment to allow to verify if the orga-
nization is ready for the RiSE-AM in the intended reuse maturity level.
Step 4.2.2 Perform the Assessment. The purpose of this step is to train the team for
the accomplishment of the final assessment, to drive the final assessment, to communicate
their results to the assessed organization and to evaluate the execution of the assessment
method in the organization.
Step 4.2.3 Document the Assessment Results. The purpose of this step is to elabo-
rate the Assessment Report, to gather the final assessment documentation and to send it to
the designated auditor. After the approval of the documentation, the lead assessor sends
to the sponsor the Assessment Report and communicates the result of the assessment.
The need of formal assessment (or assessment performed by external people) de-
pends on the organization knowledge level in the domain of process improvement and
appraisal, and also the availability of reuse expertise in the organization. It could be also
linked to a need of official rating of the maturity level. The process used for the assess-
ment could be based on RiSE-AM (as cited before). Moreover, the organization assess-
ment team can choose another process, such as: ISO/IEC 15504-2:2003 [ISO/IEC 2003],
SPICE project [Alec Dorling et al. 1997], SCAMPI [SEI 2001] or an internally defined
process.
The assessment results are used internally by the organization. According to these
results, the organization will choose which reuse practices should be implemented, linked
with RiSE-RM maturity level: full implementation of the maturity level practices; partial
implementation or cancel the reuse adoption.
4.3. Third Phase: Reuse Adoption/Improvement Planning
The Reuse Adoption/Improvement Planning phase is mainly for developing all the nec-
essary plans to start a structured use of the software reuse technology in the organization.
The software reuse technology will be introduced step by step in the organization. There-
fore, use of the technology will be preceded by trials of possible reuse solutions applicable
to selected system development areas. The selection of those areas will be driven by the
reuse assessment results.
The different steps of the Reuse Adoption/Improvement Planning are:
Step 4.3.1 Refine the Reuse strategy. According to the results of the reuse assess-
ment, the reuse strategy has to be refined to set measurable achievable business goals.
Business goals are prioritized and indicators to be tracked during the selected adop-
tion/improvement activities are designed.
Step 4.3.2 Develop Adoption/Improvement Plan. Develop the strategic Reuse
Adoption/Improvement plan (long term), which report the Reuse Strategy and goals.
Step 4.3.3 Develop the Transition Plan. Develop the transition plan. “Transition”
will be from the current status to a more improved status, that is, adoption action plan or
improvement action plan. This action plan is the refinement of the RAIP, with finalized
roles, activities and tactical plans for all the groups.
199
4.4. Fourth Phase: Implementation of the Reuse Adoption/Improvement Pilot
This phase consists mainly in implementing and monitoring several trials or pilot projects
in which software reuse is used in those areas of the system development identified as
improvement candidates in the previous phase. The trials will be carried out following
the general planning (Reuse Transition Plan) made during the previous phase, but the
specific plan for each of the trials will be developed herein.
This phase is composed by five steps, as follow:
Step 4.4.1 Train the practitioners. Form the technical groups that will carry out
the specific adoption / improvement activities.
Step 4.4.2 Develop or reuse solutions. Develop several possible solutions for the
improvement of a specific problem in the organization.
Step 4.4.3 Pilot solutions: design and implement reuse trials. Carry out pilot
activities or trials for testing each proposed solution in at least one project. Monitor the
progress and the results of the trials by means of selected metrics.
Step 4.4.4 Select best solution. Select the solution with better benefits, the one
that maximizes the business goals with more priority.
Step 4.4.5 Identify long-term needs. Collect the identified long-term needs in
terms of the needed resources and infrastructure for supporting the improvement for the
long term (a few years).
4.5. Fifth Phase: Reuse Deployment
In order to continuously introduce the identified successful reuse solutions (methods,
practices, tools, or combinations of these) into the daily activity of the whole organi-
zation, the RiSE-TCM team should start the Reuse Deployment.
The Reuse Adoption/Improvement solutions have been validated through pilots
and the planned objectives of improvement have been demonstrated. The risks on the
maturity of the tools used with the reuse maturity level to reach have been mitigated and
the impacts on the current development process have been evaluated.
Moreover, the Reuse Adoption/Improvement solutions should be deployed, as ap-
propriate, to new and ongoing projects. The management of the deployment has to be
performed as a unique project.
The purposes of the Reuse Deployment’s steps are:
Step 4.5.1 Prepare the Reuse Deployment: Develop the Reuse Deployment Plan
that will make possible to roll out the proved solutions all across the organization identi-
fied in the previous phase.
Step 4.5.2 Deploy the Solution Across Organization: Deploy the selected solution
across the organization following the Deployment Plan. Monitor and control the deploy-
ment.
Step 4.5.3 Review and Capitalize Lessons Learned: Review the results of the de-
ployment and evaluate the magnitude of the improvement and whether the initial goals
have been achieved or not. Document all the lessons learned, for future use in next im-
provement iteration.
200
These steps have been defined in accordance with the specific goal “Deploy Im-
provement” of OID in the CMMI [SEI/CMU 2008]. With the refining of the reuse strat-
egy, another cycle of the improvement process starts from the first step of the RiSE-TCM
guidelines (see Figure 2).
5. The RiSE-TCM Resources
The main actors that are involved in the RiSE-TCM process are the following:
Senior management: (i) Sponsors the Reuse Adoption/Improvement initiative;
(ii) Provides the necessary resources for the Reuse Adoption/Improvement initiative; (iii)
Oversees the Reuse Adoption/Improvement process performance; and, (iv) Identifies the
need of new Reuse Improvement initiatives or the need of redirecting the existing one.
TCM Manager: (i) Ensures the consecution of the Reuse Adoption/Improvement
program activities’ objectives; (ii) Manages the RiSE-TCM team; and, (iii) Reports to the
senior management the progress of the initiative and monitors arisen risks.
TCM team: Team responsible for executing all RiSE-TCM activities and report-
ing to RiSE-TCM Manager.
Pilot Managers: (i) Work together with the RiSE-TCM manager and the RiSE-
TCM working group for translating the assessment results to the Transition plan design;
and, (ii) Responsible leaders of the reuse pilot projects.
Reuse Technical Working Group: Working group composed of reuse experts
who help the RiSE-TCM team in their choice of technical solutions and their implemen-
tation.
Assessment team: Team responsible of executing all reuse assessment activities
and reporting to Lead assessor.
Lead assessor: Responsible leader for evaluating the status of a team/organization
with respect to the software reuse practices capabilities maturity; and, (ii) Manages the
Assessment team and is part of it.
6. The RiSE-TCM Tailoring
When an organization willing to experiment software reuse as a candidate solution to
achieve its business goals, it decides to implement the RiSE-TCM guidelines herein, it
should realize that, as it usually happens, “one size does not fit all”, and it should tailor
the formal RiSE-TCM process described in this paper so it can be feasible and agile in
the organization’s particular context. Therefore, the tailoring has to be done in accordance
with the following factors [Garcia et al. 2007, Lucr´
edio et al. 2008]:
(i) The size of the organization: Although not the ideal situation, in cases where
organization has limited human resources, the roles of the resources that intervene in the
RiSE-TCM process may be overlapped in the same responsible person. The manage-
ment plan will be limited to one plan gathering all the data. Software reuse development
environment should be already validated in order to reduce the impact of their adoption.
(ii) The structure of the organization: The objectives should be the same at or-
ganizational or at project level. Management of resistance in adopting reuse, with changes
201
in the roles (developer, manager, tester), should take into account the possible divergences
among the different management in the organization.
(iii) The level of process improvement (e.g., CMMI level): For organizations
with high CMMI level the RiSE-TCM is similar to any other TCM process or development
improvement initiatives. The change culture and infrastructure in the company is mature,
and RiSE-TCM process could better focus on the technological part of the changes than
in organizations with low or without CMMI level.
(iv) The change culture of the staff: When the people in the organization are
used to implement changes in work structures and technologies, it is easier to develop any
improvement initiative. The Reuse Adoption/Improvement Strategy Definition phase and
Deployment phase of the RiSE-TCM process will be easier in this type of organizations,
because the needed infrastructure and culture are already set up.
(v) The success of the previous changes: For next Reuse Improvement RiSE-
TCM cycle, it is essential that the first software reuse adoption cycle has been successful
or, at least, the new technology has been accepted organization-wide and its benefits have
been proved to unit.
(vi) The skills and the kind of people in the organization (particularly reuse
skills): When the organization is new to software reuse, the training might need to come
from external sources and the process will need more time and effort. For RiSE-TCM
team training also, it might be necessary to train the knowledge on other skills as organi-
zation’s change request management and quality assurance procedures.
(vii) The initial level of maturity of the organization on software reuse: For
organizations with low RiSE-RM maturity level, which carry out few basic reuse prac-
tices, it is recommended to undertake the software reuse changes in a stepped way, start-
ing piloting reuse solutions in a small number of projects. Once the reuse maturity is
higher, with more software reuse practices institutionalized and people used to work with
reusable assets (documents, source code, components, templates, etc.), the pilots can be
more ambitious and comparing several reuse solutions.
(viii) The level of reuse of the software: Reuse pilots should be designed in
different ways whether the organization has a formal reuse culture or not. Besides, the
level of specification of the reuse key assets for the deployment will need to be very
accurate so they can be reused and maintained easily.
(ix) The level of stress: In organizations where several improvement initiatives
could increase the level of stress of the people, strong leadership in RiSE-TCM team and
strong senior management support will be necessary. Close relationship between both
will lead to a better understanding and acceptance by every unit so the process can be as
smooth as quickly as possible. In the same way, reuse pilot projects will not be designed
on projects with thigh schedule or other challenges.
202
Project Domain Products Size (members) Status
Project 1 Web/Social network 1 9 Active
Project 2 Web/Mobile 1 4 Finished
Project 3 Web/Content Manager 1 3 Finished
Project 4 Web 1 4 Active
Project 5 Mobile/Content Manager 2 3 Active
Project 6 Embedded Systems 4 12 Active
Project 7 Design/UI 5 9 Active
Project 8 Mobile 14 40 Active
Table 1. C.E.S.A.R candidate projects
7. The RiSE-TCM in Action
Today, the RiSE group2is responsible for the software reuse efforts at C.E.S.A.R3(Recife
Center for Advanced Studies and Systems), a Brazilian Innovation Institute. Currently,
this company has about 700 employees and evaluated as CMMI level 3 in 2007.
C.E.S.A.R’s reuse program was conducted according to RiSE-TCM guide-
lines and process, and is presented in this section. The first activity is related
to sale the reuse benefits to the senior management. Some studies about success
cases in industry [Joos 1994, Griss 1995], reports and surveys about success factors
[Frakes and Isoda 1994, Rine 1997, Morisio et al. 2002, Lucr´
edio et al. 2008] were pre-
sented and discussed with the senior management. After this activity, the senior manage-
ment agreed to start the reuse program.
7.1. First phase: Adoption/Improvement Reuse Strategy - Goals Definition
The senior management selected, summarized, some business goals as follows: increase
the productivity, reducing maintenance costs and development efforts. However, accord-
ing to the heterogeneous issue of C.E.S.A.R, that perform different projects in different
domains at the same time, and each project can have their own process, technological en-
vironment, roles, etc., and consequently, will have their specific business goals, the reuse
program should be conducted in a specific project, or in a set of projects, that allow this
kind of technology change effort.
The Reuse Adoption Proposal was developed with this specific feature: the pro-
gram was started to a special collection of pilot projects, that met the characteristics de-
scribed above. In this way, the engineering department manager, with the RiSE team
support, selected the candidate projects to participate in the reuse initiative at C.E.S.A.R.
A set of candidate projects was selected from the C.E.S.A.R’s portfolio. The
projects were classified according to the Table 1.
The sponsorship and needed resources were provided by the senior manage-
ment. The technological infrastructure has been provided through the RiSE solutions
[Garcia et al. 2006, Lisboa et al. 2007, Brito et al. 2008, Bur´
egio et al. 2008] to aid the
reuse practices.
2Reuse In Software Engineering, URL: http://www.rise.com.br/research
3URL: http://www.cesar.org.br/
203
RiSE team was responsible to monitor, coordinate and perform all activities to
conduct the reuse program (i.e. training the projects’ team in software reuse practices).
7.2. Second phase: Reuse Maturity Level Evaluation
In this phase, the evaluation of each selected project was performed in order to choose the
pilot project(s) in the reuse program. The evaluation was focused on analyzing processes,
methods, tools, business knowledge, technical expertise of the team and future market
opportunities to the project. We used the RiSE-AM to evaluate the projects.
According to the evaluation results, RiSE team, in conjunction with the senior
management, choose two projects: Project 1 and Project 8, but for space limited question,
only the Project 1 reuse program execution is described here.
7.3. Third Phase: Reuse Adoption/Improvement Planning
In this phase, a software reuse plan was developed for Project 1. Based on Project 1
evaluation results, could be noticed that this project has some practices related to the
RiSE-RM level 2 [Garcia et al. 2007]. The goal was to implement other practices, in
order to obtain some benefits. According to the results, Project 1 had two clear trends to
be investigated: (i) SOA and (ii) Software Product Lines.
Related to the trend (i) SOA, the main efforts were: (1) identify the services already
available; (2) document the services availables, to increase the reuse potential; (3) publish
the services documentation and make some tests; (4) identify new potential services to be
implemented; and (5) plan the new potential services to be implemented in the future.
For the other trend (Software Product Lines), was developed a new plan. In the
evaluation was identified the potential of the Project 1 to build a software product line
to the social network domain. The benefits of this effort, in a short term are: (i) a better
understandability of the project business by the team; (ii) identification of new market op-
portunities for the product; (iii) identification of new functionalities for the product; and,
(iv) decrease the maintenance cost for the releases (eight releases for different customers).
A transition plan was developed to aid in the “transition” from the current status
of the Project 1 to a more improved status, covering Software Product Lines aspects.
Some responsibilities were defined to specific members, related to activities to improve
the development process, documenting the software artifacts of the life cycle, and related
to prepare the team and the product to migrate to a software product line.
7.4. Fourth Phase: Implementation of the Reuse Adoption/Improvement Pilot
In this phase, RiSE team aided in the cultural and educational aspects, promoting train-
ings in specific disciplines, such as: Introduction to Software Reuse, DBC, Domain En-
gineering and Software Product Lines [Almeida et al. 2007]. Moreover, specific train-
ings were performed to train Project 1s team to use the RiSE tools [Garcia et al. 2006,
Lisboa et al. 2007, Bur ´
egio et al. 2008] in order to aid in the reuse activities.
Project 1 team performed the Domain Analysis of the social network domain,
documenting the domain, defining its scope, building a glossary, the product map of the
analyzed applications (composed of 7 concurrent products) and the features model of the
social network domain [Almeida 2007].
204
Figure 3, based on FODA [Kang et al. 1990] shows part of the feature model for
the social network domain. Some features were implemented in the current product, such
as: find users, forums, voting, notification and community creation. On the other hand,
other features were not implemented yet such as blogging, topic recommendation and
multimedia sharing.
Figure 3. Part of the Social Networks feature model
7.5. Fifth Phase: Reuse Deployment
This phase has not started, yet. The reuse program is in the previous phase. Project 1
is in the Project Domain activity, building the reference architecture of the domain. This
activity is very complex because the product is in production, with 8 different releases to
different customers running. An effective strategy of refactoring [Pashov et al. 2004] the
old architecture to the new one, based on the domain analysis, is in course.
8. Concluding Remarks
This work presented a lightweight approach to reuse technology change management,
called RiSE-TCM, that has been evaluated through an industrial project launched by a
Brazilian Innovation Institute. The lightweight approach proposed was defined based on
the RiSE expertise and practical experience in 5 reuse industrial projects, conducted since
2005. The five phases of RiSE-TCM complement each other in order to achieve a well-
defined software reuse adoption process.
RiSE, in conjunction with the industry, aim to investigate the software reuse adop-
tion area in order to: (i) determine which reuse adoption process characteristics should be
considered; (ii) define a set of reuse adoption techniques; (iii) define a set of metrics to
track the properties to the reuse adoption process; and (iv) build the software reuse adop-
tion process framework which is responsible for defining a group of techniques, methods
and models to aid in the introducing reuse practices in software organizations.
As future work, we intend to specify an effective metrics framework, with some
suggestions and guidelines to aid in track and control the software reuse adoption process.
205
The long term plan is, clearly, to achieve a degree of maturity that could be used
as a reuse capability adoption process standard for organization, making it possible to
create, perhaps, a Reuse Capability Adoption Center.
Acknowledgments
This work is sponsored by Brazilian Agency (CNPq process number: 475743/2007-5).
References
Alec Dorling, K. E. E., Drouin, J.-N., and Melo, W. (1997). SPICE: The Theory and
Practice of Software Process Improvement and Capability Determination. Wiley-IEEE
Computer Society Press.
Almeida, E. S. (2007). RiDE: The RiSE Process for Domain Engineering. Phd thesis,
Federal University of Pernambuco (sandwich period at Universit¨
at Mannheim).
Almeida, E. S., Alvaro, A., Garcia, V. C., Mascena, J. C. C. P., Bur´
egio, V. A., Nasci-
mento, L. M., Lucr´
edio, D., and Meira, S. R. (2007). C.R.U.I.S.E: Component Reuse
in Software Engineering. C.E.S.A.R e-book, Recife, 1st edition.
Almeida, E. S., Alvaro, A., Lucr´
edio, D., Garcia, V. C., and Meira, S. R. L. (2004).
Rise project: Towards a robust framework for software reuse. In IEEE International
Conference on Information Reuse and Integration (IRI), pages 48–53, Las Vegas, USA.
IEEE/CMS.
Brito, K. S., Garcia, V. C., Almeida, E. S., and Meira, S. R. L. (2008). Lift - a legacy
information retrieval tool. Journal of Universal Computer Science (JUCS), Special
Issue on ”Software Components, Architectures and Reuse”, 14(4):10–30.
Broy, M., Hartkopf, S., Kohler, K., and Rombach, D. (2001). Germany: Combining
software and application competencies. IEEE Software, 18(4):93– 95, 100.
Bur´
egio, V. A. A., Almeida, E. S., Lucr´
edio, D., and Meira, S. R. L. (2008). A reuse
repository system: From specification to deployment. In The 10th International Con-
ference on Software Reuse (ICSR). Springer-Verlag.
EIS (2008). European Software Institute Balanced IT Scorecard. URL:
http://www.esi.es/index.php?op=15.1.4.
Frakes, W. B. and Isoda, S. (1994). Success factors of systematic software reuse. IEEE
Software, 11(01):14–19.
Garcia, V. C., Lisboa, L. B., Almeida, E. S., Lucr´
edio, D., Fortes, R. P. M., and Meira,
S. R. L. (2008). Towards an assessment method for software reuse capability. In
Proceedings of The 8th International Conference on Quality Software (QSIC’2008).
IEEE Computer Society Press.
Garcia, V. C., Lucr´
edio, D., Alvaro, A., Almeida, E. S., Fortes, R. P. M., and Meira, S.
R. L. (2007). Towards a maturity model for a reuse incremental adoption. In Brazil-
ian Symposium on Software Components, Architectures and Reuse (SBCARS 2007),
Campinas, S˜
ao Paulo, Brazil.
Garcia, V. C., Lucr´
edio, D., Dur˜
ao, F. A., Santos, E. C. R., Almeida, E. S., Fortes, R.
P. M., and Meira, S. R. L. (2006). From specification to experimentation: A soft-
ware component search engine architecture. In The 9th International Symposium on
206
Component-Based Software Engineering (CBSE 2006), volume 4063 of Lecture Notes
in Computer Science, pages 82–97, Vaster¨
as, Sweden. Springer-Verlag.
Griss, M. L. (1995). Making Software Reuse Work at Hewlett-Packard. IEEE Software,
12(01):105–107.
IHS (2008). Electronic Industries Alliance’s Systems Engineering Capability Model
(SECM). Available at http://electronics.ihs.com/collections/abstracts/eia-731-1.htm.
ISO/IEC (2003). ISO/IEC 15504-2: Information Technology - Process Assessment - Part
2 - Performing an Assessment. International Standard 15504-2, ISO/IEC.
Joos, R. (1994). Software reuse at motorola. IEEE Software, 11(05):42–47.
Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. (1990). Feature-
oriented domain analysis (foda) feasibility study. Technical report cmu/sei-90-tr-21,
Software Engineering Institute, Carnegie Mellon University.
Lisboa, L. B., Garcia, V. C., Almeida, E. S., and Meira, S. R. L. (2007). Toolday a process-
centered domain analysis tool. In 21st Brazilian Symposium on Software Engineering,
Tools Session.
Lucr´
edio, D., Brito, K. S., Alvaro, A., Garcia, V. C., Almeida, E. S., Fortes, R. P. M., and
Meira, S. R. L. (2008). Software reuse: The brazilian industry scenario. Journal of
Systems and Software, Elsevier, 81(6):996 – 1013.
Morisio, M., Ezran, M., and Tully, C. (2002). Success and failure factors in software
reuse. IEEE Transactions on Software Engineering, 28(04):340–357.
Pashov, I., Riebisch, M., and Philippow, I. (2004). Supporting Architectural Restruc-
turing by Analyzing Feature Models. In The 8th European Conference on Software
Maintenance and Reengineering (CSMR’04), pages 25–36. IEEE Computer Society
Press.
Rine, D. C. (1997). Success factors for software reuse that are applicable across domains
and businesses. In ACM Symposium on Applied Computing, pages 182–186, San Jose,
California, USA. ACM Press.
Rios, E., Guilloreau, N., and Goeyse, A. D. (2006). D2.9 MDD TCM guidelines. Techni-
cal Report 511731, European Commission under the “Information Society Technolo-
gies” Sixth Framework Programme.
SEI (2001). Standard CMMI Appraisal Method for Process Improvement (SCAMPI), ver-
sion 1.1: Method Definition Document. Handbook CMU/SEI-2001-HB-001, Software
Engineering Institute and Carnegie Mellon University.
SEI/CMU (2008). Capability Maturity Model Integration (CMMI). Available at
http://www.sei.cmu.edu/cmmi/.
SOFTEX (2007). MPS.BR - Brazilian Software Process Improvement, General Guide
(version 1.2). Technical report, Association for Promoting the Brazilian Software Ex-
cellence - SOFTEX.
... @BULLET RiSE Framework: Involves reuse processes (Almeida et al., 2004; Nascimento, 2008), component certification (Alvaro et al., 2006) and reuse adoption process (Garcia et al., 2008). @BULLET RiSE Tools: Research focused on software reuse tools, such as the Admire Environment (Mascena, 2006), the Basic Asset Retrieval Tool (B.A.R.T) (Santos et al., 2006), which was enhanced with folksonomy mechanisms (Vanderlei et al., 2007), semantic layer (Durao, 2008), facets (Mendes, 2008) and data mining (Martins et al., 2008), and the Legacy InFormation retrieval Tool (LIFT) (Brito, 2007); @BULLET RiPLE: Development of a methodology for Software Product Lines (Filho et al., 2008); @BULLET SOPLE: Development of a methodology for Software Product Lines based on services; @BULLET MATRIX: Investigates the area of measurement in reuse and its impact on quality and productivity; @BULLET BTT: Research focused on tools for detection of duplicate bug reports, such as in Cavalcanti et al. (2008). ...
Thesis
Full-text available
Software maintenance and evolution are characterised by their huge cost and slow speed of implementation. Yet they are inevitable activities -- almost all software that is useful and successful stimulates user-generated requests for change and improvements. citeauthorSommerville2007 is even more emphatic and says that software changes is a fact of life for large software systems. In addition, a set of studies has stated along the years that software maintenance and evolution is the most expensive phase of software development, taking up to 90% of the total costs. All those characteristics from software maintenance lead the academia and industry to constantly investigate new solutions to reduce costs in such phase. In this context, Software Configuration Management (SCM) is a set of activities and standards for managing and evolving software; SCM defines how to record and process proposed system changes, how to relate these to system components, among other procedures. For all these tasks it has been proposed different tools, such as version control systems and bug trackers. However, some issues may arise due to these tools usage, such as the dynamic assignment of a developer to a bug report or the bug report duplication problem. In this sense, this dissertation investigates the problem of bug report duplication emerged by the use of bug trackers on software development projects. The problem of bug report duplication is characterized by the submission of two or more bug reports that describe the same software issue, and the main consequence of this problem is the overhead of rework when managing these bug reports.
... It is part of the company software reuse effort, as a way to institutionalize reuse in all of its projects. The CESAR reuse program was conducted according to RiSE-TCM guidelines and process [11]. This process is divided in five phases: (1) adoption/improvement reuse strategy that identifies the business goals of the organization for which software reuse may be helpful, and builds a Reuse Adoption/Improvement Strategy that addresses the attainment of those goals. ...
Article
Full-text available
Domain analysis is the process of identifying and documenting common and variable characteristics of systems in a specific domain. This process is a large and complex one, involving many interrelated activities, making it essential to have a tool support for aiding the process. We present a domain analysis tool called ToolDAy that has the purpose of making the process semi-automatic. The requirements definition presented were based on the results of a systematic review that analyzed several existing tools. Furthermore, this article describes the tool architecture, implementation and its evaluations (two as a controlled experiment and one as an industrial case study) with three different domains. The results of these evaluations indicate that the tool can aid the domain analyst to achieve systematic reuse in an effective way. KeywordsToolDay–Domain analysis–Tool–Software reuse
Conference Paper
Full-text available
Domain analysis is the process of mapping domain specific systems in order to identify their commonalities and variabilities for aiding a software development lifecycle with reuse. This process, however, involves several phases with inputs, outputs, and guidelines, so it is important to have a tool support for aiding it. This paper presents a Process-Centered Domain Analysis Tool, called ToolDAy, which goal is to facilitate the domain analysis process making it more automated.
Article
Full-text available
Software has been reused in applications development ever since pro-gramming started. However, the reuse practices have mostly been ad hoc, and the potential benefits of reuse have never been fully realized. Systematic reuse offers the greatest potential for significant gains in software development pro-ductivity and quality. Organizations are looking for ways to develop a software reuse program. The strategy for adopting a reuse technology should be based on a vision for improving the organization's way of doing business. Thus, this pa-per presents a Reuse Maturity Model proposal, describing consistence features for the incremental reuse adoption.
Conference Paper
Full-text available
A repository is a necessary prerequisite to support software engineers and other users in the process of developing software with and for reuse. In the literature, there are several works that explore reuse repositories, however their focus is mostly on reusable component search and retrieval issues, while important aspects of reuse repositories have not been properly explored. On the other hand, some questions raised by companies that desire to adopt or build a reuse repository remain unanswered. Such questions often include: What are the main roles and requirements of a reuse repository? What are the practical alternatives? How a reuse repository must be designed? Motivated by these questions, this paper presents a systematic approach with comparisons to existing tools and techniques for specifying, designing and implementing a reuse repository that was successfully constructed and deployed in real Brazilian software factories. Additionally, we describe the main design decisions, problems found, and future directions for research and development.
Conference Paper
Full-text available
The growing interest of software reuse by software orga- nizations makes adoption and evaluation of reuse an essen- tial activity. Many organizations struggle in their attempts to select appropriate reuse practices (methods, techniques and tools support) in their processes. In this way, we pro- pose a reuse assessment method to evaluate the organiza- tion’s capability of software reuse in an efficient way.
Conference Paper
Full-text available
This paper presents a software component search engine, from the early specification and design steps to two experiments performed to evaluate its performance. After the experience gained from the use of this first version, several improvements were introduced. The current version of the engine combines text mining and facet-based search. The experiments indicated, so far, that using these two techniques together is better than using them separately. From the experience obtained in these experiments and in industrial tests, we point out possible improvements and future research directions, which are presented and discussed at the end of the paper.
Conference Paper
Full-text available
Software reuse is a critical aspect for companies interested in the improvement of software development quality and productivity, and in costs reduction. However, achieving it is a nontrivial task. In this paper, we present a robust framework for software reuse, based on previous success factors, in order to guide organizations in the effective reuse. Nontechnical and technical aspects compose the framework.
Article
Domain Engineering (DE) - the activity of collecting, organizing, and storing past experience in building systems or parts of systems from a particular domain in the form of reusable assets has been seen as a reuse facilitator. Nevertheless, the existing domain engineering processes present crucial problems, such as: they do not cover the three steps of domain engineering, for instance, domain analysis, domain design, and domain implementation; besides,they do not define activities, sub-activities, roles, inputs, outputs of each step in a systematic way. This book defines a systematic process to perform domain engineering based on the state-of-the-art of the area, which includes the steps of domain analysis, domain design, and domain implementation. This definition was based on extensive surveys on the software reuse and reuse processes areas, covering academic and industrial studies, papers and reports. The proposed process is presented discussing its activities, sub-activities, inputs, outputs, principles, guidelines and roles. At the end, it is discussed also an experimental study using the process.
Article
This paper aims at identifying some of the key factors in adopting an organization-wide software reuse program. The factors are derived from practical experience reported by industry professionals, through a survey involving 57 Brazilian small, medium and large software organizations. Some of them produce software with commonality between applications, and have mature processes, while others successfully achieved reuse through isolated, ad hoc efforts. The paper compiles the answers from the survey participants, showing which factors were more associated with reuse success. Based on this relationship, a guide is presented, pointing out which factors should be more strongly considered by small, medium and large organizations attempting to establish a reuse program.
Conference Paper
The problem researched is that there presently does not exist a set of success factors which are common across organizations and have some predictability relationship to software reuse. For completeness, this research also investigated possible predictive relationships between software reuse and both productivity and quality. A 1995 survey was conducted to determine the state-of-the-practice. The data from the survey was statistically analyzed to evaluate the relationships among reuse capability, productivity, quality, and the individual software reuse success factors. The results of the analysis showed some of the success factors to have a predictive relationship to software reuse capability. Software reuse capability also had a predictive relationship to productivity and quality. Based on the research results, the leading indicators of software reuse capability are: product-line approach, architecture which standardizes interfaces and data formats, common software architecture across the product-line, design for manufacturing approach, domain engineering, management which understands reuse issues, software reuse advocate(s) in senior management, state-of-the-art tools and methods, precedence of reusing high level software artifacts such as requirements and design versus just code reuse, and trace end-user requirements to the components (systems, subsystems, and/or software modules) which support them.