Professional Documents
Culture Documents
Conventional and Open Source Software Reuse at Orbotech PDF
Conventional and Open Source Software Reuse at Orbotech PDF
Experience
Shlomit Morad1 and Tsvi Kuflik2
1
Orbotech, 2University of Haifa
1
shlomit@orbotech.com, 2kuflik@ is. haifa.ac.il
Abstract
Orbotech, as part of the Israeli Software Reuse
Industrial Consortium (ISWRIC), explored the
possibilities of software reuse in a three-year project,
supported by the Israel Ministry of Trade and
Commerce. The positive economical results of the
project made software reuse a common practice at
Orbotech. Further experimentation of reusing Open
Source Software (OSS) demonstrated the high potential
of that approach, when carefully integrated with the
standard organizational development process. The
conclusions from Orbotech experience are that when
carefully planned and implemented, software reuse
provides the anticipated benefits of cost reduction,
improved quality and shorter Time-to-Market. The
reuse of OSS may provide even higher benefits than
conventional software reuse. Nevertheless, as in many
cases before, implementation of software reuse
requires management support and commitment, as well
as acceptance by the developers themselves. As such,
software reuse implementation proves to be a complex
task that needs to be tailored specifically to the
implementing organization.
1. Introduction
It is widely accepted that software reuse is a major
component
of
many
software
productivity
improvement efforts, because it can result in higher
quality software at a lower cost and delivered within a
shorter time period [5]. The recommended approach
for software reuse is the adoption of the product line
approach of Boehm [2]. This approach is detailed in
[3], which describes a product line organized to operate
in two circles: core asset development and products
development. Core assets are software artifacts that are
developed or acquired for the product line as a whole.
These assets are later acquired as building blocks for
specific products.
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
2. Orbotech
Orbotech is an Israeli systems development company
that develops industrial machines and solutions for the
electronics industry. It develops optical inspection
machines for bare PCBs (Printed Circuit Boards),
assembled PCBs, ICs (Integrated Circuits) packaging
substrates and Flat Panel Displays (FPDs). It also
develops verification stations, direct imaging and laser
plotting solutions, Computer Aided Manufacturing
(CAM) systems, and process control applications.
Orbotech R&D has a staff of around 80 software
engineers.
The R&D organization in Orbotech is divided into
three divisions, following three main markets. Each
division is composed of development teams organized
in product lines, marketing, and customer support. A
software team is responsible for the software
development and maintenance of a product or a
product line.
In addition to these divisions, the R&D organization
includes a technologies and infrastructures division
that supports the multi-disciplinary products. Since
most of the products involve software, hardware,
mechanics and optics, this division is organized by
discipline thus each department is focused on the
needs of a single profession, its expertise, practices and
tools. Each disciplinary group is also responsible for
investigation of future technologies and making them
available to the R&D projects.
The software group of the technologies and
infrastructures division is composed of three teams that
are
responsible
for
software
development
methodologies & standards, software quality assurance
practices, development tools, computing environments,
R&D servers, developing common reusable assets and
developing products supporting tools for non-R&D
organizations. Besides the development of common
assets, the reuse team is responsible for maintaining the
assets and assisting in their integration, search,
evaluation and acquisition of OSS, as well as managing
a central reuse repository.
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
Development
Options
1660
133
3600
240
3120
234
2472
195
12
54%
45%
2000
97
100
Number of reuses
Saving in man-months
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
500
400
300
200
12 0 0
10 0 0
80 0
60 0
40 0
20 0
0
1
Systematic (adapt)
Systematic (new )
Opportunistic
Controilled
10
New Development
10 0
0
1
Systematic (adapt)
Systematic (new )
Opportunistic
Controilled
10
New Development
2 50 0
2 00 0
15 0 0
10 0 0
50 0
0
1
Systematic (adapt)
Systematic (new )
Opportunistic
Controilled
10
New Development
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE
5. References
[1] P. A. Biggs, Case Study in Small Company Software
Reuse.
Available
online
at:
http://students.cs.byu.edu/~pbiggs/smallcomp.html
[2] B. Boehm, Managing Software Productivity and Reuse.
IEEE Computer, 32(9) (1999) pp. 111113.
[3] P. Clements and L. M. Northrop, Software Product Lines:
Practices and Patterns, Addison-Wesley, Reading, MA
(2001).
[4] S. Isoda, Experience Report on Software Reuse Project:
Its Structure, Activities and Statistical Results. Proceedings
th
of the 14 International Conference on Software Engineering
(1992) pp. 320-326.
[5] Jacobson, I., Griss, M. and Johnsson, P. P. Software
Reuse, Architecture, Process, and Organization for Business
Success, Addison-Wesley, Reading, MA (1997).
[6] M.J. Karels, Commercializing Open Source Software.
QUEUE July/August 2003 (2003) pp. 47-55.
[7] T. Kuflik, ISWRIC Israeli Software Reuse Industrial
Consortium Project presentation and initial lessons learned.
nd
Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering (SwSTE05)
0-7695-2335-8/05 $ 20.00 IEEE