%%%%%% TEMPLATE.TEX for WISR'93, version 1.2.1, 10/3/93 %%%%%%
%%%%%% Updated by Jeffrey S. Poulin,  May 1993          %%%%%%
%%%%%% Updated by Larry J. Latour     and               %%%%%%
%%%%%%            Steve L. Philbrick, October 1993      %%%%%%
%%%%%%
\markboth{Neumann}{Neumann}
\documentstyle[11pt]{article}
 
% Standard Spacing for WISR - do not change!!
%
% Page dimensions.
%
\oddsidemargin  0.26in % Leave enough for binding margin
\evensidemargin 0.26in %
\topmargin      -1.00in % (adjusted for printer bias)
\headheight      .00in  % (no headers)
\headsep         .75in  % (top margin + headers + skip)
\footheight     12.0pt  % ??? (seems to work ok)
\footskip       25.0pt  % ??? ( "   "  )
\textheight     9.425in % (instructions: 9 1/8" min, 9 7/16" max)
\textwidth      6.5in   %

\markboth{Neumann}{Neumann}
\pagestyle{myheadings}
%
% Paragraph changes.
%
\parindent=0pt
\parskip=10pt
%
% can make the title box even smaller
%
\def\@maketitle{\vbox to 2.6in{\hsize\textwidth
    \linewidth\hsize \vfil \centering
    {\large \@title \par}
    \vskip 2em
    {\normalsize
    \begin{tabular}[t]{c}\@author
    \end{tabular}\par}
    \vfil}
}
 
\begin{document}
 
\bibliographystyle{ieeetr}
 
\title{Moving Beyond Library-based Reuse}
 
\author{Valerie A. Neumann\\
\\
Eastman Kodak Company\\
901 Elmgrove Road\\
Rochester, NY 14653-5811\\
Tel: (716) 726-2863\\
Email: neumann@pixel.kodak.com\\
Fax: (716) 726-5612\\
}
\date{}
 
\maketitle
 
\begin{abstract}
Effective software reuse requires much more than building an easy to browse,
well cataloged, convenient library of artifacts.  Journey with us as we explore
the non-technical issues surrounding reuse and attempt to move beyond the
library concept.  This report illustrates our new focus of steering the
corporate culture towards reuse-based product development.
 
\vspace{0.2in}
\noindent
{\bf Keywords:} 
Reuse-based software development process, culture change management.
 
\vspace{0.2in}
\noindent
{\bf Workshop Goals:} 
Exchange lessons learned and validate future directions,
		with emphasis on culture change.

 
\vspace{0.2in}
\noindent
{\bf Working Groups:} 
Reuse management, organization and economics; Reuse process.
 
\end{abstract}
 
\newpage
 
\section{Background}
As the Quality Assurance member of Kodak's reuse library staff, my work is
primarily to support the library's technical infrastructure.  I verify that
each artifact is properly cataloged and information describing the component is
factual.  Other support activities include updating our electronic interface,
assisting customers, and studying reuse theory and practice.  I have been with
Kodak for two years and am a champion of the reuse-based software development
process, reuse education, and reuse measurement.

My previous experience with a successful reuse project was in 1983-88 with the
U.S.  Navy Fleet Combat Direction System Support Activity.  FCDSSA restructured
its shipboard tactical data system maintenance activity to provide a high
degree of reuse of common components, and automated the production of system
builds from the reuse component repository~\cite{Aridas92}.  I worked on 
creating, testing, and integrating reusable components, and was a member of 
the Common Reusable Library support team.
 
\section{Position}
A centralized artifact library has existed in one form or another at Eastman
Kodak Company since 1985.  Its most recent incarnation is the Software
Warehouse, which has been operating since 1989.

This artifact library came into existence due to the efforts of several
visionaries who chartered the Software Warehouse to be a corporate reuse
library.  In the past, funding was directed towards filling the library with
artifacts and improving the library infrastructure.

The content of the library is driven by its users, who place artifacts into
the library that they wish to share with others.  The artifacts are comprised
of documents, software, and digital images.  Referrals to other Kodak services
are also found here.

Out of hundreds of available documents, the most popular are coding style
guides and templates for deliverable documents such as Software Requirements
Specifications, Test Plans and Software Quality Assurance Plans.

The library also contains millions of lines of code.  Over sixty percent of
our software items are tools to aid all aspects of the software development
process, including system administration and quality assurance.  Class
libraries and large granularity software components comprise the next largest
inventory segment.

The usage of the library has increased significantly in the last two years.
Indeed, engineers have a growing awareness of the Software Warehouse, and reuse
in general.

However, difficult economic times at Kodak have caused management to re-examine
the necessity of operating a reuse library.  The Software Warehouse is a
small-scale operation that has not largely impacted software development.  But
that could change soon.  The recent adoption of a division-wide product
development process which heavily supports reuse could be the stimulus for
sweeping change.

The Software Warehouse staff members are trying to re-define their roles in
light of this new development.  We believe that the best direction is the
creation of a dynamic team to facilitate division-wide reuse ``best
practices''.  To make an impact, the team must identify, understand, and work 
to resolve the technical, managerial, organizational, economic, legal and 
sociological issues surrounding reuse.

\subsection{Defining the Issues and Requirements}

The Software Warehouse team is engaged in the following research tasks to
determine how to help reuse succeed on a larger scale:

\begin{itemize}
\item
Benchmarking other corporate reuse efforts.  Lessons learned from corporate
reuse efforts assist in identifying future directions which are likely to
succeed, and help us recognize potential reuse deterrents at Kodak.

\item
Interviewing managers and engineers to hear customers' needs expressed in
their own words.  This is called obtaining the ``Voice of the Customer'' and
encompasses collecting desired, undesired, and unexpected attributes.
Approximately 41 engineers and managers were interviewed to date.  This
insures that the customers' needs guide the Software Warehouse in tailoring
its inventory and services.
\end{itemize}


In the future, significant activities will be devoted to:

\begin{itemize}
\item
Studying cultural change management and working with Kodak organizational
psychology experts to formulate and implement plans for cultural change.

\item
Determining whether there is a need to include reuse consulting among the
services the Software Warehouse offers.  The goal here is to work with
software development projects to facilitate reuse throughout the software
development cycle.  Surveys are planned to ascertain the reuse-related needs
of software development projects, and to gauge the level of customer
commitment to the reuse consulting activity.
\end{itemize}


\subsection{Action Plan}

A number of opportunity areas and reuse deterrents have been identified and we
are formulating plans to address them.  What follows is an outline of the
opportunity areas and proposed action plans.

\subsubsection{Software Process}

In the past, Kodak did not have a corporate-wide product development process
which supported reuse.  This year, the company's imaging division is
implementing the ``Kodak Equipment Commercialization Process'' (KECP): a
process for developing new and leveraged product systems.  The KECP, which is
supported by upper-level management, consists of a structured set of
guidelines designed to provide a customer-driven, disciplined, predictable
approach to product development.

The KECP recommends that the ``Reusability Assessment'' process be used during
early stages of product development to determine whether already-developed
technologies and designs can be leveraged into the product, rather than
creating new designs.  The KECP also suggests that ``Design for Reuse''
requirements be established early in the product development cycle and
implemented throughout the program.

For its part, the Software Warehouse is enhancing the software engineering
portion of the KECP by integrating reuse activities into the software
development and maintenance process.

\subsubsection{Management Support}

It has been shown that successful reuse programs require visible management
support and firm commitment to reuse~\cite{HC91}.  We are looking for reuse
champions at all levels of management.  Once located, we will enlist them to
assist reuse programs.

\subsubsection{Awareness}

Kodak is already having some success due to informal reuse.  However, the
successes are localized and not very visible to the engineering and
management community.  One of our goals, that of increasing the awareness
level, will be addressed by improving communications with our customers.

One communication tool is the Software Warehouse newsletter which is
distributed electronically.  It is sent to approximately 300 engineers
bi-monthly, as well as posted to corporate bulletin boards, and showcases new
additions to the library.  We are improving communications by distributing
the newsletter to a larger audience, which includes management, and by
changing the content.  Readers will find articles on reuse concepts, success
stories at Kodak, and services provided by the Software Warehouse.  It will
also address reuse deterrents~\cite{SPC92}.

During the ``Voice of the Customer'' interviews, management was presented with
reports detailing their organizations' involvement with reuse in terms of
contributing to and retrieving artifacts from the Software Warehouse.  The
reports have proven to be an effective management incentive and awareness
tool, and will continue on a regular basis.

Our plan to increase awareness takes into account reuse training and
expanding our horizons to include more ``reuse facilitation''.  This involves
going into the development community and working closely with the reusers and
the issues.  Positive changes and reinforcements can be made, such as sending
a ``thank you for contributing'' note to contributors and their managers, and
by providing feedback regarding the usefulness of a contributed item.

\subsubsection{Reuse Facilitation}

Facilitation encompasses most of the reuse-related activities that we intend
to do at the Software Warehouse: continue operating the library, information
exchange and dissemination, linking up projects working on similar things,
reuse-based software development process, reuse education and awareness
activities.

Engineer and management interviews brought to light one request by nearly all
of the interviewees: the desire for a quick way to locate technical experts
within the company.  To meet this request, the Software Warehouse is
developing an on-line project and expertise database.  Browsers will have the
capability to search the data base for the expertise of interest.

\subsubsection{Training}

As an initial step in educating managers and engineers, we are planning to
have a reputable vendor teach a pilot course.  Afterwards, we will evaluate
the impact of the course.  We hope to enlighten management as to how reuse
improves the way we should develop software.  Additionally, reuse training
for engineers would demonstrate management support for the reuse program, and
should influence the culture from the bottom up.

\section{Comparison}

The majority of the cited references contain guidelines for establishing a
successful reuse program.  Our activities coincide with the guidelines in terms
of setting up a library, obtaining management support, creating and
implementing a reuse-based software development process, incentives, reuse
facilitation, identifying and eliminating deterrents, and education.

Our reuse effort differs from the guidelines in terms of doing domain-based
reuse~\cite{BP89}, and creating components, tools, methodologies and standard
software architectures to support the domains.  It is possible that our future
consulting activities may include domain-based reuse.

Benchmarking with the Hewlett-Packard Corporation highlighted a few
similarities to Kodak.  Hewlett-Packard also started their reuse effort with a
library.  The library alone did not achieve the desired results.  Consequently
they are now focusing on knowledge and technology transfer with no centralized
library, but many local libraries.  Their latest effort shows strong emphasis
on domain-based reuse and addressing non-technical issues.


\bibliography{neumann}

\section{Biography}

{\bf Valerie A. Neumann} has been a member of the technical staff of the 
Software Warehouse--Eastman Kodak Company's reusable artifacts library in 
Rochester, New York, for two years.  Prior to coming to Kodak, she was a 
software engineer with Unisys and General Electric corporations, working on 
NATO and U.S. Navy defense software.  She has a BS degree in Computer Science 
and has worked on software development and engineering for over twelve years.
 
\end{document}
