Document 11045245

advertisement
|JUN
ALFRED
P.
WORKING PAPER
SLOAN SCHOOL OF MANAGEMENT
Fujitsu Software:
Process Control to Automated Customization
by
Michael Cusumano
WP 2044-88, Revised
June 1989
MASSACHUSETTS
INSTITUTE OF TECHNOLOGY
50 MEMORIAL DRIVE
CAMBRIDGE, MASSACHUSETTS 02139
10
1989
Fujitsu Software:
Process Control to Automated Customization
by
Michael Cusumano
WP 2044-88, Revised
June 1989
JUN
1
1989
RECEIVED
,
CHAPTER
CONTROL TO AUTOMATED CUSTOMIZATION
FUJITSU: PROCESS
The products
made and the processes
Fujitsu
development closely resembled those
not
formally
operations at
establish
a
at Hitachi.
single facility,
it
followed
software
for
basic software, Fujitsu did
In
but centralized most programming
software factory
a
7
Numazu Works, and adopted factory-like
the
standards and controls during the mid-1970s, beginning with project management
and product inspection.
operations
in
1970
In applications,
and then began
establishing a Software Factory
in
began centralizing programming
Fujitsu
standardizing methods and tools
before
1979 to perform detailed design, coding, and
testing, often for specifications done
system engineering departments outside
in
the factory.
What distinguished
Fujitsu
was
most
the
in
network
software subsidiaries throughout Japan.
Toshiba, Fujitsu built upon
equipment
to
depth
computer hardware and software development, including
competence
of
and
breadth
enter
the
computer
industry
in
the
mid-1950s.
it
although
Fujitsu
in
Amdahl
also
proceeded
its
without
adopted
leading
foreign
the early 1970s, and relied on a
in
talented group of in-house engineers and careful study of U.S. technology.
strategy of deliberate,
independent development helped
largest Japanese computer producer
this
position
through
products or services
in
the
all
1980s,
huge
telephone switching and electro-mechanical
skills in
assistance, at least until investing
a
its
NEC, and
Like Hitachi,
transistors and introduced commercial models somewhat later than
Japanese competitors,
of
1968,
in
with
in
Fujitsu
This
become the
terms of sales, and remain
competitive
hardware
and
in
software
segments of the Japanese market.
The Nikkei survey data reinforced
1
this
evaluation of
Fujitsu:
It
was
Fujitsu
Ct^
l-lcurf
Japan's
largest
vendor
computer products for small,
of
systems (Tables 1.3 and 1.4).
was especially competitive
Fujitsu
and government agencies as
institutions
services,
information
Fujitsu first in Japanese-language processing
competing
They
Japan.'
in
Japanese competitors
as
also rated
it
in
sales to
and
machinery,
electrical
software among
in
all
1988 ranked
major firms
ahead of or equal to the best of
basic system software,
in
and large
ranging from
industries
to
Japanese customers
(Table 1.5).
construction to foodstuffs
well
chemicals,
distribution,
medium,
its
hardware price-performance,
applications system-engineering support, and general satisfaction (Table 1.6).
THE CORPORATE SETTING
Company Outline and Organization
Electric,
Fuji
an electrical-machinery producer affiliated with Siemens of
Germany and dating back
its
to 1923,
telephone equipment division
commercialized
Japan's
first
established Fujitsu
as
digital
a
company.
separate
calculator
1935 by incorporating
in
in
1935
and
The new
firm
expanded
into
switching systems and other electric and electro-mechanical equipment, before
introducing
a
primitive non-programmable computer
expanded product development and marketing for
equipment,
office
services.
In
1954.
Fujitsu gradually
range of communications and
computers and computer peripherals,
and data processing
the year ending March 1988, Fujitsu had over 52,000 employees
the parent corporation,
with more than one out of five personnel involved
software production or staff support.
billion
a
in
Fujitsu led
data-processing sales, which accounted for over $10
in
total
revenues.
in
Non-consolidated sales totalled over $13.7
(over $16 billion including some 70 subsidiaries).
firms
in
billion
all
Japanese
(72%) of
its
Other major revenue sectors for Fujitsu were communications
.
2
Fujitsu
systems (16%) and electron (semiconductor) devices (12%).
Fujitsu divided these revenue areas into more than a dozen operating and
marketing groups (Figure 7.1).
Several divisions produced computer programs
for internal or commercial sale, and a corporate Software
Group, established
Development Planning
1982, directed planning for tool and methodology research
in
and technology transfer for Fujitsu, subsidiaries, and subcontractors. The focus
of this chapter
is
the two largest software facilities:
the Computer Group, located near Mt. Fuji
hardware
as
well
as
systems
basic
in
Numazu, the main
site in
Shizuoka prefecture, which made
software
(operating
systems,
control
programs, network software, data base systems, language processors, Japanese
language and graphics or voice processing software, and automatic translation
and the Kamata Software Factory, located
programs) for mainframes,
Information Processing System Laboratory
the main
facility
in
the System
in
The
Kamata, Tokyo.
at the
latter
was
which produced custom
Engineering Group,
applications software and application packages.
Fujitsu
series
mainframes
System/370.
the
established the
and
The Software
department,
in a
constructed
1981,
a
Field
eight
in
development
Support Center.^
FACOM-M
1974 to produce the
Division, housed
departments,
and
in
designed
minicomputers,
hardware building)
engineering
Numazu Works
compete with
to
IBM's
separate building (connected to
consisted
of
departments,
two
an
software
inspection
The approximately 3000 software
personnel working at Numazu included about 1000 programmers from software
Despite the scale of operations at Numazu,
houses and subsidiaries."
management did not
label or publicize the facility as a
software factory, since
groups worked
in
Nonetheless,
in
addition
management,
begun around 1974-1975, and the centralization
integrated
to
teams
scale,
to
produce unique systems
the level of integration
•
3
Fujitsu
in
products.
operations and
of
most basic-
Fujitsu
software programming at this facility by 1984, made Numazu indistinguishable
from counterpart
referred to as software factories at Hitachi and NEC.
facilities
Fujitsu opened the Kamata Software Factory
in
1979 to continue
decade-
a
long effort, beginning with Fujitsu's establishment of the Information Processing
Laboratory
Systems
and
centralize
1970
in
rationalize
house the
to
Systems
Group,
Engineering
custom programming for banks,
securities
firms,
government departments, and manufacturing and distribution companies.
Department
Factory
Software
performed
to
The
programming and module-test
operations,
based on specifications received from approximately 4000 system
engineers
the Systems Engineering Group, and also did increasing amounts of
in
The factory was comparable
system design.
Hitachi
and NEC,
with
exceptional, however,
10 to 30 from its
were employees
size to
approximately 1500 personnel
comparable
facilities at
1987.
Kamata was
in
that merely 200 or so employees were from Fujitsu and
in
subsidiaries.
of
in
The remainder
--
nearly 1300 programmers--
independent software houses, with most remaining
at their
parent firms, linked by networks and terminals to computers and data bases
the Software Factory. °
Fujitsu
to
infrastructure
This extensive use of subcontractor personnel allowed
the
retain
and
still
benefits
of
a
centralized,
accommodate variations
in
standardized
In
addition
and expensive
to
in
the personnel
factory
demand for customized
programming without hiring too many permanent employees,
relatively scarce
in
which
were
Tokyo.
counted as part of the Software Factory
Department, Fujitsu could also draw on 58 software subsidiaries employing over
14,000 programmers for system engineering, applications programming, basic-
software development, and microcomputer programming (Table 7.1).
houses working on
personnel
in
a
Software
regular basis with Fujitsu brought total available software
the Fujitsu group circa 1987-1988 to about 20,000.^
4
Not only did
Fujitsu
these numbers, which exceeded the amount of programmers
and Toshiba groups, attest
affiliates
added from 1000
during the middle and
the NEC, Hitachi,
importance (and managerial complexities) of
to the
So did their rapid expansion, as Fujitsu and
software development to Fujitsu.
its
in
to 3000 software
and related personnel annually
late 1980s.
Entry into Computers
Fujitsu historians
mark the company's entrance
with the 1954 introduction of
This was
not
magnetic
relay
a
into the
computer business
dedicated accounting machine, the
programmable computer but was hardwired,
a
switches
adapted
from
FACOM
using
switchboards.
telephone
100.
electro-
Fujitsu
introduced several other relay computers before adopting parametron circuits
1958,
following the lead of Hitachi
and NEC,
in
although these computers also
functioned as dedicated calculating machines. Again following Hitachi and NEC,
Fujitsu began working on a transistor-based,
and introduced
its
Management then
establishing
a
first commercial
signaled
computer division
Fujitsu approached
this initiative failed
in
a
models
major
in
1961,
commitment
in
1958
for business applications.
to
the
new industry by
1963.^
IBM for assistance
in
computer development, but when
management pursued the business independently, investing
in-house research as well as frequently sending company engineers to the
United
States
to
learn
from
American
Prospects for Fujitsu seemed dim, since
Toshiba due to
a
it
firms
and
university
researchers.
was already behind Hitachi, NEC, and
late switch to transistors
providing Japanese competitors
all
in
programmable computer
and the assistance U.S. firms were
But when the flow of new models from the U.S.
but stopped during the later 1960s, as GE and
computer business, and Honeywell reduced
5
its
RCA prepared
to exit the
product development efforts,
Fujitsu
Fujitsu engineers
Hitachi,
were able
to offer
hardware superior
and large mainframes,
were the 230 series
initially
introduced
in
Japanese customers, especially
their
prices
low
government
and
These models attracted many
the banking industry and at universities, due
in
powerful
also aided these sales
Japanese computers,
processing
The Japanese
capabilities.
by placing restrictions on purchases
models
including
medium,
of small,
1965 with transistors but upgraded
1968 with more advanced integrated circuits.
to
from
NEC, or Toshiba.
Fujitsu's most competitive machines
in
to that available
from Japan
IBM.
of
non-
Nonetheless,
the
popularity of the 230 models made Fujitsu Japan's largest computer manufacturer
in
1968 and helped computer revenues exceed 50% of Fujitsu's sales, for the
first time,
1970.^^
in
Independent development might not have worked so well as
without the contribution of Toshio Ikeda (1923-1974),
Institute
of
Technology who had entered Fujitsu
Japan's
as
System/360 and
the
design
most talented
interests led him in 1969 to meet
designed
graduate of the Tokyo
relationship
between
Fujitsu
Gene Amdahl,
then
left
IBM
engineer.
his
in
and the Amdahl
through the 1980s and assisted Fujitsu
product strategy:
Fujitsu and
and
Fujitsu
Ikeda's
counterpart
1970
to
in
implementing
a
at
fame
and
IBM who had
found the Amdahl
Their meeting began
Corporation
a
that
continued
key change
in
its
adoption of IBM compatibility.
Amdahl were
logical
partners since Amdahl needed financing
managers believed they could expand their market share with
computers that competed directly for IBM customers.
reached
After designing
1946.
Corporation, to produce larger IBM-compatible mainframes.
a
strategy
he moved into computers and quickly gained
telephone switching equipment,
recognition
in
a
a
similar
conclusion,
and,
with
6
MITI's
Hitachi
managers had
encouragement,
Fujitsu
and
Fujitsu
Hitachi agreed to standardize their mainframe architectures and, without jointly
developing hardware or software, introduce models that, together, matched
all
the segments IBM's System/370 family covered.
became Amdahl's largest shareholder after the premature death
Fujitsu also
1974 and the recognition of Fujitsu executives that they could use
of Ikeda in
some assistance
of
UNIX
the
hardware design.
in
operation
1 '^
development.'"')
With
system,
circuits, utilizing the most
at
well
as
ICL
to
given price ranges.
and outside Japan:
cooperate with
Amdahl
to
deliver
logic
to
IBM
in
These machines proved competitive inside
modified to their specifications,
in
Amdahl as
and sold
its
Europe under the Siemens
14
Software Strategy:
Until
offer
software
in
IBM-compatible
hardware comparable
complete mainframes to Siemens for marketing
label.
produce
Fujitsu
Fujitsu manufactured central-processing units for
Great Britain,
in
not
of a version
advanced semiconductor technology available, Fujitsu
by the mid-1970s was able
performance
did
from
help
(Amdahl, with the exception
"^
the
M
products
series,
Products and Process
successful competition
comparable
in
functions
(and
in
Japan required Fujitsu
price-performance)
Japanese or foreign hardware and software available
in
model computer.
But Fujitsu's switch
exported mainframes affected
software
to
in
other
Japan. This involved
studying "state-of-the-art" products as well as attempting some
such as to accommodate two central-processing units
to
to
real
innovations,
the largest 230-series
IBM compatibility for domestic and
product and process
development
in
several ways.
To
a
large
extent,
all
producers
of
IBM-compatible hardware followed
external specifications -- descriptions of what products should do, rather than
7
Fujitsu
how they might operate
internally --
IBM
initially
the System 360.
set with
While IBM eventually challenged the legality of this action as well as modified
its
products to make them more difficult to emulate, compatible producers seem
to
have proceeded on the assumption that,
since OS/360 was
domain, they could follow OS/370 and later standards.
have recounted the details
of suits
by and against
the public
in
While other authors
.IBM, there are several issues
relevant to the subject of software-development management.
Most significant was that compatible producers were able to avoid the
more uncertain aspects
of
new-product development,
functions or creating new standards.
such as defining new
For basic software,
Fujitsu
managers
estimated that designing external specifications took approximately 10% of total
man hours (compared
to 10% for internal specifications, 20% for
program design,
30% for programming or coding, and another 30% for testing).'"
This meant
that relying on IBM's external specifications probably helped firms reduce
man
Commentators on the industry have supported
this
hours for new products.''
notion, claiming that most mainframe basic-software development at Fujitsu (and
some
at
Hitachi
as
well)
between the mid-1970s and early 1980s consisted
of
working backward from IBM manuals, rather than inventing new procedures or
functions.
Indirect evidence of this was the 1988 settlement between
Fujitsu, which called for Fujitsu to
licensing fees plus an annual fee
and
source
code,
primarily
to
if
pay IBM several hundred
it
wanted
understand
to
the
million dollars in
review licensed IBM manuals
interface
specifications
1
facilitate the
by definition,
in
Q
In
First of
all,
IBM,
the IBM-compatible market, was able to set most
standards and decide schedules
introductions.
to
continued production of IBM-compatible hardware.'*^
Yet the advantages of compatibility were not absolute.
as the leader,
IBM and
(and some prices as well)
for
new product
custom applications programming, the bulk of software demand
8
Fujitsu
in
suggestions on how to design
usually different enough
so
IBM or other vendors
that
it
was
rarely
might
provide
But customer needs were
particular system.
a
Because projects generally had
specifications.
sufficient
to
existing
follow
design
to invest the time to
a
external specifications, IBM compatibility probably offered firms such
full set of
as
from
software
existing
Japan,
Fujitsu
little
savings
in
manpower
for
applications
compared
to
basic-
software development.
At the same time, maintaining compatibility with new IBM hardware proved
increasingly difficult after the
functions
hardwired
in
producers committed
to
late
chips
that
1970s,
were
when IBM began
difficult
IBM compatibility had
to
to
to
embed more
duplicate.
Mainframe
devote more time to working
backwards from announced, often incomplete specifications, and would probably
always
lag
introduce
behind
its
new-product introductions
in
systems.
superior "price-performance."
--
they waited for
IBM
to
Japanese firms (and Amdahl) competed by advertising
hardware that, while sometimes
and performance
as
required
later
in
This goal
a
mode
of
delivery than
-- a
IBM products, offered
combination of competitive prices
design
and production management
oriented less toward product innovation and more toward incremental product
improvements following IBM as
well as process efficiency in
all
phases of basic
hardware and software development.
In
both basic and applications software, similar to other Japanese firms,
Fujitsu managemervt In the early 1970s began promoting process rationalizations
aimed at the "accumulation and improvement of technology," both individual and
organizational.
According
to internal training materials, this rationalization for
software production centered on three broad areas:
specialization,
The drive
development technology,
and mechanization/automation (Figure 7.2).
to
improve development technology within Fujitsu
9
in
the 1970s
Fujitsu
and early 1980s consisted
coming
engineering
software
making greater use
of
mainly
from
the
of
fundamental advances
United
and
States
in
Europe:
higher-level languages (though standardized for in-house use), modularization
-Nk
and structured methods for design and programming, quantified controls for
product inspection and process reviews
time spent on
product
reliability
minimizing the volume of new code programmers had to
at
write through what managers called "common development":
designs
in
a
computer language or
into different languages
(2)
and reduce
Another aspect of development
programs.
fixing or altering
technology aimed
to insure
(1) writing
program
flow-chart form that could be compiled
in
and storing the components
in
a
reusable library; and
designing basic programs or components, such as compilers, for use
more
in
than one of Fujitsu's operating systems. ^
Specialization
included
the
establishment
of
development organizations
such as the Numazu
dedicated to different types of software and functions,
Works Software Division and the Kamata Software Factory, smaller
linked by on-line networks, as well as subsidiaries specializing
in
facilities
various areas
or providing regional system-engineering services throughout Japan. ^^
Hitachi and
with
As
at
NEC, these subsidiaries, supplemented by long-term arrangements
independent software houses,
customers and specific applications
provided
skills,
not
only
regional
services
but they allowed Fujitsu to add
expensive and temporary capacity for programming operations.
to
less
Another strategy
related to the concept of specialization was to have development groups with
special
knowledge
of
common
applications
gradually
write
packages, especially for personal and office computers,
packages with new software
to
more
software
and integrate these
produce semi-customized systems.
Mechanization or automation referred to the use of computer-aided tools
to
support design,
coding,
testing,
10
and
maintenance,
including
program
Fujitsu
generators and reuse-support systems, which offered the potential of raising
productivity and quality simultaneously.
Fujitsu
management
also
application of automation and mechanization to control technology,
of
project management,
for planning,
tools
integrated with standards,
circles,
as another
way
to
in
the form
and quality evaluation,
manual procedures, and practices such as quality
support development technology and specialization.
Again, there was nothing unusual
software development,
testing,
viewed the
in
Fujitsu's approach to automating aspects of
except perhaps
in
degree
emphasis, particularly
of
in
applications programming.
BASIC SOFTWARE
Product- Process Development
Fujitsu's decision in the 1960s to develop
computer products independently
challenged company engineers to master not only hardware design but also
software
programming.
A sampling
of
packages
personnel produced between 1962 and 1984, listed
indication of the scope and scale of their efforts:
in
Fujitsu's
basic-software
Table 7.2, provides some
From 1960 onward, Fujitsu
offered an increasingly wide range of compilers, operating systems, and tools,
in
addition to customized programs and integrated hardware-software systems such
as for banks,
government agencies, manufacturing and distribution firms, and
telecommunications systems.
Fujitsu's offerings
seemed comparable
from other Japanese and U.S. firms, and, judging by success
place,
they were possibly superior.
in
to
products
the market
Most important for the subject of this
book, as the discussion below indicates, Fujitsu managers and personnel made
a
series of interrelated efforts to create an integrated, standardized process and
organization for basic-software production as products became more numerous
n
Fujitsu
and complex.
software development began
Fujitsu's experience with
the early 1960s
in
with the introduction of several transistorized computers, since the relay and
parametron computers of the 1950s were either hard-wired or required only
minimal
programming.
Even the
transistorized machines
first
did
have
not
"modern" operating systems but performed simple batch-processing operations
Like other firms
and only required specialized routines and language compilers.
pioneering
in
the computer industry, Fujitsu gradually introduced other software
systems, following IBM's lead conceptually,
An important early product, because
not technologically.
if
it
exposed Fujitsu engineers
FONTAC,
types of programs and computer languages, was the
to
the
Electronics
Industry
Promotion
Association
delivered
Japan.
of
This
to
new
in
1964
was
a
cooperative project among Fujitsu, NEC, and Oki Electric, which MIT! sponsored
to
encourage domestic firms to build
to IBM's 7090 machine,
a
large-scale computer roughly equivalent
which IBM had introduced
NEC and
main processor and the card punch equipment, while
the sub-processors
and input/output devices.
Fujitsu designed the
1960.
in
Oki Electric made
also
Fujitsu
took charge of
programming, with assistance from NEC and Oki engineers, several Japanese
The software
Fujitsu provided consisted
professors, and
a
of a "monitor,"
based on earlier control programs available
few U.S. consultants.
ALGOL, COBOL, FORTRAN, and ASSEMBLER
compilers;
a
in
Japan, as well as
library editor; a sort
generator; an executable coded tape editor; utility programs; and several object
(applications)
programs.
introduced this
in
1965 as
Fujitsu
later
MONITOR
II
modified
with
its
the
FONTAC
monitor
230-50 mainframe,
and
Fujitsu's
21
commercial version of the FONTAC."'
A more serious challenge
Fujitsu
engineers faced
develop an operating system comparable, at least
.
12
in
in
the
1960s
was to
basic functions, to IBM's
Fujitsu
OS/360, which had set new standards for the entire industry.
upgraded 230-series models, especially the dual-processor
this software for the
which
230-60,
Fujitsu needed
incorporated
integrated
The demands
extensive processing capabilities.
and
offered,
of this
for
the
programming
MONITOR
Fujitsu completed this in 1968,
V.
time,
led Fujitsu
department for the TOO or so employees needed
to establish a separate
the operating system,
circuits
to build
after two
years of development and numerous tribulations.
According to
difficult to
in
U.S.
several
engineers,
Fujitsu
MONITOR V was
develop due to the dual-processor architecture, then available only
military
Furthermore,
computers.
had not yet designed
Fujitsu
sophisticated operating system even for one processor,
OS/360
Fujitsu used
as a conceptual model, the 360 architecture
well as the
new software department, Takuma Yamamoto
resident
(Fujits
trips to the U.S. to seek assistance from A
houses and computer manufacturers.
especially
U.S.,
to
visit
assistance
to
complete
the
to
in
can software
This was typical of Fu'
which, rather
than buying technology from the U.S., encouraged perso'
frequently,
was completely
including Ikeda and the head of the project as
Fujitsu engineers,
made several
a
alone two, and while
let
different.
1988),
extremely
to travel abroa'^
consultants,
suppliers,
competitors.
Fujitsu
delivered
in
still
an
required
initial
debug the system,
version to the Kyoto University Computer Center
months behind schedule.
In
retrospect,
MONITOR V and
were major successes commercially and for the lessons
and organization they forced Fujitsu
MONITOR V demonstrated
importance of
effectively
in
1969,
Kyoto University personnel helped correct problems
and finish the programming.
overall
and
to
the 230-series
in
management
to encounter.
top
managing
management,
large-scale
13
for
software
the
first
time,
development.
the
In
Fujitsu
recognition of his success
promoted Yamamoto
1968
producing
in
to
department, Yamamoto,
of
like Ikeda,
V, company executives
in
programming for both systems and
director of
A 1949 graduate
applications.
MONITOR
Tokyo University's
had started
in
engineering
electrical
hardware, designing telephone
switching equipment and then relay computers before moving to data-processing
equipment design and then
corporate director
that
certain
improving
1975
in
V.
As he rose
and company president
in
the executive ranks to
1981,
in
software-development process and organization.
its
MONITOR V was
that
it
helped prepare Fujitsu for the
task
of
the
comparable
to
OS/370 that would serve the M-series
managers
in
1970s:
to
develop
the early 1970s introduced
more advanced operating
a
a
1974.
To minimize the development
also decided to
MONITOR
VII, completed
to
cover the small, medium, and
contrast to the five separate programs IBM offered for
in
The
370-series models.
first version of the operating
mainframes, OS IV/F4, Fujitsu successfully delivered
with versions for mid-size and small mainframes
less
Fujitsu
effort for the M-series software, Fujitsu
produce three operating systems
large mainframes,
hardware.
system
succession of new procedures and
control systems for successor products, beginning with
in
Yamamoto made
provided sufficient direction and resources to continue
Fujitsu
Another benefit of
major
MONITOR
in
system for
its
its
largest
1975, and followed this
in
1977.
These were more-or-
on time and commercial successes, although the scale and complexity of the
M-series programs again convinced Fujitsu management to take another series
of
steps to upgrade and standardize procedures,
phases of software development and control.
Another manager who rose
Mitsugi,
in
Engineering
1988
a
to
methods, and tools for
all
^•^
prominence during
this period
was Mamoru
Senior Executive Director and head of Fujitsu's Systems
Group.
He would
later
14
carry
forward
the
idea
of
process
Fujitsu
to
rationalization
1979.
the establishment of
software factory for applications
a
in
the meantime, Mitsugi headed the effort to develop the M-series basic
In
software and, at the same time, to systematize process and quality control
Like his predecessors, Mitsugi had worked as a hardware
the entire division.
designer, developing telephone exchange systems Fujitsu supplied to NTT.
he was one of the first managers to have an extensive background
inspection,
for
initially
programs
supplied
NTT
to
equipment, before joining the basic-software group
inspection
to
along
software
in
with
But
switching
head operating-systems
1973.
in
While Japanese firms separated commercial software development from
contracts, working for
practices
in
Mitsugi
of
Implementing
NTT
as
in
well
specifications
NTT
the early 1970s clearly shaped the thinking and
as
counterparts
his
NTT
from
received
for
at
NEC and
systems
such
Hitachi.
as
DIPS
(Distributed Information Processing System), and producing the hardware and
software
in
conjunction with other firms,
required
in
commercial departments, because of NTT's exacting standards, managers
who moved from NTT work
management standards.
Mitsugi compared
to
to
contractors to establish
Since these were even more rigorous
and follow product and process standards.
than
all
its
to commercial
systems brought with them higher
For example, after joining the basic-software group,
product and process control operations and decided he had
strengthen the inspection department as well as expand the department's role
improving
products.
'^"^
process
standardization
He also realized Fujitsu had
while meeting
rather
to
than
just
--
an
intractable problem for
commercial divisions during the 1970s due to rapid growth
NTT was
very advanced
15
finished
make these long-term improvements
short-term development targets
At the time,
inspecting
in
its
in
thinking.
demand:
The DIPS
Fujitsu
/
software was really
a large
Since three companies, including
system.
My
had to develop the software, standardization was essential.
us,
NTT
impression was that
was able
devote more effort to software
to
phase divisions and carrying out work standardization than we were
able to do
Of course, we influenced that
the private sector.
in
thinking, too, since there was an interchange among us, an exchange
of information.
software was
quickly
to
.
.
.
This was
increasing
meet
programs.
This
conformance.
In
is
In
period of rapid growth, and demand for
rapidly
We had
too.
demand,
this
documentation later.
a
and
to
worried
programs
write
about
preparing
other words, we gave top priority to writing
tended
documentation
defeat
to
the long run this
is
program
and
self-defeating, and, like
NTT,
better to review and inspect every phase, and get rid of as
bugs
as possible in
each phase.
But,
in
it
many
the private sector, since
software development must have more constraints on time and costs,
even though we were aware of this problem, there was not much we
could
do.'^'*
Product. Process, and Quality Control
An
important
organization
for
characteristic
basic
software was
product, process, and quality.
at
NEC,
in
the
Fujitsu's
the gradual
Department
a
three main phases:
integration
(later
Numazu Works's Software
headed before becoming division manager
According to
development approach
Direction of Fujitsu's efforts
came from the Inspection
Assurance Department)
of
in
in
of
controls
when
16
for
these areas, as
renamed the QualityDivision, which Mitsugi
1974.
chronology the department prepared, these efforts
prior to 1970,
and
Fujitsu
fell
into
had no set procedures and
Fujitsu
managers allowed programmers
1978,
when
Fujitsu set up
its
to test software at their
first
own discretion; 1970-
product and process standards and formal
systems for inspection and quality control; and the period after 1978, when
Fujitsu
began placing more emphasis on structured design and programming
techniques and established the procedures that formed the basis of
Distinguishing the last phase was
practices.
Department's
concerns
include
to
not
a
its
current
broadening of the Inspection
simply
and
testing
documentation
conformance, or product evaluation, but analysis of the development process
itself
(Table 7.3).
While the process rationalization this chronology details closely resembled
process evolution at other Japanese and U.S. firms, Fujitsu managers appeared
to
have some special emphases rather early on.
One was
quality more from the perspective of the customer than
such as zero defects, which Hitachi tended
during the development of
testing section
in
in
MONITOR
to do.
and
to view inspection
in
an absolute sense,
This orientation emerged
V, when Fujitsu established
program
a
1968 to evaluate software by comparing specifications stated
manuals to product performance.
the group's primary function.
Assisting designers
The next step came
in
debugging had been
in
1971, with the creation of
formal product-inspection procedures, such as requiring completed software and
manuals to pass
manage
this,
a
Fujitsu
instituted
evaluation and registration.
source
code,
To
formal inspection process before release to the customer.
manuals,
development groups
systems
for
"product
handling"
as
The product-handling procedures required
well
and
bring
other
documentation
these
product
not
only
components
to
the
that the
but
agree
as
that
inspection
department together. Previously, software was sometimes completed and released
without proper documentation or checking.
received
a
registration
number,
After 1971,
however, no product
necessary for release to customers,
17
without
Fujitsu
meeting these requirements and gaining the formal approval of the Inspection
Department.
After making some progress
more
product control, Fujitsu managers turned
in
During 1973-1978, Fujitsu launched three interrelated
to defect control.
standardizing software development practices, collecting quality and
efforts:
performance data,
divisions
to
and
applying
quality-control
A planning section organized
software.
for the first few years.
initiatives
operations,
In
used
techniques
other
in
1972 oversaw these
in
recognition of the increasing scale of
Fujitsu also elevated basic software to divisional status
in
1974.
Increasing product size and complexity also persuaded Fujitsu managers to
pay
more attention
standardization.
more
project
to
management
During 1973-1975, the division started
as
a
well
as
process
Development Planning
and Report System, which set up formal work-estimation procedures for project
managers
objects,
to
use
in
estimating man-power needs,
quality objectives,
product
and schedules. As an example from 1984 shows, the system did not
simply divide authority or tasks functionally but required different groups to
share responsibility for quality, planning, and control
in
all
development and
testing phases (Table 7.4).
The chronology
also
charts
the application
of
computer-aided
process control and their integration with standardized methods.
in
tools
to
For example,
1975-1976, to automate data collection for quality and budget measurements,
Fujitsu introduced
after
two
years
BSMS
of
(Basic Software Project Management Support System),
research
and
trials.
BSMS supported new
project-
management and development procedures and gradually became more valuable
a tool
as
for estimating schedules and monitoring the development process, as well
as for aiding testing and inspection.
BSMS and the Development Planning and Report System continued
18
to
be
Fujitsu
the centerpieces of Fujitsu's production-management system for basic software
in
The systems worked
the 1980s.
submit
as follows:
product-number application
a
approved, they submitted
a
to
project managers had to
First,
begin
a
project.
If
The development and planning documents
budget.
market survey and basic-design specifications
also required a
their superiors
listing functional,
performance, and reliability objectives, as well as estimates of manpower and
The
machine time.
system then centered on the development and
control
planning documents and monthly reports of actual work hours, computer time,
and
phase completions,
estimates.
which
BSMS tracked and compared
the
initial
^"^
The development process and
basic design,
model:
to
controls followed
conventional life-cycle
a
functional and structural design,
detailed design
and
coding, unit and combined test, component and system test, product inspection,
delivery and maintenance.
phases for
charts
in
MONITOR
had used PERT charts to manage these
Fujitsu
work
VII but found they did not
the mid-1970s,
generated manually
through the on-line BSMS system.
at
first
The introduction
Software Division compile and maintain an
actual data on past projects to guide
well
managers
in
to
bar
and then automatically
of
"estimation
and switched
BSMS
also helped the
handbook" containing
their estimates.
Completion of functional and structural design required documents detailing
the
function
of
each
system
between each module, plus
a
module structure,
component,
testing plan.
and
interfaces
Detailed design required flow-chart
and tabular documentation on the internal structure of each module, and input
and output structure.
required
a
At the completion of unit and combined test,
programming
documentation,
source modules.
report,
which
included
the
detailed
Fujitsu
design
review reports, test specifications and results, as well as the
After system test, the testing report documentation included
19
Fujitsu
the inspection specifications, test specifications and results, and the test set.
Final inspection
generated another set of results.
The most important quality measures
component
test,
conformance
reliability
in
detected,
and mean time between failures.
introduced
in
sort through
used
Fujitsu
in
documentation,
to
1970s
the
number
of
were
bugs
Main-factor analysis techniques,
1974 and influenced by practices at Hitachi, required testers to
intermediate test data to identify sources of bugs,
before final
testing. Standardizing testing and review procedures was particularly important,
because Fujitsu previously had not adopted
and eliminating bugs.
the
in
later
1970s
Better control
track
to
consistent approach for predicting
programmers decided which tests
Individual
without formal planning or supervision.
Fujitsu
a
other
in this
measures,
to
run,
area then allowed
such
software
as
functionality and portability.
In
the
period
Assurance Through
underlying
Quality
assurance activities
in
1979,
Fujitsu
Organization,
Development,
Horizontal
especially
after
emphasized
Diffusion
systems
a
themes:
Inspection
Ideas
and Advancement of Quality Concepts.
Assurance Through
part of
the
Organization
design and planning,
was
organizational
formal
rather than
Inspection Department. Fujitsu implemented this
1979-1980
of
three
a
to
Through
The
notion
make quality
and job
function
Quality
structure,
restricted to the
new emphasis by
instituting in
"phase completion reporting system," resembling the design-review
used at other firms,
and then
a
new version
of
its
Development
Planning and Report System. The new reporting system required, for the first
time,
programmers and managers
to collect
productivity data.
Standardized
productivity data then allowed Fujitsu to introduce standard times for worker
performance
in
1980,
based on actual previous data for different types of
software, and incorporating quality objectives.
20
Although Fujitsu was several
Fujitsu
behind
years
standard
Hitachi,
became the basis
quickly
times
of
project
management.
Diffusion of Inspection Ideas
deliberate efforts
control
spread good thinking and practices
to
beyond one's
small
different
departments
quality-related
and
As
data.
The mechanism
group.
Assurance Liaison"
"Quality
Through Horizontal Development referred
(QAL)
projects
part of
--
shared
this
regarding quality
Fujitsu used was to create a
system
a
to
of
regular meetings where
information
initiative,
bugs
on
Fujitsu
and other
established
other
quality-control measures, including small groups (like quality circles), initiated
for software
Advancement
1980 as part of the company-wide High- Reliability
in
of Quality
Program.
Concepts centered on lectures, workshops, and measures
dealing with interpretations of product quality that extended beyond "zero bugs"
to characteristics
such as product design, function, performance, ease of use,
and maintainability, as U.S. experts
Fujitsu
like
Barry Boehm encouraged.
managers interpreted these efforts as constituting
process control, as
in
the 1970s, to "Total Quality Control" or TQC.
coined during the 1950s
since the 1960s,
TQC
a transition
in
from
A term
but more popular among Japanese firms
the U.S.
represented comprehensive quality-assurance measures that
covered product planning, design, manufacturing, and service, rather than simply
inspection after production.
back
in
to 1966,
The
origins of the
when management launched
its
TQC movement
in
Fujitsu date
High-Reliability Program, primarily
hardware development and manufacturing divisions.
Fujitsu's efforts in basic
software gradually came to include procedures for project and budget control,
work and product standards, product evaluation, registration, and maintenance,
set
by
small
a series of
groups,
discuss
a
committees (Figure 7.3).^^
emphasized since 1980,
range of issues related
which
Another element was the use
met once or more
to productivity
21
a
month
of
to
and quality, as well as work
Fujitsu
conditions.
Managers also used the small groups
required of new company employees.
Program, initiated
with
establish
to
supplement formal training
second High-Reliability
of the
1984, the Software Division also
in
and contractors
subsidiaries
As part
to
began working extensively
TQC
systems similar to what
existed at Numazu.^'
Quantified Managenient System
Fujitsu's
Numazu Works attempted
to
quantify
basic
performance and then introduce standardized procedures and
conventional
attempted.
factory
rather than
approaches.
relying on
information
on
First,
project
and help developers "build
skill,
inspection
achieve these ends, Fujitsu staff
four
institution
correction.
much
as
tools,
in
at
each
the end of the process.^"
To
inspection and quality assurance worked on
were the efforts
progress
and
to
quantify
product quality.
of
a
analyze
was
Second,
the
the programming phase
in
"management by objectives"
and then
system
aimed
error
at
Third, to determine test items, was the use of statistical "Design of
Experiment" techniques, often referred to as the "Taguchi method"
and
have
facilities
in" quality at
introduction of methods to predict error occurrence
and
software
factory-like
of
Major goals were to reduce individual variability and dependency on
high-levels of experience or
phase,
and
organizations
measures
generally
applied
only
to
product
development
conventional hard products such as automobiles.
and
in
the U.S.
processing
of
Fourth, was an attempt to
evaluate quantitatively the concept of "user friendliness" of software.
Measuring
common way
number
design
progress
to evaluate schedules
of completed modules,
or
was
was
in
problematic
to
because
the
most
compare actual progress, such as the
Fujitsu's case,
and "work items," with estimates made prior
22
mainly
completed
to starting
"design sheets"
work. Accuracy of the
Fujitsu
measure thus depended on the accuracy of the prediction, which managers could
To evaluate projects,
not fully determine until completion of a project.
used two indices:
One measured
quality, based on points received in reviews,
and another quantity, examining how well predicted amounts of work
These data
results.
also
Fujitsu
helped managers
define tasks
fit
realistic
small,
in
actual
segments, and minimize estimation errors.
The system worked
followed:
as
In
the
planning
managers
stage,
determined work items, entered these on work item sheets, and entered them
into
BSMS
the
data
Work items were segments
base.
activities that teams could finish
organized projects,
work item
at
in
Division
groups, and each group leader was responsible for one
Each project member had to
time.
a
or other
The Software
about two weeks.
in
design
of
fill
out
a
"review trust
sheet," as well as undergo reviews from several other people, including
reviewer.
Reviewers used
make changes
until
a
a chief
check-list to evaluate work, and members had to
reviewer was
the chief
At weekly progress
satisfied.
meetings, managers and group leaders checked the progress of each work item.
The
quality index compared the
with the
number
Completion
of
number
of quality points
of predicted quality points, assigned
materials
for
reviews
received
50
reviews and changes required brought 100 points.
for completion of materials for reviews, and 50 or
received
through
points;
a
in
reviews
simple scheme:
completion
of
all
Projects received 50 points
more points depending on the
review evaluations.
Using these formulae, Fujitsu quantified measures for each project member
and project,
including product quality.
statistical regressions
and factor analysis
estimate numbers of bugs and
estimates.
In
addition,
to identify
Fujitsu
probable causes of errors,
man-power requirements, and
Progress evaluations
test the accuracy of
depended on the accuracy
still
.
23
regularly used
of the predicted
Fujitsu
,
values, which sometimes were far from actual values.
managers claimed
to
Overall, however, Fujitsu
have solved the major problems
reported significant improvements
with
the
system and
progress control as well as quality (see the
in
discussion on performance below).
To quantify "ease
and
inspections,
questionnaires.
many
as 113 in
use,"
of
validation
employed
Fujitsu
by
accuracy
of
surveying
and
reviews
through
users
Users evaluated products on specific items, which numbered as
some surveys, using simple "yes" or "no" responses and giving
These items evaluated basic
more points for major as opposed to minor items.
(product
product characteristics
compatibility,
manual
performance,
coordination, ease of maintenance,
reliability,
operability,
price
quality of information,
and delivery), design quality and consistency (defined as the "degree
which
to
software targets and specifications meet user needs," and the "degree to which
the
finished
meets
software
design
the
targets
and
specifications"),
and
sufficiency and attractiveness ("the extent to which products are acceptable to
users").
The surveys indicated
(such
major
categories:
as
that users grouped these features into three
friendliness,
understandability)
efficiency,
intermediate (such as productivity, ease of learning, maintainability), and minor
(such as syntax flexibility, speed of operation).
DeskHlinq and Standardization of Testing
Fujitsu's objectives
program by the end
and
as
many
process. ^^
of
testing were to detect 65% of the bugs
of the coding
the
remainder
in
a
phase review, 95% by the end of system
as
A problem encountered
as in the design of
too
in
in
possible
by the end
of
the
new
test,
inspection
meeting these goals, however, was that,
any complex product or process, large programs contained
many combinations
of
factors
and
24
conditions
to
test
completely.
Fujitsu
company data showed
Furthermore,
personnel to detect errors
in
software as their experience increased, with
leveling off after about six years.
managers decided
employ
to
significant improvement in the ability of
a
As
a
result of these observations,
method
for
experienced could understand, as discussed
selecting
in
test
cases
Fujitsu
that
less
1987 article by an engineer
a
a
in
the Quality Assurance Department:
In tests
involving
many
inspectors,
a
means
is
essential to standardize
the quality of testing conducted by each inspector,
as
limit
skill
to
the extent to which one can
through training.
analysis
is
.
.
.
The omission
is
a
share the knowledge and
of test cases
associated with problems
often
but there
during test factor
relating to the scope of
knowledge and insight of the testing personnel.... The omission of
test cases during test case generation
careless errors.
..
.
is
often caused by omissions or
[T]he number of test factors [selected] increases
in
proportion to employed years up to 6 years and stays constant after
Therefore, to improve the quality of test factor analysis as
that.
whole,
less
it
is
a
significant importance
knowledge regarding software testing.
much
knowledge
to
experienced testing personnel. ^^
Two approaches appeared most
as
to transfer
[sic]
a
useful
in
One was
and
capturing
transferring
to develop tools that
automated
of the testing process as possible, particularly the generation of initial
tests based on a program's external specifications or input characteristics.
tools often could identify critical factors that
a
program.
The conventional way
cause-effect graphs,
were the source
of most errors in
of generating initial test cases
but these required
25
a
great deal of
Such
was
knowledge
to
use
to
use
Fujitsu
effectively.
A second approach was
complete with
methods and conditions,
base on test-factor analysis
to create a data
an
editing
support function to help
personnel utilize the data base to create test cases for new programs.
of this latter technique Fujitsu introduced,
As part
beginning around 1980, Design of
Experiments methodology.
The Design
of
Experiments techniques relied on educated guesses of where
problems were likely
then
specific
(which could be listed for easy reference), and
to exist
and evaluated relying on tables
selected
tests
arrays" (statistically independent groups of factors)
it
possible to control the
factors
number
.
of
Fujitsu claimed these
of combinations that existed
cause-effect graphs.
made
between any two
and minimize measurement errors and other conditions,
identify correctable defects
"orthogonal
as
well
as
more quickly than conventional techniques such as
In fact,
Fujitsu data indicated that the
actually detect 5 to 10 times or more the
number
DE methods could
of errors usually
found with
conventional methods, with fewer test cases. ^'
Tool Support
Similar to
introducing
Hitachi,
Toshiba,
and NEC,
numerous computer-aided
production and the management process
center of tool
R&D
until the
facility, Fujitsu Laboratories,
program construction.
plan, as at Toshiba,
in
tools
the mid-1970s,
to
support
(Table 7.5).
the
Fujitsu
began
basic-software
Numazu remained the
mid-1980s, when Kamata and the central research
began studying how
to
automate system design and
Perhaps because management had no specific "factory"
Numazu developed most
of its tools for discrete use rather
than as parts of an integrated on-line system, although standardized methods
accompanied many of the design-related tools, and Numazu had the capability
for
data-base
links
among TDPII,
ITS,
26
and the Dump Transfer system
Fujitsu
BSMS and TDP
(maintenance),
construction)
Two
GEM and PRISM (program
-^
.
BSMS, described
basic systems were
Program Editing and Management
collection
and
(control),
II
tools
Facilities),
earlier,
a
and
GEM
(Generalized
library-management and data-
that automatically generated graphic reports,
individuals, on productivity (lines of code developed)
,
for
groups and
progress status (by month
The library functions included
and week), and quality (bug levels per module).
version control of modules and completed programs, as well as compressed data
to reduce the volume of stored files.
Another important
Control
chart),
which
Programming System),
tool
and methodology set was YACII
Fujitsu
a
tool
used for functional design,
Another
and VPS
(YACII
used
at
the
NTT.
YAC
charts
in
1980,
The current version,
1987 along with YPS, contained an editor, compiler, debugger, and
documenter, and received inputs
work
introduced
Fujitsu
modeling them after similar diagrams
in
(Yet
developed at Kamata that automatically generated
code from the flow charts.
introduced
"^
stations.
in
structured but conversational Japanese on
A host computer translated the inputs
YACII charts and then executable "bug-free" code
(Logic Design Language), a language based on
Fujitsu developed to use with
C
in
machine-readable
into
C, Fortran, Cobol, or
LDL
for basic-software design that
YACII charts. (LDL replaced an
earlier in-house
language, System Programming Language or SPL, which Fujitsu had based on
PL/I). 34
As discussed with reference
code generators) and
enhanced productivity
level design.
to similar tool sets at Hitachi
NEC (SPD and DECA),
in
nearly
They helped
all
(PAD and PAD
the combination of YACII and
YPS
phases of development, at least after high-
eliminate poorly structured programs by supporting
top-down, structured design through graphical and text representations.
27
They
Fujitsu
practically eliminated coding errors, since the designs were executable.
reuse of whole programs,
facilitated
program
at the design-specification
languages or architectures.
They
program parts, or edited portions
level
of a
and thus across different computer
They included executors, test-coverage evaluators,
and debuggers that executed the charts, and helped developers evaluate the
comprehensiveness of test cases, collect and analyze data, and debug programs.
The
also
tools
enhancements,
in
facilitated
first
maintenance,
both
fixing
problems
and
adding
by minimizing coding errors and then by presenting designs
standard formats that were relatively simple for third parties to understand.
A document generator
the design
charts.
also
in
produced detailed specifications automatically from
addition,
YPS and other systems included reverse
generators that produced design charts from source code; developers could then
edit the charts
more easily than source code as
as store the charts in a
well
data base for later retrieval. ^^
Performance Improvement
Fujitsu did not publish or
make available much performance data for basic
software,
although information available indicated steady gains
after 1975
in
schedule
control
in
the decade
quality (reliability), productivity (development costs), and project
(lateness).
The major products
at
Numazu,
mainframe
operating systems and related components, were lengthy and complex, totalling
as
much
as
2
million
lines of code,
excluding data-base software, with major
individual components running from about 100,000 to 800,000 lines of
C and LDL
source code (without comments). ^°
For
all
code
in
the field
(new code plus maintained software), between
1977 and 1979, bugs reported by users dropped by one-third, and then another
one-third
between
1979
and
1982
(Table
28
7.6).
By
1985,
bug
levels
for
Fujitsu
outstanding code had fallen to practically zero (0.01 and below).
not
allow
the publication
similar gains.
data
of
Bugs per TOGO
code)
all
Improvement since 1981 leveled
alone.
and below, although
this level
but this
showed
new code reported by users (generally
lines of
about 10 times the level for
0.1
newly written code,
for
Fujitsu would
four-fold
fell
bugs dropped
as
off,
1980 and
between
to
1981
approximately
was already excellent by most standards and
the averages reported for Japan and the U.S.
(see Appendix B)
.
Fujitsu data also suggested that the review procedures instituted after the
late
1970s
number
helped create these low bug levels and,
of defects in design.
For example,
in
1977,
especially,
cut down the
Numazu personnel detected
approximately 85% of bugs found through testing and 15% through reviews of
source code (coding phase review).
Design-sheet reviews, instituted
in
1978,
found more bugs and gradually became the major method for bug detection,
rising from 5% to approximately 40% as early as 1982.
Productivity was another area where management would not publish data,
in
part
because of
lack
a
standardization,
of
until
the
mid-1980s,
in
how
projects counted these numbers. Current measures of productivity included lines
of
code (steps) produced per man-month, number of documents per man-month,
total
development costs
per
1000
documentation per 1000 lines of code.*^'
appeared
1978,
to
machine
lines,
According
experience major improvements
in
time,
to these
and
pages
of
measures, Numazu
productivity between 1975 and
corresponding to new procedures for project management and control
introduced, and somewhat less dramatic but
the mid-1980s,
following
development efforts
In
addition
emphasis,
dating
to
at
new
in
significant improvements during
quality control
and centralization of
Numazu.
apparent
back
efforts
still
to
rises
the early
in
quality
1970s,
29
on
and
productivity,
Fujitsu's
product and project control
Fujitsu
gradually led to significant progress
came
in
late in
in
scheduling accuracy.
the early days of programming, with "late" defined as reaching
the Inspection Department after the scheduled time.
half of the 1970s, about 40% of projects typically fell
early 1980s, however,
to Hitachi.
Most projects
Numazu had reduced
this to
Most delays that remained came
in
Even during the
behind schedule.
about 15%,
latter
By the
comparable
a level
the transition from functional
design to coding, phases that continued to be difficult to estimate accurately,
due
and product requirements."^"
to variations in people
APPLICATIONS-SOFTWARE DEVELOPMENT
Systems Enaineering Group
Fujitsu's decision to create a large organization for custom
programming,
stemmed from the same need SDC, Hitachi, Toshiba, and NEC encountered
produce
in
their applications areas:
to
more efficiently-- that
with improved levels of productivity, project control,
and quality.
In
is,
a
variety of nominally different programs
the early 1960s, Fujitsu customers performed most of their own
programming, with assistance from
a
the Computer Division
Several
in
1963.
Service Department Fujitsu set up within
large orders
for on-line
securities, and data-processing systems to the creation of a Systems
in
banking,
Department
1964, the forerunner of the Systems Engineering Group, which built programs
for and with customers (Table 7.7).
Continued increases
demand
in sales of
Fujitsu's 230 series computers
for customized applications software, prompting
the Information Processing System Laboratory
The Laboratory,
with
an
initial
staff
of
in
700,
brought more
management
to establish
Kamata, Tokyo, during 1970.
allowed
Fujitsu
to
centralize
training operations as well as customized programming for business, engineering,
30
Fujitsu
and
The M-series computers, however, brought more new
scientific applications.
orders for programs that were themselves growing
prompting management to organize
included
that
1970s
a
Software
a
in
and complexity,
size
Systems Engineering Group
Factory
as
well
the later
in
numerous
as
software
subsidiaries and subcontractors. ^
As
of 1988, the
(Figure
The Common
7.4):
Engineering)
Systems Engineering Group consisted
Technical
Department and
Technology Area
Support Center,
included
SE
the
(System
which housed the Software Factory
1500 programmers as well
its
of three major areas
as
other sections such as for
information support (product information for customers), technology transfer,
office systems engineering,
and the SIGMA project; the Applications Software
Planning Division, which dealt mainly with packages; and
a
research institute.
Industry-related departments performed system engineering for companies
in
finance, insurance, securities, and manufacturing and distribution, as well as for
NTT,
scientific
and technical applications, and government users.
The
third
area consisted of functionally specialized departments, such as for management
systems,
information
"value-added networks" for different on-line services,
personal-computer systems, and new telecommunication firms (NCCs).
Evolution of the Factory Strategy and Structure
Several
factory
was
among managers
initially for
to
reasons
lay
behind the decision
1979 and to structure the facility
a desire
work,
was
in
specific
separate
construction
and
in
to
create
a
the manner Fujitsu did.
First,
to increase the level of centralization of similar
program conversion and then for new development.
high-level
then,
software
third,
design
take
(system
advantage
engineering)
of
progress
from
in
the
Second
product
field
of
software engineering by standardizing work around good methods and tools for
31
Fujitsu
^
all
Fourth was
projects.
a
desire to improve Fujitsu's technical and managerial
infrastructure for controlling large, complex projects, especially those involving
amounts of subcontracting,
large
which
coordination and control to meet budgets,
The
intention was to build a
overall
more programmers and managers
more formal
required
of
schedules, and quality objectives.
permanent organization that would allow
to benefit
from knowledge accumulating within
Fujitsu regarding development tools and methods, standardization,
environments, and product designs.
methods
programming
Managers expected their concept
factory approach to bring improvements
in
productivity,
of the
project management,
quality control, and software reuse.
Fujitsu experienced both successes and disappointments with
Management experimented with
Conversion
Software
personnel.
on
the
Factory
a
organization
centralized
Department
with
1977,
in
its
approach.
by setting up
approximately
a
TOO
This modified the huge number of programs customers wanted to run
new M-series machines,
which
were
not
compatible
with
Fujitsu's
previous architectures, as well as converted IBM and other software to run on
Fujitsu
hardware.
Management believed that conversion
work was
fairly
straightforward and that centralization of personnel and equipment, as well as
methodological
standardization,
result in higher productivity.
after he
would make the tasks easier to manage and
The
idea
worked
well
enough so that Mitsugi,
became head of the System Engineering Group, decided
operations of the factory to include program construction.
to
expand the
He then added
another 200 personnel and charged them with turning requirements specifications
received from system engineers into code.
Fujitsu had
managed
integrated projects,
with no
Prior to this,
system engineering and program construction
in
separation of these two functions.
Mitsugi
admitted,
however,
that
32
his
"original
factory
idea,
due
to
Fujitsu
inexperience, went too far."
many
Much
like
SDC
experienced, managers found that
depended on close interactions with customers and knowledge
projects
Or writing the
very different requirements.
of
applications program sometimes
required access to specialized or proprietary information that some customers,
worked
for security reasons, preferred not to give Fujitsu personnel unless they
own
at the customers'
to
There were other occasions where Fujitsu needed
sites.
provide programming services locally at various locations around Japan, again
departing from
the
and
tools
centralized factory model.
a
reuse
data
bases
programmers became better able
As
a
result of
available
addition, as Fujitsu improved
In
the
in
factory,
less-experienced
to build complete systems.
recognizing that different projects had different optimal
processes for project management,
divided or apportioned work.
Fujitsu
made several changes
One change was
to
how
in
expand the scope
of
it
the
factory departments to do more detailed design for some projects and eventually
to
do
system
unnecessary
design,
to
again,
for
separate functions,
some
projects
either for
where
move was
to
encourage system engineers, who
difficult
or
reasons or because
logistical
factory departments had the necessary expertise to build
strategic
was
it
a
Another
system.
initially
did surveys and
project planning, system design, and program structural design, not merely to
let
factory teams do more of the product construction,
but to leverage their
expertise more widely by writing software packages that would cover
user needs.
Packages that teams could use
the need to write
of
a lot of
code from scratch.
programming more widely,
establish or
range of
custom programs thus eliminated
In addition,
management
in
to
the
spread the burden
1980s
decided
to
work with many more software subsidiaries and software houses
around Japan, as
Table
Fujitsu
in
a
well as sell or lease methodologies
and
tools to
customers (see
7.7).'^'^
33
Fujitsu
The methods and
software factories,
used
tools
in
Fujitsu's factory,
were also continually evolving
software technology and customer needs.
Fujitsu
received
in
other Japanese
in
response to changes
in
An important stimulus were orders
the mid-1980s from Japanese banks for on-line software
To manage these projects,
systems requiring several million lines of code.
Fujitsu
in
like
embarked on another
effort to
upgrade
tools
and techniques for project
control, design notation and support, automatic programming, testing support,
and quality assurance.
techniques
in
Facilities),
replacing
1987 as
Fujitsu
packaged and began leasing these
tools
and
SDAS (Systems Development Architecture and Support
SDSS (Software Development Support System) and SDEM
(Software Development Engineering Methodology), the original factory standards
adopted
in
1977-1978 and leased to customers since 1980.
Process Standardization
SDEM
extending
consisted
from
of
standardized
requirements
development
definition
and
system
to
maintenance
and
management. ^-^ The System Engineering Group had guidelines prior
management defined them vaguely and weakly enforced them.
very much
in
a
"craft" mode, with
procedures
control
project
to 1977,
but
Development was
programs more the property
of individuals
than the product of an organization. Documentation and standardization were so
lacking that, as the engineers
difficult to
who developed SDEM and SDSS
recalled,
it
was
understand programs other personnel wrote:
We had software development standards before SDEM and SDSS were
developed
but
the
development phases.
freedom
that
standards
had
no
clear
This lack of definition
software
systems
34
often
definition
resulted
became the
in
the
of
so
much
products
of
Fujitsu
individuals.
program
to
It
was not easy for
understand how
we concluded that
a
person who had not designed
To improve on
worked.
it
a
this situation,
reasonable definitions of the developing
clear,
The kinds
phases and activities were required.
of tasks
performed
during each activity also needed standardization.^
A software-engineering team
problem
considered
two options
improvement and standardization
that
established
Fujitsu
structure
to
of
the
1976 to
in
study this
development
process:
procedures, techniques, and other elements
made up the programming environment; and automatic program generation,
relying on standardized formats for specifying user requirements and "state-of-
Due
the-art" tools.
to the
still-emerging state of program generation,
they
decided to begin with introducing standards and take up program generation
Before looking more deeply into automation, the team also realized they
later.
had to establish
a
formal methodology:
There are two approaches
to
to software engineering.
One approach
is
upgrade current development methods by standardizing development
procedures and by improving both programming techniques and the
development environment.
In
the other
programs are
approach,
directly generated using formal specifications of user requirements,
and
this
automatic
approach
involves
the
The
programming.
application
latter
program generator or
approach
is
one
accomplishing our ultimate goal of software engineering,
narrow the applied
very
field
this
approach
is
feasible.
if
we apply them generally.
35
.
.
.
and
However,
difficult to realize these latter technologies at the
of the art,
way
if
it
of
we
is
present state
Therefore, we addressed the
Fujitsu
following items based on the evolutionary approach: 1) clarification of
software development methods and standardization for development
activities,
2)
utilization
of
tools
to
computerize
development
activities.
We developed SDEM around the
developed SDSS as
design.
.
.
.
Our
more desirable
For the second, we
first item.
support the phases after system
a set of tools to
basic attitude toward software development
to first clarify
is
that
it is
software development methods and
a
software development system, then to approach these problems and
solutions rationally and systematically, depending heavily on feedback
from the actual system developers. ^^
After studying current practices
four manuals that set down the
software engineering, the team wrote
in
SDEM methodology.
outlined basic standards and the overall
Standards Reference Card
listed
The SDEM Concept Manual
The SDEM
development approach.
specific procedures
development phase and project-team member.
and work items for each
The Detailed SDEM Standards
Manual presented more details of each work item and related documents, with
examples.
The SDEM Introduction and Application Manual explained basic
management techniques and guidelines
for
introducing
and using the SDEM
The development process SDEM defined divided the
system.
cycle into 6
life
stages and 12 specific phases, from survey and planning through maintenance
and evaluation.
steps,
as
These included
displayed
modifications,
in
a
series of
Figure 7.6.
The
work categories and
initial
thus covered software products,
SDEM
standards,
work
and later
development technology, and
management, including procedures for modularization as
36
specific
well as construction of
Fujitsu
packages and reusable design patterns (paradigms)
standards for coding (primarily
specified methods and
how
in
COBOL
For programming,
.
and FORTRAN).
SDEM
to write documentation.
SDEM
set
For design,
it
also provided review
guidelines and checklists, testing procedures, and standards for estimating times
for project
management, although
it
should be noted that management tailored
standards, methods, and tools, and performance expectations, to accommodate
programs
of different types
Just as
and
sizes.
SDEM resembled procedures
set
down
in
manuals
at
other Japanese
and U.S. firms, Fujitsu's engineering team cited benefits of process standards
noted earlier at Hitachi,
would
make
possible
it
Toshiba,
even
to
and NEC:
out
the
They believed standardization
quality
products,
of
facilitate
maintenance, reduce the dependency of the development process on individual
experience, ease tool introduction, and simplify management control. ^^
Fujitsu appeared to experience these benefits,
to facilitate the
another objective of
While
SDEM was
separation of system design from program design as well as
improve the "flexibility" (portability or reusability)
of designs.
As noted earlier,
dividing labor proved more problematic than managers at first realized, although
standardized techniques,
in
combination with management objectives and
support, seemed to enhance design portability and reuse significantly.
also claimed that use of
SDEM and factory-support
tools in
misunderstandings and errors that normally occurred
System designs consisted
in
of exterior specifications
all
tool
Managers
phases minimized
software development.
and
logical
designs that
did not rely on specific machines (computers) or languages, whereas program
designs consisted of the physical program, which was machine and language
dependent. ^^
created
a
risk
Developing system designs separately from the actual program
that
the entire
implementation
effort
finished program did not meet customer requirements.
37
might be wasted
if
a
But while Fujitsu clearly
Fujitsu
encountered problems of this sort, managers found two solutions:
One was
to
promote extensive interaction between system engineers and programmers
in
determining the accuracy and meaning of design documents.
to
expand the
activities of factory personnel
Another was
program construction,
into design,
testing, and maintenance.
Process and Work- Flow Management
Since unique knowledge was often essential for accurate system design,
Fujitsu initially established specialized system-engineering departments outside
the software factory focusing on manufacturing, distribution, financial systems,
government systems,
and
scientific
departments generally handed designs
which
factory,
built
about
20% of
and
to
engineering
programming sections
new applications done
Engineering Group as well as handled about 75% of
to subsidiaries
and
affiliated software
work organized, consisting
manage projects,
all
The SE
programs.
in
in
the software
the
System
program conversion, or
houses, which built most of the remaining
of approximately 800 small
projects per year.
To
Fujitsu designated both a chief system engineer and a chief
programmer, and gave system engineers the main responsibility for dealing with
customers and delivering systems that correctly met customer specifications.'*'
Because system engineers were responsible for code they did not write or
test
at
all
levels
themselves,
program development required cooperation and
trust among project members, as well as standardization practices.
however,
Fujitsu's original approach
system construction
to
-- did not
--
dividing
work smoothly
in
all
all
system development from
cases, prompting managers
change the way they organized product development,
projects.
As noted,
at
least
for
Figure 7.7 describes how Fujitsu expanded these patterns
in
some
the
software factory between 1979 and 1988.
38
Fujitsu
Under the
first pattern, factory
personnel, organized into teams of
programmers, performed module design, coding, and testing for
or 8
system
4 or 5
The system engineers took charge
engineers outside the factory.
7
of planning,
system design, program-structure design, and integration and system testing.
The standard process required them
format
using
conversational
to write design specifications in a particular
language
(Japanese
and
mainly),
provide
to
input/output diagrams and mathematical equations, as necessary, to minimize the
amount
of
required
skill
programmers who did not understand part
finished a part of a system, they would send
who would check
it
with
at the
back
customer
In
the
system engineers,
and programmers then
System engineers
site.
then might perform operation tests with customers.
assistance
call
When programmers
to the
Designers
the customer.
conducted system tests together
it
encouraged
design document to
of a
system engineer and discuss the problem.
responsible
field
Managers
personnel.
factory
the
of
in
the
Fujitsu provided some
maintenance as well, although generally took care of this on their
own. 48
Most projects
medium
size,
the
first
few years of the factory were of small
running from 10,000 to
consuming from
well
in
a
a
few hundred thousand
lines of
to
code and
few months to one year. Where requirements were relatively
understood, dividing labor on these projects worked relatively smoothly.
As programs grew
million lines of
in
complexity,
newness,
and
size,
frequently to about
code and up to years for completion, Fujitsu instituted
pattern around 1982.
a
1
second
This required the project teams within the factory to
complete more work -- system design, program structure design, and integration
and system
As
test,
factory
as well as
module design, coding, and testing.
personnel
became more adept
particularly with the support of a
series
39
of
at
system
computer-aided
development,
tools,
managers
Fujitsu
adopted
a
third pattern circa 1985.
and test complete systems
build,
This called for factory personnel to design,
--
including the
"survey" (customer
initial
consultation) and project planning, as well as operational test, evaluation, and
Some
maintenance.
of
these projects consisted of new banking and value-
added-tax calculation systems that regularly exceeded
million
a
lines of
code
and lasted two or three years. ^^
Another issue for managers
in
the System Engineering Group when they
made project assignments was where
To some extent,
subsidiaries or software houses.
decision.
If
departments
all
in
work elsewhere.
However,
management
to
tried
well
methods were appropriate.
work
in
into the factory that
the
Fujitsu
and
factory
that
this
the factory or to
to
was
a
simple capacity
have some guidelines.
did
as careful
were particularly
--
the factory were busy, management had to send
give the factory big
computer support, as
procedures,
send work
to
projects
where extensive
standardization of methods,
important,
general,
In
and where the factory
or
tool
tools,
and
tools
and
This latter point meant that managers tended to put
was large-scale and similar
could
take
advantage
to
of
previous projects done
existing
development
technology.
Especially for large projects,
called
the "on-line
work on
a
a single
SDEM
station for
This allowed up to
a
thousand people
(The Kamata factory maintained about one terminal or
every 1.5 employees, more than twice the
Some projects done
in
the factory might use as
many
ratio at
as
6
that
ran
development.
off
these mainframes
Toshiba.)
mainframes and
involve a thousand personnel over a period of one or two years.
tools
to
project simultaneously, with 200 to 300 terminals connected to
single mainframe.
work
system.
1984 Fujitsu introduced what management
in
Dedicated
and data bases also simplified product
For products that required special experience
40
in
the application
Fujitsu
even
do coding, such as
to
scientific, space,
and nuclear-plant software, system
engineers generally built the entire programs themselves, without handing off
specifications to the Software Factory.
These types
accounted for 10% to 20% of the orders
Another guideline was
try
to
subsidiary or software house.
worked on
in
a
programs
the System Engineering Group. ^^
in
give
to
of specialized
"one-time"
small
projects
to
a
As noted, these companies, which generally
long-term basis with Fujitsu, provided 1300 of the 1500 personnel
the Software Factory as well as manpower for additional projects.
They
allowed Fujitsu to accommodate different types of work as well as meet demand
peaks without adding too many full-time (and higher paid) employees to the
ranks of
its
permanent work force, although another reason for using outside
personnel originally was
shortage of new recruits.
a
used software houses as sources of personnel
that were
projects
Fujitsu
running
As
late.
managers claimed they were able
to
Fujitsu also sometimes
help
in
coding for large
at
other Japanese software factories,
to
add people without delaying projects
further because of the standardized methods and tools, and training, even of
subcontractors' personnel.
Training and Career Paths
While
most
employees
in
Kamata
the
Software
graduates, and usually had good backgrounds
Hitachi,
Toshiba,
engineering or
heavily
in
and
NEC,
as
in
^^
While
other
cases,
programmers and system engineers how
to
this
required
Fujitsu
41
computer
to
to
invest
teach
use methods, procedures, and tools
System Engineering Group.
began some general education with the establishment
•
no
management was able
certified as standards in the Software Factory or the
Fujitsu
were college
science or mathematics, as at
new employees generally had
software training.
training,
in
Factory
of the
Kamata
Fujitsu
Laboratory
in
1970, though
it
was several years before management determined
standards for applications development and coordinated these with training.
One landmark was the introduction
Fujitsu followed these with periodic
1977.
a
of seminars to teach the
customers.
As an example
in
addition to courses for
and breakdown
of the scale
in
workshops for project managers and
new employees,
lengthier education program for
SDEM standards
of training,
Fujitsu
in
1987 offered courses on computers and software education to over 89,000 people.
The
largest group, approximately 57,000, were employees of Fujitsu's customers.
Of the remaining, 12,000 were Fujitsu employees, 13,000 workers from systemengineering
subsidiaries
or
and 4,000 workers from dealers and
affiliates,
software houses.
Like the other Japanese firms discussed,
Assembler,
coordinated
New employees were
education program with career paths.
entire first
Fujitsu
its
trainees for their
year and attended full-time classes for three months,
COBOL, machine
1/0,
and other areas
of basic
formal
learning
programming and
computer architectures. After the classes, training continued on-the-job through
coding simple programs for commercial customized systems and through another
2 or 3
days of additional instruction every month or two.
managers, employees continued to receive about 8 days
workshops,
in
(Figure 7.5).
system design,
addition
to
self-study
materials
Until they
of training a
became
year
in
and quality-circle activities
This education included topics such as writing and speaking,
project management,
contracts and
law,
network design and
requirements analysis, and product-specific information.
New employees
usually did coding for 2 or 3 years and then moved on to
module design and structural design.
project management,
personnel, from
1
as
to 5,
at
Hitachi,
For education planning, rather than for
Fujitsu
also assigned
skill-level
ranks to
based on self-evaluations as well as some testing with
42
Fujitsu
courses.
After about 3 years of work, depending on an individual's ability,
programmer might become
and support.
a
a
system engineer or move into project management
management and support functions included revising
Project
standard times, carrying out quality assurance measures, proposing means for
quality and productivity improvement, or developing and evaluating
new
tools
and methods.
Fujitsu also granted the rank of senior systems engineer to employees with
from 9 to 13 years experience, depending on whether they were high school or
college graduates.
to factory
These engineers specialized
in
application areas,
programmers (although managers tended
projects similar to what they had done
in
to assign
system engineers as well as ability to provide service
Fujitsu also established the Fujitsu Research Institute for
Systems and Economics.
70
experienced
programmers
To improve
the past).
to
contrast
in
its
to
training of
customers,
in
1986
Advanced Information
This facility, staffed with 30 experienced managers and
system
engineers,
consultation while assisting customers
trained
Fujitsu
personnel
in
system
system planning and problem solving. ^^
in
Quality Control
SDEM procedures
although
the
System
for quality control
Engineering
Management was very slow
were
similar to those used at
Group allowed projects more autonomy.
to separate quality control
from project management
and established an independent inspection department only
primarily to check work done at subcontractors.
formal
process
providing
that
seemed
feedback on
effective
analyzed
Numazu,
data
for
to
1987,
Nonetheless,
checking
designers,
managers, and staff responsible for work standards.
in
work
in
Kamata had
progress
programmers,
The factory,
and then
like
and
project
Numazu,
was also automating more aspects of quality control, such as by devising
43
a
tools
Fujitsu
^
to
check programs against specified coding or design rules, and collect various
quality data for later analysis.
Another difference from Numazu was that, rather than having management
set quality objectives, projects
This
statements."
was common
for
application-s
Fujitsu also required project
Toshiba.
problems.
members
customers to
to negotiate with
"maximum allowable number
--
determine quality targets
managers tended
to
errors per 1000
of
programming,
seen
as
at
propose solutions to quality
early tests indicated bug levels were above target, the developers
If
had to validate the target levels and then describe the countermeasures they
planned
to
use.
For
example,
decrease
to
"building-in"
common
bugs,
countermeasures were to improve standardization controls, reuse program parts
or paradigm designs, generate more code automatically, or make greater use of
data
dictionaries.
To increase "bug detection," projects
on
relied
design
reviews, source code checks, test-coverage tools, and verification tools.
Computer- Aided Tools
Fujitsu was distinctive for extensive investment
support
in
tools for
all
phases of product development but especially automating aspects of program
design and coding and supporting the reuse of designs and code
library routines and registered packages, which served as
semi-customized systems.
was the main
locus
of
in
the form of
program parts for
Kamata, primarily the SE Technical Support Center,
this
although
research,
Fujitsu's
central
research
laboratories also provided assistance and Kamata sometimes imported tools from
Numazu
(as
Numazu sometimes did from Kamata).
Kamata's
first
effort
at
producing
(Software Development Support System)
mechanized
aspects
of
documentation
in
an
integrated
the late 1970s.
compilation,
44
tool
file
set
was
SDSS
This automated or
editing,
and project
Fujitsu
management,
relying
on
designs, test data, documentation;
a
FORTRAN
for
library
project
a
source programs,
module description language and analyzer
containing information such as the name and module function, interfaces with
and syntax; and test-support
other modules,
for module test,
tools
results
analysis, module path tracing, and test-case selection. Although Fujitsu gradually
supplanted SDSS, the
One
languages
COBOL.
it
of
tool
established general objectives for future research.
was
the first tasks
other
than
to
FORTRAN,
Another challenge was
build
since
to
a
system
like
most business
SDSS
that
applications
handled
were
in
improve the module description language so
could describe more complicated data structures and support the beginning of
Other objectives for long-
program design, rather than module definition only.
term
tool
research were to develop program-generation and reuse support, as
well as systems to generate
maintenance documents from source code."*^
Fujitsu accomplished these goals and more.
were the combination
of
YAC
Particularly important tools
flow-charts and YPS,
developed
in
the System
Engineering Group (and imported by Numazu), to facilitate program design,
editing, code generation, and reuse;
from Numazu, which served as
data base; and
operated as
a
ADAMS, one
GEM,
also described earlier
and imported
program library system and production-control
a
of the a series tools Fujitsu called
"SIMPLE" that
project-development data base with an interface to other tools,
the project library, and management data bases. ^^
The management data base
kept track of individual personnel and projects, primarily
in
the form of man-
hours expended per phase or operation, as well as monitored in-house personnel
costs versus those charged to outside contractors.
ADAMS,
first
introduced
through maintenance,
COBOL
in
initially
or the macro-based
of
1982,
provided support from detailed design
programs written
HYPER COBOL.
45
in
a
Functional
Japanese version of
menus
in
Japanese
Fujitsu
need for specialized
the
eliminated
programming commands.
ADAMS' most
important functions were information retrieval, data-base environment definition,
program construction, program
utility
and
utilization,
historical version
Information retrieval referred to the storing of design documentation
control.
in
test,
the form of tables or flow charts that could be retrieved for modification or
reuse.
to
COBOL
Japanese-language
Fujitsu's
first version of
employ Japanese characters, rather than the representation
From 1987,
new applications projects
all
including YACII and YPS,
tools,
SDEM methodology but
the
integrated
new-program development under SDAS,
EPGII
(Executive Planning Guide
Procedures
the
SDEM
II)
to define the
effort
of the tools
management systems,
of
SDAS (Systems
to rely on
developed after 1980.
and C-NAPii (Customer-Needs Analysis
II)
and
the
simplify
These
tools
specification
came out of
and design
EPGII formalized
a set
and work sheets for designing corporate information-
mapping out
a
management systems already existing
another series
set of
a
for example, system engineers used
process, although computer-aided support was minimal.
of planning procedures
COBOL
katakana.^^
SDAS continued
customer requirements.
standardize
to
referred to as
Facilities).
many
in
the factory utilized
in
that Fujitsu
Development Architecture and Support
In
was also the
procedures
customer's
the
in
and work
needs
against
company.
sheet
to
information-
C-NAPII
define
set
forth
more formally the
specifications necessary to write software.^'
Noritoshi
Group,
Murakami,
manager
in
the
Software
Development
Planning
presented an overview of automatic programming that helped placed
Fujitsu's efforts in tool
In this interpretation,
that
a
development within
"classical automatic
turned computer code
"modern" technology
--
into
a
broader spectrum (Figure 7.10).
programming" consisted
machine-readable object
represented by YPS
46
in
of compilers
languages.
The
Fujitsu as well as similar systems
Fujitsu
NEC, Toshiba, and NTT
in Hitachi,
step
program design
from
--
focused on automating the transformation
specification
machine-readable
to
These
code.
"program design specification compilers" read structured designs or diagrams
(PAD
SPD
at Hitachi,
COBOL, FORTRAN,
further back
NEC, and HCP
at
NTT) and generated code more or
(module interfaces might have to be written manually), usually
less automatically
in
at
Two
or C.
the development
in
additional
cycle,
life
system planning and design phases.
steps were to move automation
to
automate part or
Tools such as
all
in
(and
Fujitsu
"partially automatic transformation tool."
a
many other
in
firms)
were
tools
that
At the
tried
to
fell
R&D
the
CAD
Software
Fujitsu's
attempted this through transformation rules defined by the user, and
the category of
of
into
level
automate the
transformation process through Al techniques.
Automated design-support and
experts and non-experts.
their tools would
of
creative work."
in
served two groups:
engineers from the tedious and cumbersome job
'free software
and turn their talent
This would occur because programmers
no
to
more
longer had to
computer languages but could focus on business problems and write
programs "more finely attuned
other hand,
develop
tools
Fujitsu developers, on the one hand, maintained that
run-of-the-mill computer programs
writing
compose
programming
Fujitsu
their
own
to the
requirements of the end-user."
designed the SDAS tools
application
software
to
On the
"enable computer users to
without
the
help
of
expert
programmers. "^° While other firms provided similar capabilities, Fujitsu offered
what seemed
programming
to
be the broadest
tools in the
PARADIGM,
range
of
design-support
and
automated
Japanese software industry.
issued around
1980 for in-house
use and sold since 1981,
supported module design, coding, and testing, as well as software reuse and
program maintenance for two main
types
47
of
applications
software:
batch
Fujitsu
The
processing and transactions processing.
tool relied
on the same concept as
NEC's STEPS library routines and Hitachi's EAGLE patterns.
were available
PARADIGM
the form of complete functions or
in
The
smaller modules.
in
library stored both specifications (program structure, detailed flow
charts, and module function designs, stored
as executable code.
a
Standard patterns
Users of the
tool
would
the form of flow charts) as well
in
first access the specifications
terminal and use the standard patterns to write up
that could be used unchanged, the
design.
a
from
For portions
programmer would access the code library.
Changed designs would be recompiled automatically.
The
functional
stored patterns or program parts
tool
in
a
library according to a
such as "input-out check," that made
name,
it
parts easily and reuse designs across different products.
could create new program parts,
design
specifications
COBOL, using
paradigm's
library
The
software.
(program outlines,
data
library
base,
also
In
users
addition,
consisting either of fully coded modules or
module functions,
structured design methodology,
a
possible to access
causing
contained
it
to
utility
YAC
charts)
in
and then register them
in
grow with each new piece
of
programs for use on multiple
operating systems, referred to as "black box" components. To assist managers,
paradigm and
similar
tools
tracked
how many
lines
programmers reused, and thus supported reuse planning
(although
Fujitsu
did
not
include
budgets or incorporate them
A study
Fujitsu
in
published
reuse objectives
1982
in
Fujitsu
code
the design phase
project schedules and
estimated that,
in
80% of business-
PARADIGM, personnel generated about
source code without new coding.
applications
source
design reviews, as Toshiba did.)^^
applications programs developed with
of the
in
in
of
68%
Since about two-thirds of business-
programs seemed redundant and suitable for reuse technology,
managers
decided
to
invest
•
48
more
heavily
in
integrated
tool
and
Fujitsu
methodology sets
reuse both of source code and design patterns
to facilitate
across different products,
mainly
in
COBOL, where
the logic was
relatively
simple. ^0
ACS PARADIGM
PARADIGM
(Application Control Support System) was a refinement of
for developing on-line systems through modifiable logic tables.
primary objective of the
tool
was
processing structure for input data.
users more functions on
the
simplify
to
design
of
The major improvements were
preset screens as well
describe input/output logic for new applications
as
in
generator read the program logic and then produced
allow
more
COBOL
and the
to offer
flexibility
to
A program
outline form.
work sheets and existing input/output routines.
design
files
The
code from tabular
In
addition,
ACS
generated code from preset designs (indexed by names) for specific applications,
with blank slots to be filled
into the
in
as desired, that users designated for insertion
program. ACS stored the logic tables and subroutines
to facilitate reuse as well as testing
Programming sections
in
in a
parts library
and maintenance.^'
the Software Factory as well as some subsidiaries,
software houses, and customers of Fujitsu hardware used
a similar tool,
(Banking Application Generator Library for Extensive Support),
to
BAGLES
produce the
longer, more complex software needed to control automated teller machines or
to
move funds among different bank
locations
through on-line transfers."'^ The
large size, frequency of demand, and similarities
software led Fujitsu to develop
1980.
a
in
functions for this type of
dedicated support tool for this industry
in
Fujitsu introduced a prototype in 1981 and then versions for in-house use
and commercial leasing.
BAGLES resembled
with a prescribed design format
automatic
COBOL
(Figure 7.11).
in
Hitachi's
Japanese,
a
EAGLE and NEC's SEA-I,
design-document data base,
generation, and support for testing and project management
The
original tool, available only on large computers, contained 2
49
Fujitsu
million
of
lines
code and
required
10
giga-bytes of mass
15
to
storage to
generate programs that covered from 500 to 1400 terminals and from 50,000 to
150,000 transactions per hour.
BAGLES
in
offered simplified logic-design representations
Japanese, few coding errors,
a simplified
tabular form and
in
program-control structure, reusable
program patterns or subroutines for common banking operations and functions,
automatic generation of documentation
The
management control.
to define data
program,
COBOL
types and procedures, specify modules and the logic flow of the
BAGLES
This meant that
code.
in
almost as
much
users had to be skilled
simplify the software-development process further,
in
programming
in
the
knowledge
little
time
experts
also
ran
BAGLES/CAD
Fujitsu introduced
1984, through which, according to both in-house personnel
customers, users with
half
writing
as
detail
banking applications.
BAGLES/CAD
in
original version, however, required users of the tool
and determine other elements
as well as
To
Japanese, and support for testing and
in
on
using
of
just
and
programming could develop programs
COBOL would
normally
require.
computers or work stations attached
personal
to
larger computers and data bases, and provided graphics capabilities as well as
"windows"
that
representations of
of
allowed
a
program
users
in
expand
to
or
contract
order to view the whole system (or
as well as focus on the structure of individual modules.
It)
graphical
the
a
large part
The improved
format, including revised decision tables, helped users define banking operations
and integrate packaged subsystems and reusable patterns with new designs.
with
the
original
executable as
A
COBOL
similar
supported
BAGLES,
tool,
all
the
graphical
design
representations
As
were
code.
CASET (Computer-Aided
development of
relatively
simple
50
Software
business
Engineering
applications
Tool),
programs
Fujitsu
written
COBOL,
in
information
lists,
consisting largely of relational data-base subsystems and
such as for inventory or sales control.
specifications in Japanese, the tool produced a
coded the designs, while
facilitated testing
a
After the user defined
program design and automatically
debugging support subsystem and document generator
and maintenance."^
Advanced Design-Support Tools
PARADIGM, ACS-APG, CASET, and BAGLES were
applications
described
decision
in
new applications required
tools
or menu-driven
tables
libraries of patterns or subroutines.
design
To automate development
sheets and
of software for
extending beyond pre-existing designs, library
routines, menus, tables, or development methods.
experimental,
useful for well-defined
was the most advanced
tool
Software CAD, though
type used
of this
still
Fujitsu as of
in
1988-1988.^
Engineers described Software
CAD
as
"a
general tool for the drawing,
verification, and transformation activities of software development.
of
any particular methods or development phases.
tool
that
developers
can
customize to
fit
.
.
.
Software
particular
.
CAD
independent
is
it
into
1987, initially for writing segments of business applications programs.
were gradually extending
its
a
general
methods for their own
Fujitsu completed a version and introduced
circumstances."
.
Kamata
in
Projects
use to other areas, such as to develop operating
systems, switching systems, communication software, and "firm-ware" (micro-
code embedded
in
semiconductor chips).
The 1987 version
of
Software
CAD
used
generalize-purpose
notations
combining text, tables, and diagrams, as well as an editor and compilers that
transformed standardized notations into modifiable design documents and then
different types of code.
The
notation system contained six types of objects for
51
Fujitsu
describing program structures:
forms (graphic models of the program), tables,
nodes (graphic symbols specifying particular attributes of the program), edges
representing
(symbols
connections
between
nodes),
(symbols
inclusions
representing relationships between nodes and edges), and text fields (inputs of
The NS (Notation
data into any of the objects).
by program developers
written
specifications
which the
editor for modification,
the
in
specified
These became inputs
produced machine-readable notations.
CAD
Specification) Compiler took
deposited
tool
in
format
to the
and
Software
the Software
CAD
Document Database when finished.
The Software CAD Editor
allowed
Database and modify any of the objects,
"mouse"
Transformer
stored
and
interface
in
on
relied
a
user
the
relying on
a
The Software CAD
the user specified to transform the documents
The
notation system, according to Fujitsu, was relatively easy to
learn, requiring a few hours for an experienced
new employee.
Fujitsu
templates as well as
"multi-window environment."
rules
Document
the
the database into either executable code or textual documentation
(Figure 7.12).
a
access
to
claimed
programmer and
a
few days for
Describing the transformation rules was not simple, although
that
programs developed with Software
CAD
still
came out
faster than comparable systems done manually. °^
Ongoing
R&D
in
techniques with Software
approach
attempted
Fujitsu
was to use Al
CAD and
apply Al
techniques
to
integrate
to
a
process
made
"knowledge transformation" algorithm.
in
processing the documentation,
subsequent phase
--
a
tool
a
design
a
documents
Fujitsu's
using
a
model of the desired design,
For example, based on inferences
would produce documents for
planning inputs would produce
which would be processed into
intelligence
other support tools.
in
"knowledge data base" for specific applications,
and
artificial
a
a
detailed system design,
program design, which would be transformed
52
Fujitsu
(compiled)
into source code.
Fujitsu engineers
were especially interested
in
applications to requirement specification and lexical (design-language) editors,
since Al appeared useful to help designers understand constraints
in
hardware,
the operating system, the computer language, or specific applications, and to
One Lisp-based expert system was
verify designs.
available
in
prototype form to
help inexperienced personnel consult with customers and produce customized
systems for
methods
a
variety of applications. °"
to identifying software
Fujitsu also applied inference-search
components for reuse, and was studying testing
support and maintenance applications, such as problem diagnosis.
In
the telecommunications area,
switching-systems development
Language) Support System.
late
writing
1970s,
in
a
employing Al became available for
tool
SDL
1984, the
in
(Specification and Description
Fujitsu Laboratories began working on this in the
SDL resembled NEC's SDMS and contained
UtiLisp.
graphic symbols to represent different states, tasks, or signal input and output;
graphics as well as text editors;
compilation
a
document data base; automatic document
and inspection subsystems;
functions or tasks performed
in a
a
"knowledge data base" of different
switching system; and subsystems to translate
the graphically represuented requirements into state-transition diagrams and then
This was an "intelligent system"
these into executable code.
it
withdrew
information
information
in
a
data base
diagram elements.
from
in
the
graphical
and
designs
the sense that
in
deposited
this
the form of general and detailed state-transition
Subsystems
used
then
inference
rules
to
produce
I/O
transformations automatically and generate computer code."'
Architectural Standardization and Package Utilization
SIA or Systems Integration Architecture, which Fujitsu announced
along
with
the
SDAS
tool
set,
aimed
53
at
creating
a
standard
in
1
interface
Fujitsu
programming
SDAS
tools
in
COBOL, FORTRAN,
expected
Management
The
it
also
interface was not complete
be available for
to
viewed
SIA
the
all
machines
architecture
as
production strategy, since SIA was expected to ma-ke
programs
using the different
and applications packages on Fujitsu mainframes, office computers,
and work stations (Figure 7.8).
Fujitsu
PROLOG and
C, LISP, or
a
few
years.
complementary
to
easier to break up large
°°
Increasing package use, especially across different machines, was
objective at Fujitsu, even
and well-established
at
new
effort
a
such as Toshiba:
Reusing software
in
key
a
The reasons were
custom programming."^
firms
development represented
of
in
its
programmers could develop on different work
into distinct units that
stations and then combine later.
it
within
1989 but
in
clear
custom
reuse of know-how that usually reduced the amount
required for product development.
The exception was when
A
developers had to change too much of the designs or code they reused.
major challenge was thus to produce packages that could
systems
fit
,
or build them so that
it
was relatively easy
individual user needs or changes
Fujitsu
pursued were
to
in
technology.
fit
as
into larger
is
to tailor the software to
Some technical avenues
promote reuse of designs as well as program more
and use object-oriented design.
design, and some coding,
in
in
C
Organizationally, management also kept package
the specialized system-engineering departments, to
take advantage of specific application-related or functional expertise.
The
Fujitsu
group
use of existing software.
totalling
about 1000
in
two package registration systems
relied on
The
packages,
increasing 40% to 50% per year.
Another
library registered software users or computer dealers developed;
totalled about 300.''
covered user needs.
promote
Fujitsu
largest catalogued original
1986 and
to
in
1986 this
Figure 7.9 summarizes data on how well these packages
Manufacturing systems extended over the broadest range,
54
Fujitsu
with larger ones requiring total customization and some systems containing more
than 40% existing code from packages.
Fujitsu found that
meet the needs of small-system users by packages,
hospitals and
newspaper companies.
applications
packages,
government,
newspaper,
covering
and
it
could more often
such as
in
the case of
Overall, data suggested that
SDAS-based
financial,
medical
applications systems Fujitsu delivered
in
manufacturing,
distribution,
accounted
applications,
for
40% of
1988.'^
Performance Improvement
Although some of the data Fujitsu released about projects built
in
the
Software Factory was difficult to interpret and compare to other firms, the
information
available
improvements,
indicated
especially
in
productivity,
comparable to Hitachi, Toshiba, and NEC, as well as other firms using similar
methods and
revising the
gain
in
tools.
For example,
SDEM standards
in
a
1981
article,
a
team that worked on
claimed their introduction brought roughly
a
20%
productivity (delivered lines of code per month, normalized to 170-hour
months) over projects not using the methodology.
These gains came mainly
from the "absence of rework," achieved through better work scheduling, early
discovery of problems, standardization of work and documentation, and use of
formal planning and reviews to reduce differences between user requirements
and
finished
programs.'^
development continuing,
With
Fujitsu
doubled from 1980 to 1984,
annually, due to
(1)
Equipment
a
--
in
managers
place
and
later
asserted
tool
and
methodology
that
productivity
and rose during 1984-1988 between 5% and 15%
combination of factors:
investment
in
and other computer-center
(2)
SDEM
more time-sharing terminals, work stations,
facilities
Specialization -- accumulation of
in
the Software Factory.
programming and development know-how
55
Fujitsu
by system engineers, groups
(3)
in
the Software Factory and software houses.
Standardization -- introduction and enforcement of standards for program
documentation as well as for the development process and linked support
tools.
(4)
Tools -- greater application of computer-aided tools for supporting testing
and design, including reuse support.
(5)
Reviews
-- formalization of
development of automated
(6)
Project
Management
review procedures and checklists, as well as
tools to assist in
-- introduction of
code reviews.
productivity standards and revision
of the quality-control process, including use of quality objectives
and data
collection. '^
Among these elements,
after
Fujitsu data suggested that most productivity gains
came from computer-aided
1985
tools
such
as
PARADIGM and
reuse
technology, including the integration of packages into customized systems.
reason was the reduction
in
man-hours required
in
One
new program development
through recycling of designs, code, and documentation, and minimization of
debugging for reused components.
similar tools
Second, Fujitsu claimed that
PARADIGM and
"enabled even inexperienced programmers to write high-quality
programs" and "eliminated misunderstandings due to individual differences" by
making design documents and code easier
highly structured methodology.'^
The
to
result
read and maintain,
due
to the
was that managers could deploy
their skilled engineers more effectively.
paradigm's exact impact on productivity varied with the
application, the
phase of development, and the number of times that application appeared.
from
1982
showed that use
of
PARADIGM tended
to
cut
in
half
Data
the time
required for program design as well as basic programming activities (coding,
compiling,
and debugging).
Time spent
56
in
other aspects of integrated and
Fujitsu
remained similar.
including test preparations,
system test,
projects using
PARADIGM experienced
Overall,
Fujitsu
doubling of productivity, compared to
a
comparable projects done manually, with more time or man-hours shifted from
design and coding to testing.
up
to 80% of design
man-power by generating
Projects also saved on
documents from standard
YAC
patterns. "
Fujitsu reported similar quality improvements with
average rate of approximately 10 errors per 1000
module tests, programs written with the
and
between
1
tool
PARADIGM.
lines
averaged
2
in
code detected
Most of the
PARADIGM components but
the
in
or 3 per 1000 lines and
for particularly repetitive applications.
introduced, furthermore, were not
of
From an
erro--'
in
newly
written additions.''
Using
ACS
to
develop
a
small-scale conversational-mode data entry system
of approximately 10,000 lines of
term decline
in
productivity
COBOL
source code, Fujitsu reported
a
short-
order to write reusable code but significant
in
improvement over expected standard times, minus the defined paradigms, as
as a larger gain
when producing
one project, users of the ACS
versus 587
tool.
lines
program
a similar
tool
averaged 1219
for the
ACS
the future (Table 7.8).
lines of
In
code per man-month
COBOL programs done
per man-month for similar
The numbers
in
well
without the
project excluded 12 man-months required to
write 1817 lines of code contained modules that became part of the reusable
ACS PARADIGM
for the
ACS
of the
If
added, this work dropped the net-productivity rate
project to 495 -- below the factory standard.
similar project,
some
library.
which consisted of converting and extending
ACS PARADIGM
a
a
larger but
program using
patterns and modules, productivity was 1864 lines
per man-month, and the project was able
from designs, 42% of the source
PARADIGM
In
reuse, or automatically generate
This limited data suggested that
lines.
could reduce time required
to
in
57
all
phases of development,
if
ACS
designs
Fujitsu
'°
were reusable.
COBOL
lines of
million
that
BAGLES (and BAGLES/CAD)
using
In
development
a
COBOL.
in
programs
of
2
to 3
source code, Fujitsu's experience as of 1987 indicated
brought
the tool
for banking
25%
reduction
in
man hours compared
BAGLES achieved
program
by cutting time
primarily
this
to
required for programming (program design, coding, and debugging) through the
use of
in
a
highly structured design format.
There was, however,
a slight
time allocated to system design, compared to programs developed
BAGLES/CAD, on the other hand,
in
increase
COBOL.
drastically reduced design time through the
use of graphics and windows and the reuse of design patterns, and, compared to
COBOL,
7. 9).
cut total development time for similar programs to less than half (Table
79
The combination
least in
of
SDAS
and packages again doubled productivity,
tools
one major case when, for
a
banking customer, Fujitsu replaced an old
software system consisting of 3.6 million lines of code.
covered 30% of the old
system and man-months
Thus, the original system had
system was 8000.
450 lines of code per man-month.
than twice as large
79% of
the
--
Existing packages had
required
a
for
the
complete
gross productivity rate of
The more sophisticated replacement was more
8.3 million lines of code.
code from
at
SDAS packages
for
But Fujitsu was able
securities
processing,
control, cost accounting, international transactions, foreign
to obtain
customer
exchange dealings,
regional information control, and a general data base, as well as for the outside
network, store operations, accounting, and general operations. For the other
21% that employees
generate code.
had to develop anew,
they
used
The resulting gross productivity was 902
YPS and BAGLES
lines of
to
code per man-
month (Table 7.10 and Figure l.U).^^
The length
of the
second system suggests that reusing so much code,
58
Fujitsu
designs, or packaged subsystems might result
lengthy programs
--
high nominal productivity but
in
perhaps longer than necessary.
It
was clear that reuse
aided nominal productivity (see Appendix B), although writing unnecessarily long
programs exaggerated productivity.
system
While
it
in
example appeared
this
was not possible for
While this was possible, the new Fujitsu
offer a
to
much wider range
functions.
of
author to examine and interpret the code,
this
Fujitsu also claimed that reuse did not necessarily add to a program's length.
Another
even asserted that reusing efficient modules, aided by design-
article
support tools, could reduce length.
BAGLES
For example, programs built with
tended to be shorter than software performing similar functions written without
the tool -- as much as l/14th the size.
Fujitsu maintained this was because, in
developing BAGLES, engineers identified
a
large
that could be handled through subroutines,
cite these repeatedly in the
the
and
of repetitious functions
later users of the tool could
program without rewriting the code.°'
On the other hand, along
limits to
number
with Toshiba and Hitachi,
Fujitsu encountered
the benefits of reusing designs and code, depending on how much of
component or subsystem programmers had
development, Fujitsu projects indicated
given piece of software:
impact on overall
negative. °*^
improvement
If
a
to
applications
a
employees had to rewrite more than 60%, then the
productivity of
productivity
In
"break-even" point of about 60% for
reusing the designs or code was slightly
More detailed data from Numazu was
in
modify.
as
long
as
personnel
showing
similar,
reused
a
clear
70% to 80% of a
particular module or program part without significant changes:
In a
sample of
47 projects, median productivity, including man-power devoted to maintenance,
was approximately 60% higher with 20% new code and an 80% reuse
projects
where there were attempts
to
reuse code
but
less
than
rate.
In
70% was
reusable without significant changes, the impact on productivity tended to be
59
Fujitsu
negative. ^*^
Software
recycling
design
only for
tool
CAD
Software
of
appeared
to
improve
code or designs,
existing
transformation
present
CAD
a
but
specifications
few tasks,
productivity
through
results
in
total
manpower from
Programmers
limited
used the
Fujitsu
were impressive.
using
a
Software
standard
9.3
CAD were
normal 6 months to
a
man-months
able
to
to 0.5
to
man-months) usually required for
in
1
month,
man-months.
0.5
transform
structure diagram into programming language (ADL)
man-months
trials
the
cut the time needed to develop a tool to convert a set of job-
control diagrams to job-control language from
and
While
necessarily
automating
partially
code.
into
without
database logic
a
one-sixth the time (8.4
Other efforts
similar jobs.
showed comparable improvements, usually cutting development time one-fourth
or one-third from expected levels, with even larger gross productivity gains,
compared
to conventional design
and programming (Table 7.11).°^
SUMMARY AND EVALUATION
Fujitsu's approach to software development, as
closely
resembled
those
at
Hitachi,
exceptions and different emphases.
on
and
intermingling
establishment of
applications
a
of
process
centralized
NEC,
and
summarized
Toshiba,
quality
laboratory
in
support tools for custom programming,
control
1970
programming; extensive investment
in
and
products.
to sell
Table 7.12,
some minor
early focus
its
basic
in
then
a
software;
factory
for
an assortment of design-
some dedicated
applications and for non-specialized users; and investment
packages not so much
with
Most notable at Fujitsu were
and
in
to
specific
in
industry
building software
but more to integrate into customized applications
Fujitsu also created the largest network
60
in
Japan
of subsidiaries,
Fujitsu
much
as Hitachi
and NEC did, but on
NEC,
larger scale than Hitachi or
of the
manpower
for
its
of
in
eliminating the need to
permanent programming
Another characteristic of Fujitsu was
and adaptability,
a
Fujitsu used software houses to provide most
applications software factory,
numbers
find and hire large
Furthermore, again on
larger scale.
a
a
staff.
healthy combination of continuity
strategy, technology, and organization
Hardware engineers
.
stayed too long with telephone relay circuits but then switched to transistors
when these became the obvious technology
to
Management pursued
use.
foreign source of technology, decided to develop computers independently
it
its
could not find
a
good partner, and sought
key designer.
software,
In
like
SDC,
a
a
when
partner again after the death of
Fujitsu experienced some difficulty
separating system design from product construction
in
the software factory.
Rather than abandoning the goals of centralization and rationalization, however,
management adopted different processes for different projects, bringing more
design operations into the factory where appropriate, and continuing to invest
heavily
in
standardized tools, methods, reuse libraries, and training of in-house
personnel and employees from subsidiaries, subcontractors, and customers.
What the concept
of a
software factory meant
Fujitsu's context thus
in
varied by the type of product, as at other Japanese firms, as well as over time.
Both Numazu and Kamata pursued centralization of personnel, standardization of
practices and tools,
formal
improvement
in
product
management controls and objectives such
Kamata pursued
a
formal
division
labor
of
and productivity, and
reliability
as
reusability.
separating
design
But only
from product
construction, and then gradually relaxed this policy.
In
sum, though somewhat
business
resources
of
establishing
late in
software
entering the computer industry and the
factories,
and management attention
61
it
Fujitsu
needed
to
clearly
develop
allocated
the
system
for
a
Fujitsu
producing
programs
to
support
its
computer products.
Fujitsu's position, since the late 1960s, as Japan's largest
and related products and services, as
broad competence across
a
well
as
its
The outcome was
producer
of
computers
continual demonstration of
range of hardware and software markets.
62
Fujitsu
FUJITSU OPERATING GROUPS n986)
Figure 7.1:
Group
Comments
Computer Systems
(Mainframe and Minicomputer Hardware
and Software, Factory Automation)
Printed-Circuit Board Products
(Office
Equipment
Computers,
Work
and
Personal
Stations,
Terminals,
Printers,
Facsimile
Software)
Information Equipment
(Disk
Drives,
Machines, Other Peripherals)
Transmission Systems
Switching Systems
Telecommunications Systems
Semiconductors
Electronic Devices
Electronic Devices Exports
(Large-Scale
Systems Engineering
Custom Applications,
Applications Packages)
(Hardware Maintenance)
Field Service Engineering
Systems Sales
Office Automation Sales
NTT
Sales
Source: Nikkei Computer
.
13
October 1986, pp.
63
70,
79.
Fujitsu
Figure 7.2:
FUJITSU PRODUCTIVITY IMPROVEMENT STRATFGIFS
Development Technology
Specialization
Mechanization/Automation
Common Development
Organizational
Structure
Software Tools and other
Computer-Aided Systems
for Planning, Development,
Testing, Maintenance
Modularization
High-Level Languages
Reuse
Review Procedures
Subsidiaries
Structured Design
Structured Programming
Software
Packages
Support and Control Technology
Project
Management
Standardization
Development Planning and Phase
Completion Reporting System
Quality Control Activities
(High-Reliability Program)
Management Objectives
Training
Source: "Software Kaihatsu," p.
4.
64
Fujitsu
a
o
•H
U
CO
to
a
CO
00
u
o
u
o*
a
0)
.
>
-3
-•
0)
U.
M
CO
O
CO
n
V
Z
'J
-J
w
V
O
en
C
<0
M
3
00
•rl
4
a.
<-»
5
3
Cr
Figure 7.4:
SYSTEMS ENGINEERING GROUP ORGANIZATION
COMMON TECHNOLOGY DIVISIONS
—
SE Technical Support Center
-- Software Factory Department
-- Information Support Center Department
-- Technology Transfer Department
-- System Engineering Support Services Department
-- Office Computer Systems Support Service Department
--
SIGMA
Project Systems Promotion Office
Application Software Planning Division
-- Application Software Planning Department
-- Software Distribution Department
—
Fujitsu Research Institute for Advanced Information Systems and
Economics
INDUSTRY-RELATED DEPARTMENTS
—
—
—
—
—
---
Finance
Insurance/Securities
Manufacturing/Distribution
Scientific/Technical
NTT
Government/Mass -Communication
FUNCTIONAL DEPARTMENTS
— Management
—
VAN (Value-Added
—
Network
—
Computer
— NCC (New Common
Information Systems Division
Network) Systems Engineering Division
Systems Engineering Division
Systems Engineering Division
Carriers) Systems Engineering Division
Information
Personal
SYSTEM ENGINEERING SUBSIDIARIES
—
—
Industry and Functional
Regional
Source: Murakami Correspondence, received 12/26/88.
Nikkei Computer 13 October 1986, p. 79.
Original
version
in
.
66
Fujitsu
Figure 7.5:
SYSTEM ENGINEERING GROUP TRAINING AND CAREFR PATHS
Education
Assignment to Factory Divisions
Department
Yearl
New Entrant
Education
Training
Content
»»
Training
Divisions
in
>>>>
Project Work
Introduction
»»
«
s
u
Q
cn
O
c
o3
vO
<u
M
3
00
I
in
00
Figure 7.8:
Systems Develo pment Architecture a nd Support
Facilities (SPAS)
SDAS: Systems Development Architecture and Support
Facilities
Systams Planning Technique
Corporal* System* Planning Technlqut
Systems Requirement Analyst* Technique
(EPG
(C-NAP
II)
Planning/
Operational
Application Tool
II)
Industry Application Package
Departmental
(examples)
Application Tool
...4
:aset
.
YPS
.
3AGLES
.
APPS/XI
-
Pnarcs
•
yanu'ac:ur -g POCFiT APCOi
,N*EFIAC'
oAp/BAse
'Barn. ACE.
OiSinoulion
;SM/6PCC
•
='l3:iC
ASTE^ ClSCLEl
SeCXf 'ARiS. ESTIMAI
iC3 APG
\ewsoaoef PRESS- F PPE33. Ci
AOAMS'SiMPl-S
N'eaicai
Tool Work Standard
iHCPE lamOAi,
91c
Package Work Standard
SIA (Systems Integration Architecture)
Source:
Electronics New from Fujitsu
,
July 1987, p.
1
Figure 7.9:
Package Coverage Ratio
DistributioTT"-
Newspaper
Finance \ ''1
V
Coverage
Ratio (%)
Insurance
System Size (million lines of code)
Source:
Fig.
1,
SDAS special issue, p. 37
c
U
00
o
u
to
s
o
4-1
3
<
3
•t-i
>
1-1
01
>
o
01
3
00
BAGLES PROCESS-FLOW OUTLINE
Figure 7.11:
NJz^
Japanese- Language
Japanese-Language Displays
Time-Sharing Terminals or
D
E
S
Graphical Dictionary
Code, Table,
Work Stations
Module Definitions
I
G
(23 types)
Design Data Base
N
3Z
Design Documents
S"
2:
Editor
\^
<
{Design Specifications
Design Review
>
^k.
P
R
Automatic
COBOL Programminq
O
D
-^COBOL
Compiler
Program )?
COBOL ^^ Load
Modules
j
U
7K
C
T
Black Box
(Packages, Subroutines)
I
O
N
-N^:
.
Testing Tool
(Japanese- Language
^Conversational Mode)
T
E
S
T
^
Z-
cTest
Data
Schedule, Q ualityV
Data
Documenter
±.
Test
Execution
Report
\i
Management
Data
Report
Source: Tsubuhari, p. 228.
^
Functional
Additions
&
Changes
:^
|Specifications|i
Inspection
^
Test Review
>
Figure 7.12:
Software CAD
^^
Cavalopar
Text
source codes, etc.
Softuara CAO Editor
Machlna
Raadab la
For«
Transformer
Software CAO
Oocuoent Database
Transforaatlon Rule
Notation Specification
Tool Developer
Source:
Yabuta et al.
0)
o
o
ij-i
o
9
0)
ap
c
o
o
o
o
o
m
CO
0)
-
\
,
u
3 o
\
o\T-i
3\i-N
u\v
•H
U
U V^O
-J5
Vq/V 3s
U
\
to
\
-
-Ji
JJ
iJ
O. C
uV-i
^
O
cn
M
U3
<U
C
•H
hJ
o
o
o
O
o
H
H
U
D
Q
O
Pi
EU
O
O
V
\
en
m
en
-o
0)
d
CJ
CO
00
cn
5
a)
05
•N
c
o
o
o
o
o
z
6
0)
00
3 o
01
0)
(0
a,
\
03
-&-
D
o
u
c
o
4-1
CO
CO
c
o
^ u
S ^ j:
o o
O 3 C
C
-I
O
U
01
Z
CO
)-i
CQ
3
3
•H
tn
J-i
4-1
C!
c
3
O
u
y
4J
CO
M
OJ
&
O
9)
U
3
o
Table 7.1:
FUJITSU SOFTWARE SUBSIDIARIES AND EMPLOYEES f1987)
Software Area
System Engineering
Basic Software
Communications
Microprocessors and
Personal Computers
TOTAL
Companies
Table 7.2: FUJITSU
BASIC-SOFTWARE PACKAGES.
1962-19ft4
1960
ALGOL
1961
ASSEMBLER compiler
FORTRAN compiler
1963
Data communications software
1965
FORTRAN IV compiler
MOP (control program for the FACOM 230-20/30 mainframes)
MONITOR II (proto-operating system for the FACOM 230-50)
1966
KEMPF
1968
MONITOR V (large-scale mainframe
STAT (statistical package)
1969
BOS (medium-size mainframe batch operating system)
ROS (medium-size mainframe real-time processing operating system)
compiler
(econometrics modeling and analysis system)
operating system)
PL/I compiler
EPOCS (medium-size mainframe data control program)
ADSL (continuous simulation system)
1970
RAPID
1971
MONITOR V TSS
(data base system)
(time-sharing function added to
MONITOR V)
BOS II (successor to BOS and ROS operating systems)
OS II (operating system for FACOM 230-45/S and /55 mainframes
ASTRA
1972
UMOS
TIMS
1973
(structural analysis program)
(mini-computer operating system)
(time series analysis program)
MDS (management decision-making support
MPS (mathematical planning
1974
tool)
tool)
BOS/VS and OS ll/VS (medium-size operating systems
with
virtual
memory
control function)
MONITOR VI/VII (large-scale mainframe operating system)
1975
OS IV/F4 (operating system for largest M-series mainframe)
FEM (finite element analysis program)
1977
AIM (on-line data base system)
FNA (Fujitsu Network Architecture)
OS IV/X8 (medium-size operating system for FACOM M series)
OS IV/F2 (small-size operating system for FACOM M series)
PDL/PDA (performance measurement and analysis tool)
1978
OS/UAS (mini-computer
operating system)
FAIRS-I (information retrieval system)
KING (Japanese-language line printer support program)
77
Fujitsu
1979
JEF (Japanese-processing Extended Feature)
INTERACT (end-user support system)
FAIRS-II (management information search system)
FDMS (document control system)
GEM (library control program)
SSOPTRAN (FORTRAN source program optimizer)
1980
FORTRAN?? compiler
AOF (computer center
operations support tool)
ARIS (resident information system)
HOPE
1981
(hospital administration system)
OS IV/F2 ESP (small-scale operating system
ICAD (computer design support system)
for
FACOM
M-series)
HYPER COBOL (high-productivity version of COBOL)
DOCK/FORTRAN?? (FORTRAN debugger for system displays)
ANALYST (statistical data processing package)
PLANNER (planning and control information system)
AXEL (conversational language data analysis system)
1982
OS IV/F4 MSP (large-scale operating system
AIM/RDB (relational data base system)
DRESSY/P (simplified graphics system)
ADAMS
1983
M-series)
(Application Development and Management System)
FOS (Fujitsu Office System Concept)
OS IV/X8 FSP (medium-size operating system
UNICUS (minicomputer operating system)
JEF
FACOM
for
FACOM
for
M-series)
(Japanese-processing Extended Feature II)
(information analysis and search system)
processing system)
ELF (electronic file system)
II
MACCS/REACCS
ODM (documents
1984
OS IV/ESP III (small-scale operating system
IMPRESS (image information system)
for
FACOM
M-series)
IPS (small-scale printing control system)
Ill/PS (personal computer network system)
FCAD-11 (personal computer CAD system)
ATLAS (automatic language translation system)
UPLINK
Source:
"FACOM
no ayumi"
(FACOM development), FACOM
janaru. Vol. 11, No.
Kabushiki Kaisha, "FACOM seine
FACOM performance) in Ikeda kinen robun shu
(Anthology of articles in memory of Ikeda), Tokyo, 1978, pp. 254-267.
(1985), pp. 20-47;
ichiran" (Overview of
1
and
Fujitsu
78
Fujitsu
Table 7.3:
CHRONOLOGY OF BASIC SOFTWARE PROCESS DEVEI OPMENT
1966
Programming (Software Engineering) Department established.
1968
Program Testing Section established.
1970
"Strengthen Inspection" effort begun (1970-1973), extending testing from
debugging to evaluating software from the user's perspective, such as
comparing performance to specifications stated in manuals.
1971
Product Registration System established, requiring new
software to undergo inspection and receive product numbers before
being released. Product Handling Regulations formalized procedures for
Required all product
software products, manuals, and documentation.
components to be brought in simultaneously, not one-by-one, to the
inspection department for testing and evaluation.
1972
Planning Section established.
1973
Preliminary version of Development Planning and Report System.
Software
.
"Application of QC Techniques" effort begun
forecasting and then eliminating bugs.
MTS
1974
(1973-1978),
aimed at
(Multi-Terminal Simulator) tool developed for testing.
Software Division established.
Involved
"Product and Process Standardization" effort for begun.
estimating what the phases would be for the life cycle of individual
software products, and then determining what to design in a given
period of time, as well as what programming techniques to use.
Bar charts instituted for project control, replacing PERT charts.
Inspection procedures and forms standardized (Main Factor Analysis).
HTS (Hardware Trouble
1975
Simulator) tool developed for testing.
Phase divisions formalized and
launched.
BSMS
SWN (Software Normen) Standards
effort
(Basic Software Project Management Support System) started.
Procedures for bug analysis and data gathering formalized."
Accumulation" effort formally begun.
QC
Data
Estimates Handbook drawn up, with actual data on past projects to aid
in estimating project requirements.
managers
1976
Software Administration Department established.
BSMS
data base started for project control and estimation.
79
Fujitsu
Current Development Planning and Report System instituted, software
product delivery procedures formalized, and BSMS required for inhouse use.
1977
"Inspection of Quality and Evaluation Indicators" (1977-1978) begun.
1978
Structured design and programming emphasized.
1979
"Consolidation of Inspection Ideology." Concept of software inspection
formally promoted as extending beyond testing, to evaluation of final
products and the development process.
"Quality Assurance through Organization" effort launched. Formalization
QA as an organizational function not restricted to inspection
but extending to design and planning.
of
Phase Completion Reporting System instituted.
1980
Development Planning and Report System (Version No.
adding productivity data and review data reporting.
Campaign
to increase quality three-fold
2)
instituted,
and productivity 30% by 1982.
Software Division actively promotes small-group activities as part of the
company-wide High-Reliability Program.
Software Division Quality Objectives established -- formalization
procedures for establishing project estimates and standard times.
of
"Diffusion of Inspection ideology through Horizontal Development."
Effort to spread knowledge and "good practices' horizontally, i.e.
beyond one's own department.
1981
1982
"Advancement
of Quality Concepts" movement begun, including ease of
use evaluations (ESP) and QAL (Quality Assurance Liaison) initiated to
facilitate inter-departmental sharing of data on bugs.
"Performance checking" begun directed by Inspection Department.
Quality Objectives control
Subcommittee established.
1983
1984
system
instituted
and
Software
Quality
Six program development departments established at
located in new software building.
Numazu Works and
New Software
in
Division centralizes
all
basic software
Numazu Works.
Software Division extends quality assurance and quality circle activities
as part of the second company-wide High-
to software subcontractors,
Reliability Program.
Source: Fujitsu Ltd., Quality Assurance Department, "Kensa-bu no rekishi"
(History of the Inspection Department), undated internal Fujitsu memo.
80
Fujitsu
Table 7.4:
C
T
Key:
X
DEVELOPMENT PLANNING ITEMS AND RESPONSIBILITIFS
= Control, P = Planning, E = Engineering,
= Integration Testing,
= Inspection, o =
= Major Responsibility
I
D = Development,
included in Activities,
Groups Responsible
Check Points
QUALITY OBJECTIVES:
Program positioning,
Development
Items
Objectives
for
Checking
C
P
E
D
Ji
o
X
o
o
o o
X
o
development results,
marketability
Desired
Functions
User needs and
program functionality
Performance
Objectives, measures,
comparative analyses,
appropriateness of the
X
XX
measurements
Compatibility
Reliability
Objectives, appropriateness and completeness
of the objectives
X
o
Appropriateness of the
o
o
objectives,
o
o
X
o
X
likelihood
of implementation
PLANNING IMPLEMENTATION
Development
Size, Language
Appropriateness of
size given functions,
modularization/ reuse
Development
Appropriateness of
Process
delivery time to user,
o o
X
XX
X
o
feasibility
Man-Power
Machine Time
Review & Test
Plans
Work Objectives
Match of productivity
and budget, man-power
allocations, subcontracting percentage, progress
X
Amount
of reviews & test,
appropriateness of bug
detection (compared to
phase standards)
Sufficiency of measures
X
X
o
for improving quality
and efficiency
Development
Organization, work
Structure
distribution
Source: Morita and Kanda, p. 91
o o
Table 7.5:
MAJOR SYSTEMS SOFTWARE DEVELOPMENT TOOLS
(19831
DESIGN
YAC
Detailed design
(new version 1987) (Yet Another Control Chart).
II
language, combining aspects of conventional flow charts and pseudo code.
PROGRAM EDITING/CODE GENERATION
(1979) (Generalized Program Editing and Management Facilities).
Automatically maintains a development history of a program. Linked to PRISM.
GEM
PRISM (1982) (Problem and Repair interrelated System Management Extended).
Maintains a data base of the program source and automatically tracks
Linked to GEM.
maintenance changes.
COMPACT
(1982) (Compact Print-out Utility).
and assembled code.
TOOL
2
Compacts and prints out compiled
(1983) Allows on-line search, from time-sharing terminals, of
source code and
program
lists.
Allowed the user to edit YACII
code
in several languages.
diagrams and then automatically generated
YPS
(YACII
(1987)
Programming System).
TESTING
SAT/ART
Testing).
(1980) (Systematic and Automatic Testing/Automatic Regression
Automated regression testing tool for operating system development.
TDQS
(1977) (Test Tool for DQS).
display operations.
INDS (1983)
of
NCP
.
(Interactive
Automated regression testing
NCP Debugging System)
.
Allows checking and analysis
test results from time-sharing terminals.
MTS
(1971, 1977)
host load testing.
(Multi-Terminal Simulator).
Simulates remote terminals for
TIOS (1977). (Time-Sharing System Input/Output Simulator)
terminals for host load testing.
HTS
Simulators
(1977) (Hardware Trouble Simulator).
responses.
software
of
evaluations
functional test
DOCK/FORT77
display.
tool for on-line
(1981).
Debugging system
for
FORTRAN,
.
Simulates remote
hardware bugs for
using
a
"slow video
"
PIC (1984) Program Information Control System. Allows inspection and analysis
Linked to the Kamatamemory-dump lists from time-sharing terminals.
Numazu Dump Transfer system.
of
Automatically records on computer
(1982) AIM Test Oriented System.
data base results from testing and inspection.
ATOS
82
Fujitsu
DOCUMENTATION
ODM
(1983)
(Office
Document Manager).
Document handling
system
for
Japanese language.
MANUAL COMPILATION AUTOMATION SYSTEM
(1979).
Automated editing of
electronic documentation files.
EGRET-4
(1983)
(Easy Graphic Report Generator).
ATLAS
Automatic translation of Japanese documents
(1982).
English to Japanese system added in 1986.
into
English.
MAINTENANCE
TDP
II
(1980) (Total System for Difficulties Information Processing). Data base
for software report information.
ITS (1981)
customers.
(Incident Tracking
System).
KAMATA-NUMAZU DUMP TRANSFER
reports on bugs.
(1982).
Linked to PIC testing
PDE (1983) (PTF Document Editor).
corrections, based on TDP II data.
Control
system for questions from
On-line
transfer
of
data
and
tool.
Automatically edits documents on program
CONTROL
BSMS
(1976)
(Basic Software Project Management Support System).
for software project management.
Data base
and control
tool
NOA
(Numazu Office Automation). Employment data control system.
(1978)
IN-HOUSE TRAINING DATABASE SYSTEM
(1982)
.
Relational database system for
in-house training administration.
Source: "Sofutouea kaihatsu," pp. 37, 44.
83
Fujitsu
Table 7.6:
Notes:
SYSTEMS SOFTWARE DEVELOPMENT PERFORMAN CE MFASURFS
AH data are estimates based on graphs, and therefore are approximate
figures only. 1983-1985 is based on internal Fujitsu data. Bugs/1000 LOC
refers to all bugs reported by users per 1000 lines of code over 6month periods (averaged in the table below) in the field, i.e. newly
delivered code plus supported outstanding code.
Bugs/
1000
LOC
1975
Bug
Test
Detection Method (Estimates)
Source Code
Review
Design Sheet
Review
Table 7.7:
CHRONOLOGY OF APPLICATIONS SOFTWARE PROCESS HFy FI OPMENT
1964
Establishment of Systems Department.
1970
Centralization of applications systems development
Processing System Laboratory in Kamata, Tokyo.
1976
Information
at
Establishment of Software Engineering Team within Systems Department
develop SDEM (Software Development Engineering Methodology).
to
SDEM
1977
Establishment of Software Conversion Factory and
1977
ERG (Executive Planning Guide) and C-NAP (Customer Needs Analysis
Procedure) commercialized for in-house use and
sale.
SDSS ((Software Development Support System).
1978
Introduction of
1979
Establishment of Software Factory Department
1980
SDEM standards
1981
YAC
1981
Commercialization of
reusable programs).
1982
standards.
in
Kamata.
commercialized for sale.
(Yet Another Control chart) developed for design notation.
Commercialization of
PARADIGM (methodology and
BAGLES (Banking
tool
for developing
Application Generator's Library
for Extensive Support).
1983
SIMPLE
(Logical
tool-set introduced for commercial sales, beginning with LINDA
Information Support Tool of Dataset) and DBSP (Data Base
Support Program).
1983
YACII and YPS (YAC
1983
SDT (SDEM Design Technique)
1984
On-line
1985
ACS-APG (ACS
II
Programming System) developed.
developed.
SDEM developed.
Application Program Generator) from the SIMPLE series
commercialized.
1987
DRAGON (Driver and Stub Generator for On-line and Batch Test) from
the SIMPLE series commercialized.
SDAS (Systems Development Architecture and Support
Facilities)
commercialized.
EPGII/CNAPII commercialized, adding
and data-analysis capabilities
Source: Noritoshi Murakami,
to
1977 version design concept
Personal Correspondence to Cusumano,
received
12/26/88.
85
Fujitsu
Table 7.8:
ACS PARADIGM PRODUCTIVITY EXAMPLE
Table 7.9:
COBOL. BAGLES. AND BAGLES/CAD PRODUCTIVITY COMPARISON
Design
Programming
Testing
Total
COBOL
30
42
28
100
BAGLES
35
15
25
75
BAGLES/
20
18
22
55
CAD
Source:
Tsubuhari, p. 231
87
Fujitsu
Table 7.10:
BANKING SYSTEM DEVELOPMENT PRODUCTtVITY
New System
Old System
System Length
3,600,000
LOC
Reused Code
1,080,000
LOC
New Code
2,520,000
LOC
Total Productivity
450 LOC/Man-Month
(30%)
8,300,000
LOC
6,550,000
LOC
1,750,000
LOC
902
LOC/Man-Month
Source: Fukuta Zenichi, Yoshihara Tadao, and Maruyama Takeshi,
kaihatsu shisutemu no teisho"
and Support
Facilities),
(79%)
"SDAS sogo
(SDAS Systems Development Architecture
Fujitsu. Vol. 39, No.
88
1
(January 1988), p.
11.
Fujitsu
Table 7.11:
Key:
K-LOC
MM
MH
USE OF SOFTWARE CAD FOR TOOL DEVELOPMFNT
= 1000 lines of
cod
Man-Months
= Man-Hours
mo.= month
=
Task: Tool Development
Tool for Converting
Job-Flow Diagrams to
Job-Control Language
(7.5
K-LOC
in
Software
Conventional
CAD
Development
Time
Improvement
9.3
MM/6 mo.
0.5 MM/1 mo.
6-fold
8.4
MM/6 mo.
0.5 MM/1 mo.
6-fold
2.3
MM
0.6
MM
4-fold
8.0
MM
2.0
MM
4-fold
6.0
MH
2.0
MH
3-fold
C)
Tool for Converting
Database Structure
Diagrams to ADL
(High-level Language)
(6.7
K-LOC
in
C)
Task: Program Development
Software to Convert
Screen Format to
Definition Language
(100 screens)
Software to Implement
Screen Transformation to
Programming Language
(10/screen)
Software to Implement
Database Structure
Diagram to ADL
Source: Yabuta, Yoshioka, and Murakami, p.
89
7.
Fujitsu
Table 7.12:
FUJITSU SUMMARY
CONCEPT
IMPLEMENTATION
Process Improvement
Commitment
Product-Process Focus
& Segmentation
Development sites, tools, methods, and
standards divided among basic software and
applications.
Largest network of specialized,
general, and regional subsidiaries among
Japanese computer producers.
Process/Quality
Analysis & Control
Systematic data collection, document and
product inspection and release procedures,
standardization efforts. Development Planning
and Report System, and BSMS data base from
Similar standards
mid-1970s in basic software.
Systematic
in
applications from late 1970s.
quality data collection from the late 1970s,
integrated with High-Reliability Program. Use of
Taguchi methods in testing basic software.
Tailored/Centralized
Process R&D
Tools and methods distinct to product groups,
with some transfers.
Software tool and method
development first centered in Numazu (basic
Kamata in late
software) during early 1970s.
1970s and 1980s developed methods and tools for
at division-level management in
early and mid-1970s to improve process and
quality control in basic software. Commitment
to structure and standardized custom
applications development from late 1970s and
early 1980s.
applications,
with
assistance
from
central
laboratory.
Skills
Standardization
& Leverage
2 to 3 months standard training for all software personnel. Courses and career paths to
advancement and specialization.
Development of standardized tools and methods
specifically to leverage knowledge of skilled
promote
personnel.
Division of labor in the applications
software factory between system engineering and
program construction, though gradual trend of
doing more program and system design in the
factory.
Dynamic Standardization
Performance
annually.
Continual
tools
standard times revised
evolution of standardized
methods, particularly tools.
and
Fujitsu
Systematic Reusability
In applications, emphasis on reusable designs and
packages that can be incorporated in customized
systems. Wide array of tools to support reuse,
some dedicated to specific applications like
banking. In basic software, emphasis on building
common components for different products.
Computer-Aided Tools
Extensive investment in tools during the 1980s to
the transformation of designs into
executable code or the reuse of designs and
code, such as
PARADIGM, ACS-APG, CASET,
YPS, BAGLES, and Software CAD. Other tools
available since the 1970s, such as ADAMS and
facilitate
BSMS, to support project and
management, maintenance and testing.
Incremental
Emphasis
Product
Improvement
control,
in
library
the 1970s on process and defect
as well as evaluating products from
customers' perspective (comparing performance
with documentation).
Recent emphasis in the
1980s on improving product functionality and
ease of use, with quantified measures. Computeraided tools apparently useful in channeling more
relative effort into design and less into coding.
Overall, strong product positions in basic
software, applications engineering, Japanese
language processing.
ASSESSMENT:
Strategic Management
& Integration
Long-term effort first in basic software to
improve the development process, directed by
the Inspection and Quality Assurance
Similar effort in
Department at Numazu.
applications software directed by groups in
Kamata,
currently
the
SE
Technical
Support
Company-wide and group-wide
Center.
integration and technology transfer through the
Software Development Planning Group.
Scope Economies
Building
of
unique
and
customized
systems
centralized in Numazu and Kamata, as well as in
subsidiaries and software houses working under
the direct control of Numazu and the Kamata
Specific efforts directed at
Software Factory.
building and using common tools, methods, and
software components.
Fujitsu
NOTES TO CHAPTER
7
1.
This reflects the introduction of JEF (Japanese-processing Extended Feature)
in
1979,
leader
in
which,
along with
a
successor version,
Japanese-language word processing packages.
2.
See Table 4.1.
3.
Nikkei Computer
4.
Fujitsu Limited,
5.
Fujitsu Kabushiki Kaisha, "Kaihatsu taisei:
Jigyobu"
quickly became the market
.
13
October 1986,
"Numazu
(Organizational
kojo"
p.
75.
(Numazu Works), undated brochure.
Densanki Jigyo Honbu, Sofutouea
Computer Group,
structure.
Software
Division),
Quality
Assurance
unpublished company document, 1986.
6.
Interviews
with
Tadashi
Yoshida,
General
Department, Software Division (Numazu Works)
,
Manager,
Fujitsu Limited, 7/31/86, 9/7/87,
8/22/89, and written responses to a draft of this chapter,
7.
12/8/88.
Shimoda Hirotsugu, Sofutouea ko}o (Software factories), Tokyo, Toyo Keizai
Shimposha, 1986, p. 82; interview with Katsuro Yamaji, Deputy General Manager,
Software Division, Fujitsu Ltd., 7/31/86; interview with Mamoru Mitsugi, Senior
Executive Director and General Manager, Systems Engineering Group, Fujitsu
Limited, 8/25/88.
8.
Interview
with
Hiroshi
Narafu,
Section
Manager,
Software
Factory
Department, Fujitsu Limited, 8/23/88, and written correspondence, 12/6/88.
9.
Interviews with Noritoshi Murakami, Manager, Software Development Planning
Group, Fujitsu Limited, 9/1/87, 3/22/88, and 8/23/88.
92
Fujitsu
10.
(History
shi"
FACOM
of
Iwabuchi Akio;
Fujitsu
development),
Computopia
Kabushiki Kaisha,
Nihon shashi zenshu:
history),
FACOM
Minamisawa
in
Noburo,
No.
11,
(1985),
1
konpyuta
Nihon
May
and
April
kaihatsu
Kaisha shashi
"FACOM
no ayumi"
Iwabuchi Akio,
Fujitsu
II
(FACOM
pp. 20-47.
hattatsu-shi
(History
of
development of Japanese computers), Tokyo, Nihon Keizai Shimbunsha, 1978,
12.
1975;
Nihon Shashi Zenshu Kankokai,
Fujitsu shashi. Tokyo, 1977;
ianaru. Vol.
.
Fujitsu Kabushiki
(History of Fujitsu, Ltd.), 1976, reprinted
11.
"FACOM
Major sources for the corporate history are Usui Kenji,
no chosen (Fujitsu's challenge),
Tokyo,
the
p. 145.
Yamate
Shobo, 1984, pp. 34-42, 128-129, 198-202; Ogino Yuji etal., "Fujitsu-Hitachi no
shin-konpyuta 'M shirizu' no senryaku o
kyumei"
tettei
(A close look at the
strategy of the new Fujitsu-Hitachi M-series' computers), Computopia. February
1975,
13.
p.
17-18.
Usui, Computopia.
1985, p.
May
1975, pp. 17-18; Japan Economic Journal
29
January
10.
14.
Iwabuchi, p. 93; Nikkei Computer
15.
Ogino, pp. 30-31.
16.
Narafu interview.
17.
Fujitsu, Information Processing
kaihatsu:
.
hinshitsu-seisansel kojo
productivity improvement)
,
.
October 1986,
13
Group, No.
ni tsuite
'
1
p.
81.
Software Division, "Sofutouea
(Software development: quality and
unpublished company document, received 9/24/85, p.
3.
93
Fujitsu
18.
Computerworld
November
1988,
p.
December 1988,
5
.
Businessweek
1;
pp.
19
.
The New York Times
4;
1,
"Sofutouea kaihatsu," pp. 40-41; Yoshida interviews.
20.
Nihon Keizai Shimbun
21.
This
discussion
8040
(Early systems software:
pp.
20-21,
25;
(Recollections of the
1987,
p.
9.
Kawaguchi
MONITOR
Izawa,
.
"Shoki
shisutemu
no
no kaihatsu made o chushin to shite"
focus on period through the
development), Joho shori
1975),
August
based on
is
FONTAC
sofutouea:
5
30
December 1988, pp. 100-102.
19.
,
.
FONTAC
8040
MONITOR
Vol. 24, No. 3, March 1983, pp. 225-237; Usui (May
Okamoto Akira,
MONITOR-V
"MONITOR-V shisutemu
system),
in*
Senta 10-nen-shi. pp. 224-229; Fujitsu shashi
no omoide"
Kyoto Daiqaku Ogata Kensanki
II
p.
,
Yamamoto Takuma,
104;
"Opereteingu shisutemu kaihatsu no omoide" (Recollections on operating system
development),
in
Kyoto Daigaku Ogata Keisanki Senta, ed., Kyoto Daiqaku Ogata
Kensanki Senta 10-nen-shi (A 10-year history of the Kyoto University Ogata
Computer Center), Kyoto, Kyoto University,
221-222;
Uemura Mitsuo,
software development),
in
"Sofutouea
1980, pp. 217-219; iwabuchi,
kaihatsu
no
omoide"
pp.44,
(Recollections
Kyoto Daiqaku Qqata Kensanki Senta 10-nen-shi
,
of
pp.
230-236.
22.
Ogino,
pp.
30-31;
software development),
23.
Tabata Akira,
FACOMjanaru
,
"Kihon
sofutouea
Vol. 11, No.
1
no kaihatsu"
(Basic
(1985), p. 54; Shimoda, p. 73.
Interview with Mamoru Mitsugi, Senior Executive Director, Fujitsu Limited,
8/25/88.
24.
Quoted
in
Shimoda, pp. 73-76.
94
Fujitsu
25.
This discussion
based on
is
"Sofutouea
kaihatsu,"
especially
Yoshida interviews; and Tadashi Yoshida, "Attaining Higher Quality
--
Development
Vol. 21,
26.
Evaluation
in
27.
in
7-10;
Software
Practice," Fujitsu Scientific and Technical Journal.
No. 3 (July 1985), p. 306.
Computer Group, Software Division, "Sofutouea no hinshitsu kanri"
Fujitsu,
(Software quality control), unpublished company document,
6;
pp.
and "Sofutouea kaihatsu,"
This
discussion
Association)
,
September 1985,
p.
6.
p.
based on
is
1 1
Nihon
Fujitsu no ko-shinraisei
undo
Noritsu
Kyokai
(Japan
(Fujitsu's High-Reliability
Management
Movement),
Tokyo, Nihon Noritsu Kyokai, 1985, especially pp. 144-176.
based on Yoshida, pp. 305, 308-309, 314-315.
28.
This discussion
29.
"Sofutouea kaihatsu," p. 15.
30.
Keizo
is
Tatsumi
Development Group,
Assurance Department,
(Quality
Fujitsu
"Test Case Design
Limited),
International Conference on Quality Control,
31.
used
in
Fujitsu.
Support System,"
Tokyo, October 1987, pp. 1-2.
Also, citing Taguchi's 1976 book in Japanese,
these methods
Computer Software
is
a
more detailed
article on
See Sato Shinobu and Shimokawa Haruki,
"Jikken keikau-ho o mochiita sofutouea no tesuto komoku settei-ho" (Software
test-case selection method based on experimental design methodology), Sofutouea
Seisan
ni
okeru Hinshitsu Kanri Shinpojium (Symposium on quality control
software). No. 4, ca.
in
1983.
32.
Murakami and Yoshida interviews.
33.
Fujitsu KabushikI Kaisha,
"FACOM
M-shirizu 0SIV/X8 FSP," pp. 171-173.
95
Fujitsu
"SDAS:
34.
Software Development Made Easy,"
Application
from Fujitsu. July 1987,
kanri,"
questionnaire on "Large-Scale Systems Software."
U.S.
reason
firms
1/20/87 Cusumano
to
Yoshida believed that
have not refined flow chart systems
computer language
is
close to their native language.
Japanese, making them easier for Japanese programmers
The
literature
Japanese firms,
is
on
YACII
and YPS,
IEEE Software
YACII
.
March 1989, pp. 31-37.
Fujitsu
engineers
as
in
Japan:
high-
presented
at
36.
Yoshida response to questionnaire.
37.
"Sofutouea kaihatsu," p. 29.
38.
Yoshida interviews.
39. "Fujitsu,
'
Computopja. June 1975,
pp. 102-103; Nikkei Computer
1975,
.
13
p. 92; Fujitsu
systems
available
in
at
other
English
is
Tree-Structured Charts,"
Japan's
in
in
to use.
Comments here are
Association (Joho Shori Gakkai) annual conventions
40.
in a
But, for Japanese
other
as
well
The best summary
large and growing.
Mikio Aoyama et al., "Design Specification
on
major
was not the case, and YACTl, PAD, or SPD diagrams could be written
this
35.
a
extent was
this
to
because, for native speakers of English or similar languages, writing
level
News
Yoshida interviews; and "Sofutouea no hinshitsu
p. 2;
and Yoshida's 2/8/87 written response
16;
p.
Electronics
also
based on papers
Information
Processing
1983, 1985, 1986, and 1987.
Kabushiki Kaisha shashi
II.
October 1986, p. 82; Usui, Computopia. May
pp. 25-26.
These comments that follow are based mainly on interviews with Hiroshi
Narafu, Section Manager, Software Factory Department, Fujitsu Ltd., 8/23/88,
and
his written
comments
to me,
dated 12/6/88, that reacted to
96
a
draft of this
Fujitsu
chapter;
an
Department;
interview
with
Harukazu Onishi,
and interviews with
Manager,
former programmer
a
in
Software
Factory
the factory
who
worked on distribution systems during 1981-1983, Hiromi Sakurai, 5/4/88. Mr.
Narafu has been employed
factory
in
1979.
in
the factory since 1977;
Also participating
as well as Takashi Sano,
Mr.
Onishi joined the
these sessions were Noritoshi Murakami
in
Deputy Section Manager, Software Factory Department,
and two employees from the factory, Nobuhiko Sugizaki and Yasuhiro Yuma.
41.
Mitsugi interview.
42.
Yoshiro Nakamura, Ryuzo Miyahara, and Hideshi Takeuchi, "Complementary
Approach
to
the Effective Software Development,"
Software and Applications Conference (COMPSAC78)
Electrical
Proceedings of Computer
,
New York,
and Electronics Engineers (IEEE), November 1978,
43.
Nakamura
et al.,
p.
44.
Nakamura
et al.,
pp. 235-236.
45.
Fujitsu Limited,
236.
236.
"An Introduction
System Engineering Group,
p.
to
Software Factory Dept.," July 27, 1988,
11.
46.
Murakami
47.
Narafu and Murakami interviews.
48.
Murakami interviews and "An Introduction
et al.,
p.
Institute of
pp. 284-286.
to
Software Factory Dept.," pp.
5-6.
49.
"An Introduction
to
Software Factory Dept.," pp. 5-6.
97
Fujitsu
50.
al.,
51.
These comments again are based on interviews with Narafu and Murakami
et
and Narafu's written comments.
This section
Narafu,
is
based on interviews and correspondence with Murakami,
and Sakurai;
Fujitsu
Ltd.,
"Kyoiku jigyo no gaiyo"
Education," in-house customer materials, August 1988 (this
statistics on education);
Overall
Development Process,"
in
Approach
53.
Murakami
Hajime,
.
13
to
p.
Improvement
the
Software
.
October 1986, pp. 80-81.
et a!., pp. 286-287;
Watanuki Hisashi, Hatta Makoto, and Okudaira
toki
Control for Application Program Development,
"An introduction
to
no hinshitsu kanri" (Quality
Fujitsu. Vol. 34, No. 6 (1983),
Software Factory Dept.," pp. 9-10.
54.
Murakami
55.
Noritoshi Murakami and Tomio Takahashi, responses to
et al.,
of
288;
"Apurikeshon puroguramu kaihatsu
pp. 857-865;
the source of cited
H. Hunke, ed.. Software Engineering Environments
Amsterdam, North-Holland, 1981,
Nikkei Computer
of
Noritoshi Murakami, Isao Miyanari, and Kazuo Yabuta,
"SDEM and SDSS:
52.
is
(Overview
pp. 289-293.
Cusumano surveys on
"Large-Scale Applications Software" (1/19/87) and 'Software Facilities" (9/87).
56.
Uemura Takaki, "Gekihensuru sofutouea kaihatsu sutairu" (Rapidly-changing
software-development styles), Nikkei Computer
57.
,
20 September 1982, pp. 61-64.
Nagata Yuzuru, Mori Kuniaki, and Takahashi Tomio, "Shisutemu keikaku giho
EPGII to C-NAPII" (System Planning Methodologies EPGII and NAPII), Fuiitsu.
Vol. 39,
58.
No.
1
(January 1988), pp. 13-20.
"SDAS: Application Software Development Made Easy," pp.
98
1-2.
Fujitsu
59.
"FACOM
Fujitsu Kabushiki Kaisha,
M-shirizu 0SIV/X8 FSP/' pp. 193-194;
"Sofutouea kaihatsu," p. 42; Sano and Onishi interviews.
60.
Murakami Noritoshi, Komoda Junichi, and Yabuta Kazuo, "Paradaimu
no seisansei
sofutouea
PARADIGM),
61.
Fujitsu. Vol. 33,
yoru
improvement tlirough the Use
(Productivity
kojo"
ni
of
No. 4 (1982), p. 49.
Kometani Tadatoshi and Arakawa Yoshihiro, "Onrain shisutemu no kokateki
kaihatsu
e
no tameshimi
System Development
--
ACS PARADIGM" (Approach
ACS PARADIGM),
--
for
Fujitsu, Vol. 35,
Efficient Online
No. 4 (1984), pp.
445-453.
62.
This discussion of
Fujisa Minoru,
tsuru
BAGLES),
is
based on Uemura, pp. 56-69; Wada Haruhiko,
and Yanagisawa Minoru, "Kinyu onrain shisutemu kaihatsu shien
BAGLES"
-
BAGLES
(Financial
systems
on-line
development
support
tool-
Fuiitsu. Vol. 34, No. 2 (1983), pp. 271-279; Fujitsu Financial Systems
Engineering Development Department, "Kinyu onrain shisutemu kaihatsu shien
tsuru
-
BAGLES"
(Financial
BAGLES), FACOM Janaru.
Takeshi, Wada Haruhiko,
systems
on-line
Vol.
10,
No.
12
development
pp.
(1984),
support
146-155;
tool-
Yokoyama
and Ema Michiko, "Ronri sekkei gengo BAGLES
okeru bubun-ka gijutsu" (Modularization technology
in
the
BAGLES
ni
logic design
language), Joho Shori Gakkai 'Puruguramu Sekkei-ho no Jitsuyo-ka to Hatten'
Shinpojium, April 1984, pp. 77-86; Omori Noriyuki, "Ginko onrain shisutemu no
koritsu-teki kochiku jitsurei" (An actual example of efficiently constructing an
on-line banking system). Data Management
Yukio, "Tosha no kinyu shisutemu kaihatsu
improvement
Serususha, ed.
Fujitsu
the
in
,
company's
Jitsurei
Limited,
January 1987, pp. 66-73; Tsubuhari
,
ni
financial
okeru seisansei kojo" (Productivity
systems
konpvuta bankinqu. No.
"BAGLES
kaihatsu
no
99
13, 20
keiro"
development),
in
Kindai
January 1987, pp. 226-231;
(The process
of
BAGLES
Fujitsu
development), internal Fujitsu document, 20 March 1986, and "BAGLES no gaiyo"
(Outline of
63.
BAGLES),
internal Fujitsu documents, 8
March 1987 and 3 July 1987.
Ueki Sadahiro, Miyauchi Kazuto, and Nakada Haruyoshi, "Koseisansei tsuru
CASET" (High-productivity
tool
CASET),
Fujitsu. Vol. 39, No.
1
(January 1988),
pp. 21-28.
64.
"Fujitsu Software:
Banking
Engineering Times
to Realtime," Electronic
,
11
February 1985, pp. 63-64.
65.
Kazuo Yabuta, Akihiro Yoshioka, and Noritoshi Murakami, "'Software CAD':
A Generalized Environment
COMPSAC'87
66.
pp.
.
Norio,
Fuji!
for Graphical
Software Development Techniques,"
1-8.
Ginbayashi Jun,
and
Murakami
Noritoshi,
konsarutesohn moderu kochiku tsuru" (Tool for Construction
Models),
67.
Fujitsu. Vol. 39,
"Kaiwa
of
ni
yoru
Consultation
No. 3 (1986), pp. 223-228.
Fujitsu Ltd., "System for Supporting Software Development (for Switching
Systems Software)," internal document, 1977; Murakami interviews; Kato Hideki
et al.,
"Chishiki besu o mochiita
SDL
shien shisutemu" (Intelligence-based
support system), Joho Shori Gakkai, 'Chishiki Kogaku
8
May
68.
1984,
pp.
Computer
69.
.
"SDAS:
22
Jinko chino' Shipojium,
1-8.
Matsuzaki Minoru and Yanagita Toshihiko,
Fujitsu ga kisou"
to
SDL
"SAA
to
SDAS/SIA de IBM
to
(IBM and Fujitsu compete with SAA and SDAS/SIA), Nikkei
June 1987, pp. 83-92.
Application
from Fujitsu. July 1987,
Software Development Made Easy," Electronics News
p.
3.
100
Fujitsu
70.
Akiyama Masayuki and Nishimura Shuji, "SDAS
ni
okeru pakkeji kaihatsu
sono tekiyo gijutsu" (SDAS Improving Package Development and
Needs), Fujitsu. Vol. 39, No.
to
Application
Its
January 1988, pp. 36-41.
1,
71.
Nikkei Computer
72.
Akiyama and Nishimura; and "SDAS: Application Software Development Made
13
.
October
1986-,
Easy," Electronics News from Fujitsu
pp. 81-82.
July 1987, p. 3.
.
73.
Murakami
74.
"An Introduction
75.
"FACOM
76.
Murakami Noritoshi, Komoda Junichi, and Yabuta Kazuo, "Paradaimu
sofutouea
et al.,
pp. 287-288.
to the
M-shirizu 0SIV/X8 FSP," pp.
no seisansei
PARADIGM),
Software Factory Dept.," pp. 7-8.
193-194.
(Productivity
kojo"
Improvement through the Use of
77.
"Paradigm," Facom Janaru
78.
See Kometani and Arakawa, especially pp. 452-453.
79.
Tsubuhari,
80.
Fukuta Zenichi,
kaihatsu
Support
.
Vol. 9,
No. 3 (1983), pp.
136-137.
231.
Yoshihara Tadao,
shisutemu no teisho"
Facilities),
yoru
No. 4 (1982), pp. 53-55.
Fujitsu. Vol. 33,
p.
ni
No.
1
(January 1988).
to Realtime," pp.
81.
"Fujitsu Software:
82.
Akiyama and Nishimura,
83.
Yoshida, "Sofutouea no keiryo-ka," pp. 48-51.
p.
'SDAS sogo
(SDAS Systems Development Architecture and
Fujitsu, Vol. 39,
Banking
and Maruyama Takeshi,
63-64.
38.
101
Fujitsu
84.
Yabuta, Yoshioka, and Murakami, pp. 1-7.
102
484?
Uii3
Fujitsu
Date Due
iKV
2
11993
Lib-26-67
MIT LIBRARIES DUPL
3
1
TOaO a05b73TE
3
Download