|
|||||
Chapter
4
How
Software Personnel
Learn New
Skills
Introduction
The
combination of the financial
meltdown of 2008 and 2009
followed
by
the global recession will
make profound changes in
training of pro-
fessional
personnel. Low-cost methods
such as e-learning will
expand
rapidly.
High-cost methods such as
live conferences, classroom
training,
and
several forms of paper
publications will decline rapidly.
Fortunately,
the
technologies associated with e-learning
are at the point that
their
effectiveness
is increasing.
The
rate of change of software
technology is extremely rapid.
New
programming
languages appear almost
monthly. New programming
tools
appear almost daily. New
software development
methodologies
appear
several times a year.
The
fast rate of software
technology change means that
software pro-
fessionals
are faced with a continuing
need to learn new skills.
What
channels
are available to software
professionals for learning
new skills?
How
good are the available
ways of learning, and what
new ways are
likely
to occur?
Even
as software learning methods
improve, there are a number
of
critical
topics where software
education lags far behind
what is truly
needed
to achieve professional status
for software. The most
glaring
omissions
include
1.
Software security practices
for building low-risk
applications
2.
Software quality control
practices for minimizing
delivered defects
3.
Software measures and
metrics for effective
economic analysis
227
228
Chapter
Four
4.
Software estimating and
planning methods for on-time
delivery
5.
Software architecture for
optimizing use of reusable
components
6.
Software methods for
effective renovation of legacy
applications
7.
Software technology evaluation
and technology
transfer
8.
Software intellectual property
protection
These
gaps and omissions need to
be quickly filled if software is
to
evolve
from an art form into a
true engineering
discipline.
Due
to the continuing recession,
attendance at conferences is
going
down,
some in-house training is
being cancelled, and some
software
instructors
are being laid off.
These are likely to be
permanent changes.
From
2009 through the indefinite
future, e-learning and
webinars are
likely
to be the major education
channel for professional
education.
Even
newer methods such as
virtual environments, avatars,
and text
mining
are likely to grow as the
recession continues. Over
and above
their
low costs, these newer
methods may offer actual
advantages as
approaches
to learning.
The
Evolution of Software Learning
Channels
The
world of software is evolving
new technologies as rapidly as
any indus-
try
in human history. This means
that software professionals
are faced with
a
need to acquire new knowledge
and new skills at a very
rapid clip.
As
of 2009, the United States
currently employs about 2.6
million per-
sonnel
in the technical areas of
programming or software
development
and
maintenance, about 280,000 software
managers, and perhaps
another
1.1
million ancillary personnel in
related specialties such as
software
sales,
customer support, software
technical writing, and many
others.
The
U.S. total is probably over
3.8 million professionals if
all software-
related
occupations are considered.
The European total is
slightly larger
than
that of the United States,
and the world total is
approaching 18 mil-
lion.
Exact counts are not
available for India, China,
and Russia, but
these
three
countries combined probably
are equivalent to the U.S.
total, and
software
work is growing very rapidly
in all three. Globally, all
software
personnel
need constant refreshment of their
knowledge to stay
current.
The
financial crisis and
recession of 2008 and 2009
(and beyond) are
likely
to disrupt the normal
channels of software education. To
conserve
funds,
many companies will cut back
on training expenses. A
significant
number
of software personnel may
lose their jobs due to
downsizing
or
to actual bankruptcy of their
companies. As a result, attendance
at
conferences
will probably diminish sharply, as will
attendance at com-
mercial
education classes. The effect of a
long recession on university
and
graduate
school education is uncertain. It
may be that lack of
normal
How
Software Personnel Learn New
Skills
229
job
opportunities may actually
increase university and
graduate school
enrollments,
assuming that loans and
funding sources do not dry
up.
Webinars
and online educational
channels are likely to
expand due
in
large part to their low
costs for both sponsors
and students. Indeed,
webinars
are exploding so rapidly
that there is a need for a
central cata-
log
of all webinars, organized by
topic. On any business day,
no fewer
than
50 software webinars are
being offered in the United
States, and
no
doubt this number will soon
rise into the
hundreds.
It
is conceivable that the
recession may cause
significant new
research
into hypermodern training
methods such as virtual
real-
ity
"classrooms," text mining to
convert paper documents into
web-
accessible
documents, and shifting
information from paper form
into
e-book
and web-accessible
form.
When
this report was first
produced in 1995, there were
only ten
major
channels for software
personnel to acquire new
information (see
Table
4-1). These channels varied
in effectiveness and
costs.
Today
in 2009, there are 17
channels available for
software person-
nel
to acquire new information. New
forms of electronic books,
blogs,
Twitter,
web browsing, and webinars,
and simulation web sites
such as
Second
Life have been added to
the suite of learning
methods. In addi-
tion,
Google and Microsoft are in
the process of converting
millions of
paper
documents into online
web-accessible documents.
The
current report uses a new
way of evaluating learning
methods.
Each
method is ranked in terms of
four factors using a scale
from 1
(best)
to 10 (worst):
1.
Cost
2.
Learning efficiency
3.
Learning effectiveness
4.
Currency of information
TABLE
4-1
Software
Education Channels Available in
1995
1.
In-house
education
2.
Commercial
education
3.
Vendor
education
4.
University
education
5.
Self-study
from workbooks
6.
Self-study
from CD-ROMs or DVDs
7.
Live
conferences
8.
Online
education via the Internet
and World Wide
Web
9.
Books
10.
Journals
230
Chapter
Four
The
number "1" is the top
rank or score for each
category. All of the
available
methods are then listed in
descending order for each
topic.
The
first factor, cost,
does
not need much explanation.
It simply refers
to
the expenses a student is
likely to have in order to
use the learning
channel.
Costs range from almost
free for activities such as
web brows-
ing,
to extremely expensive for
attending a major university or
going
to
graduate school.
The
second factor, learning
efficiency, refers
to the amount of
calendar
time
required to impart a given
amount of new knowledge to
students. A
score
of "1" indicates the most
efficient form of learning.
Online educa-
tion
and web browsing are
the quickest methods of
learning.
The
third factor, learning
effectiveness, refers
to the volume of
information
that
the learning channel can
transmit to a student. A score of
"1" indicates
the
most effective form of
learning. Live instructors in
universities and in-
house
training transmit more
information than any other
channels.
The
fourth factor, currency,
refers
to the average age of the
informa-
tion
that is being transmitted, with a score
of "1" ranking as highest
or
having
the most recent data.
For currency, the online
sources of educa-
tion
tend to have the most
recent data, followed by
conferences and
commercial
education. Universities lag in
currency.
Table
4-2 lists the 17 channels
evaluated in the 2009
versions of this
report.
Between
1995 and 2009, two
computer-aided forms of learning,
web
browsing
and webinars (e-learning),
have not only been
added to the
list,
but also have now
achieved top ranking in the
categories of cost,
currency,
and efficiency. They are
still in the middle of the
list in terms
of
effectiveness, however.
As
the recession deepens and
lengthens, and as technologies
change,
we
can expect to see many
future changes in learning
methods and
especially
changes that achieve lower
costs. Hopefully, higher
effective-
ness
might be achieved at the
same time.
What
Topics Do Software Engineers
Need
to Learn Circa
2009?
Table
4-3 is a sample of current
terms, acronyms, and
abbreviations
that
have come into prominence
within the software
community over
the
past few years. The
terms give flavor to the
kinds of technologies
that
software personnel need to
know about in 2009,
technologies which
in
some cases did not
exist even as late as
2000.
Even
with 75 entries, this list
covers no more than perhaps
30 per-
cent
of the topics that are
part of the overall
knowledge of the
software
engineering
domain as of 2009. Indeed
there are more than
700 known
programming
languages and dialects, more
than 50 software
design
How
Software Personnel Learn New
Skills
231
TABLE
4-2
Ranking
of Software Learning Channels as of
January 2009
Average
Cost
Efficiency
Effectiveness
Currency
Score
Form
of Education
Ranking
Ranking
Ranking
Ranking
3.00
Web
browsing
1
1
9
1
3.25
Webinars/e-learning
3
2
6
2
3.50
Electronic
books
4
3
3
4
5.25
In-house
training
9
4
1
7
6.00
Self-study
CD/DVD
4
3
7
10
7.25
Vendor
training
13
6
5
5
7.25
Commercial
training
14
5
4
6
7.50
Wiki
sites
2
9
16
3
8.25
Live
conferences
12
8
8
5
9.00
Simulation
web sites
8
7
13
8
10.25
Self-study
from books
5
13
12
11
10.25
Journals
7
11
14
9
10.75
On-the-job
training
11
10
10
12
11.75
Mentoring
10
12
11
14
12.00
Books
6
14
15
13
12.25
Undergraduate
15
15
3
16
training
12.25
Graduate
training
16
16
2
15
approaches,
and at least a dozen named
software development
methods,
to
say nothing of an almost
infinite variety of combinations of
things.
The
topics in Table 4-3 are
primarily concerned with software
engi-
neering
topics. Many other topics
affect software outside of
software
engineering,
such as asset management,
licensing, protecting
intellec-
tual
property, governance, the
Information Technology
Infrastructure
Library
(ITIL), and hundreds of
other topics.
Each
topic in this list is
relatively new. Each is
relatively complicated.
How
can software personnel stay
current with the latest
technologies?
Even
more important, how can
software personnel actually
learn how
to
use these new concepts
well enough to be effective in
their jobs?
Since
not every new topic is
appropriate for every
project, and since
some
topics are mutually
exclusive, it is also important
for software
engineers
and managers to know enough
about each to select the
appro-
priate
methods for specific
projects.
An
interesting hypothesis is that one
reason why traditional
topics
tend
to fall out of use is that
the volume of new topics in
the software
world
is so large. For example,
most personnel are limited
in the amount
of
time that can be spent on
training. If there is a choice
between a new
topic
such as "Agile development"
and a traditional topic such
as "design
inspections,"
the new is likely to be
chosen over the
old.
232
Chapter
Four
TABLE
4-3
Software
Knowledge Areas Circa
2009
1.
Agile development
35.
ITIL (Information Technology
Infrastructure
Library)
2.
ASP (application service
provider--
software
available via the
World
36.
JAD (joint application
design)
Wide
Web)
37.
Java
3.
Automated static
analysis
38.
JavaScript
4.
Automated testing
39.
OO (object-oriented)
5.
B2B (acronym for "business
to
40.
OLAP (online analytical
processing)
business"
or business via the
World
41.
OLE (object linking and
embedding)
Wide
Web)
6.
BPR (business process reengineering)
42. Orthogonal defect
tracking
43.
Process improvement
7.
Caja
44.
PSP (Personal Software
Process)
8.
Client-server computing
45.
QFD (quality function
deployment)
9.
Cloud computing
46.
RAD (rapid application
development)
10.
Computer security
47.
REST (Representational State
11.
CMM (capability maturity
model)
Transfer)
12.
CMMI (capability maturity
model
48.
RPC (Remote Procedure
Call)
integration)
49.
Ruby
13.
COSMIC (a function point
variant
50.
Ruby with Rails
from
Canada and Europe)
51.
RUP (Rational Unified
Process)
14.
Configuration control
52.
Renovation of legacy
applications
15.
CRM (Customer Relationship
Management)
53.
Reusability
16.
Data mining
54.
Scrum
17.
Data quality
55.
Security vulnerabilities
18.
Data warehouses
56.
Software as a Service
(SaaS)
19.
Dot-com (a company doing
business
57.
SOA (service-oriented
architecture)
via
the World Wide
Web)
58.
SOAP (Simple Object Access
Protocol)
20.
E-business (electronic
business)
59.
Six Sigma for
software
21.
E-learning
60.
Static analysis
22.
E programming language
61.
Story points
23.
EA (Enterprise Architecture)
62.
Supply-chain integration
24.
ERP (enterprise resource
planning)
63.
TCO (total cost of
ownership)
25.
Extreme programming
(XP)
64.
TickIT
26.
Formal design and code
inspections
65.
TQM (total quality
management)
27.
Function point
metrics
66.
TSP (Team Software
Process)
28.
GUI (graphical user
interface)
67.
Trusted computing
29.
Hacking defenses
68.
UML (unified modeling
language)
30.
HTML (Hypertext Markup
69.
Use cases
Language)
70.
Use-case points
31.
I-CASE (integrated
computer-aided
71.
Virtualization
software
engineering)
72.
Web-based applications
32.
IE (information engineering)
73.
Web object points
33.
ISO (International Standards
Organization)
74.
Wiki sites
34.
ISP (Internet service
provider)
75.
XML
How
Software Personnel Learn New
Skills
233
In
the 1500s, the English
financier Sir Thomas Gresham
noted
that
when two forms of currency
were in circulation that had
differ-
ent
values compared with a fixed
standard such as gold,
people would
hoard
the more valuable currency
and use the less
valuable currency.
Gresham's
law describing this phenomenon
was quite succinct:
"bad
drives
out good."
For
software education and
training, students with finite
available
time
whose choice is between
learning a brand-new technology or
learn-
ing
an older technology, the
odds favor signing up for a
class in the new
technology.
For software, a variation of
Gresham's law for
technology
education
is "new drives out
old."
The
fact that courses in new
topics tend to be more
popular than
courses
in older topics has nothing
to do with the effectiveness or
value
of
the two topics. It is merely
a phenomenon that new topics
seem to be
favored
over older topics.
Some
older topics such as formal
inspections of requirements,
design,
and
code are still among
the most effective forms of
defect removal
ever
developed and are also
valuable in terms of defect
prevention. Yet
courses
in formal inspections seldom
draw as many attendees as
courses
in
newer subjects such as
test-driven development, Agile
development,
or
automated testing.
In
this book, the way of
evaluating the overall
effectiveness of vari-
ous
education channels is to combine
data on the numbers of
students
using
the channel, the students'
satisfaction with the materials,
and the
students'
abilities to actually acquire
new skills.
The
rankings in this section are
derived from interviews and
client
benchmark
studies that the author
and his company have
performed.
Overall,
about 600 companies have
been visited, including
roughly 150
large
enough to be included in the
Fortune 500 set. About 35
govern-
ment
sites have also been
visited, at both state and
national levels.
More
than a dozen of the
enterprises visited employed at
least 10,000
software
personnel. Examples of major
software employers include
IBM,
Microsoft,
and Electronic Data Systems
(EDS). More than 100 of
the
companies
employed more than 1000
software personnel.
Software
Engineering Specialists Circa
2009
The
author was commissioned to
carry out a study of
software specializa-
tion
within large enterprises.
Some of the enterprises that
participated
included
AT&T, the U.S. Air Force, Texas
Instruments, and IBM.
These
enterprises
were visited by the author
and his colleagues, and
they
participated
in detailed surveys. A number of
other corporations
were
contacted
by telephone, or as part of assessment
and benchmark
consult-
ing
studies. These demographic
studies are still
continuing, and more
234
Chapter
Four
recent
data was published in the
author's book Software
Assessments,
Benchmarks,
and Best Practices (Addison-Wesley
Professional, 2000).
The
original study revealed
several interesting facts
about the soft-
ware
workforce, but also revealed
considerable ambiguity in
software
demographics.
For example:
Large
corporations employ a huge
variety of specialists.
■
Small
corporations employ few
specialists and utilize
generalists.
■
Systems
software and information
technology groups use
different
■
specialists.
Generic
titles such as "member of
the technical staff" confuse
demo-
■
graphic
data.
There
is no consistency from company to
company in job titles
used.
■
There
is no consistency among companies in
work done by the
same
■
job
titles.
The
e-business domain is creating
scores of new software
job-title
■
variants.
Human
resource departments seldom
have accurate software
employee
■
data.
Software
has many degrees besides
computer science or
software
■
engineering.
Some
software personnel prefer
not to be counted as
software
■
professionals.
The
last point was a surprise.
Many of the personnel who
write embed-
ded
software are electrical or
mechanical engineers by training.
Some
of
these engineers refuse to
call themselves programmers or
software
engineers,
even though their primary
work is actually that of
creating
software.
In
one company visited, several
hundred engineers were
developing
embedded
software for automotive
purposes, but were not
considered
to
be software workers by the
human resources group, since
their aca-
demic
degrees were in other forms
of engineering. When
interviewed,
many
of these engineers preferred to be
identified by their
academic
engineering
degrees, rather than by their
actual jobs. Seemingly,
soft-
ware
engineering is viewed as of somewhat
lower status than
electrical
engineering,
telecommunications engineering,
automotive engineering,
and
many others.
In
none of the companies and
government organizations surveyed
could
the
human resources groups
accurately enumerate the
numbers of soft-
ware
personnel employed or their
job titles. In several of
the companies
and
government agencies visited, the
human resources organizations
had
How
Software Personnel Learn New
Skills
235
no
job descriptions of the
specialist occupations now
part of the overall
software
community, or even of some
mainstream jobs such as
"software
engineer"
or "programmer."
Assume
you were interested in
learning the roles and
knowledge
required
to perform a certain job
such as "business analyst,"
and you
visit
ten companies who would
seem likely to employ such
specialists.
What
you might find as of 2009 is
the following:
Two
of the companies employ
business analysts, who use
similar
■
job
descriptions maintained by the
company human resource
orga-
nizations.
Three
of the companies employ
business analysts, but use
unique
■
local
jobs descriptions maintained
locally and unknown to the
human
resource
organizations.
Three
of the companies use the
title of "business analyst,"
but have
■
no
written job descriptions
either locally or with the
human resource
organizations.
Two
of the companies have people
who seem to work as business
ana-
■
lysts,
but have different job
titles such as "member of
the technical
staff"
or "advisory analyst." These
two have generic job
descriptions
used
by many other
specialties.
Given
the randomness of today's
situation, it is very difficult
to
ascertain
even basic facts such as
how many software employees
work
for
large organizations. Ascertaining
more granular data such as
the
exact
kind and number of
specialists employed is impossible as of
2009.
Ascertaining
the specific kinds of
knowledge and training these
special-
ists
need is not quite
impossible, but has
thousands of local
variations
and
no consistent overall
patterns.
The
responsibilities for defining
positions and recruiting
software
technical
personnel is often delegated to
the software executives
and
managers,
with the role of the human
resource organization being
sec-
ondary
and involving nothing more
than processing offers and
entering
new
employees into various
payroll and administrative
systems.
The
interviews carried out
during the study revealed
that statistical
analysis
of software occupations using
only employment data
provided
by
human resources organizations
would understate the numbers
of
software
professionals by perhaps 30 percent in
typical large
high-tech-
nology
companies. This is because specialized
positions such as
embed-
ded
software development, quality
assurance, technical writers,
and
testing
specialists may not be
included in counts of programmers
or
software
engineers.
Another
source of confusion is the
use of generic occupation
titles
such
as "member of the technical
staff," which can subsume
more than
236
Chapter
Four
20
occupational specialties that
include software, electrical
engineers,
telecommunications
engineers, avionics engineers,
and many other
technical
occupations such as business
analysts and quality
assurance
personnel.
In some companies, the title
"member of the technical
staff"
includes
hardware engineers, software
engineers, and support
personnel
such
as technical writers.
The
gaps and missing data
from human resource
organizations
explain
some of the ambiguity in
software population studies
published
by
journals and by government
organizations such as the
Bureau of
Labor
Statistics. While many
studies no doubt are
accurate in terms of
reporting
the information supplied by
human resources
organizations,
they
are not able to deal with
errors in the incoming raw
data itself.
Varieties
of Software Specialization
Circa
2009
The
total number of kinds of
software specialists exceeds
100 and
appears
to be growing. The overall
classes of specialization
observed
fall
into five discrete
domains:
Specialists
in specific tools, methods, or
languages such as Java
or
■
object-orientation
Specialists
in particular business, industry, or
technology domains
■
such
as banking
Specialists
in support tasks such as
testing, quality assurance,
or
■
documentation
Specialists
in managerial tasks such as
planning, estimating,
and
■
measurement
Specialists
in portions of software life
cycles such as development
or
■
maintenance
Table
4-4 lists the major
kinds of specialists observed in
the course
of
software demographic studies
and assessment studies among
large
corporations
and government
agencies.
Although
Table 4-4 includes some
115 job titles or forms of
special-
ization
(and is not even 100
percent complete), no company
yet studied
has
employed more than about 50
software specialties that
could be
correctly
identified. Organizations using
"member of the technical
staff"
as
a generic job title may
have other specialties that
were not identified
during
the author's studies.
An
additional recent title
found in more than a dozen
companies that
specialize
in software is that of "evangelist."
This is an intriguing
title
because
it demonstrates that software
technology selection tends to be
a
faith-based
activity rather than a
scientific or knowledge-based
activity.
How
Software Personnel Learn New
Skills
237
TABLE
4-4
Software
Specialization in Large Software
Organizations
1.
Accounting/financial
specialists
2.
Agile
development specialists
3.
Architects
(software/systems)
4.
Assessment
specialists
5.
Audit
specialists
6.
Baldrige
Award specialists
7.
Baselining
specialists
8.
Benchmarking
specialists
9.
Business
analysts
10.
Business
Process Reengineering (BPR)
specialists
11.
Capability
Maturity Model Integration (CMMI)
specialists
12.
Complexity
specialists
13.
Component
development specialists
14.
Configuration
control specialists
15.
Cost
estimating specialists
16.
Consulting
specialists (various
topics)
17.
Curriculum
planning specialists
18.
Customer
liaison specialists
19.
Customer
support specialists
20.
Database
administration specialists
21.
Data
center support
specialists
22.
Data
quality specialists
23.
Data
warehouse specialists
24.
Decision
support specialists
25.
Development
specialists
26.
Distributed
systems specialists
27.
Domain
specialists
28.
Education
specialists (various
topics)
29.
Embedded
systems specialists
30.
Encryption
specialists
31.
Enterprise
Resource Planning (ERP)
specialists
32.
Frame
specialists
33.
Expert-system
specialists
34.
Function
point specialists (COSMIC
certified)
35.
Function
point specialists (IFPUG
certified)
36.
Function
point specialists (Finnish
certified)
37.
Function
point specialists (Netherlands
certified)
38.
Generalists
(who perform a variety of
software-related tasks)
39.
Globalization
and nationalization
specialists
40.
Graphics
artist specialists
41.
Graphics
production specialists
42.
Graphical
user interface (GUI)
specialists
(Continued)
238
Chapter
Four
TABLE
4-4
Software
Specialization in Large Software
Organizations (continued)
43.
Hacking
specialists (for defensive
purposes)
44.
Human
factors specialists
45.
Information
engineering (IE)
specialists
46.
Instructors
(Management topics)
47.
Instructors
(Software topics)
48.
Instructors
(Quality topics)
49.
Instructors
(Security topics)
50.
Integration
specialists
51.
Internet
specialists
52.
ISO
certification and standards
specialists
53.
Joint
application design (JAD)
specialists
54.
Knowledge
specialists
55.
Library
specialists (for project
libraries)
56.
Litigation
support specialists
57.
Maintenance
specialists
58.
Marketing
specialists
59.
Member
of the technical staff
(multiple specialties)
60.
Measurement
specialists
61.
Metric
specialists
62.
Microcode
specialists
63.
Multimedia
specialists
64.
Nationalization
specialists
65.
Network
maintenance specialists
66.
Network
specialists (LAN)
67.
Network
specialists (WAN)
68.
Network
specialists (Wireless)
69.
Neural
net specialists
70.
Object-oriented
specialists
71.
Outsource
evaluation specialists
72.
Package
evaluation specialists
73.
Performance
specialists
74.
Personal
Software Process (PSP)
specialists
75.
Project
cost analysis
specialists
76.
Project
managers
77.
Project
planning specialists
78.
Process
improvement specialists
79.
Productivity
specialists
80.
Quality
assurance specialists
81.
Quality
function deployment (QFD)
specialists
82.
Quality
measurement specialists
83.
Rapid
application development (RAD)
specialists
84.
Rational
Unified Process (RUP)
specialists
How
Software Personnel Learn New
Skills
239
TABLE
4-4
Software
Specialization in Large Software
Organizations (continued)
85.
Research
fellow specialists
86.
Reliability
specialists
87.
Repository
specialists
88.
Reengineering
specialists
89.
Renovation
specialists
90.
Reverse
engineering specialists
91.
Reusability
specialists
92.
Risk
management specialists
93.
Sales
specialists
94.
Sales
support specialists
95.
Scope
managers
96.
Scrum
masters
97.
Security
specialists
98.
Service-oriented
architecture (SOA)
specialists
99.
Six
Sigma specialists
100.
Standards
specialists (ANSI, IEEE,
etc.)
101.
Statistical
specialists
102.
Systems
analysis specialists
103.
Systems
support specialists
104.
Technology
evaluation specialists
105.
Team
Software Process (TSP)
specialists
106.
Technical
translation specialists
107.
Technical
writing specialists
108.
Testing
specialists
109.
Test
library control
specialists
110.
Total
quality management (TQM)
specialists
111.
Value
analysis specialists
112.
Virtual
reality specialists
113.
Web
development specialists
114.
Web
page design
specialists
115.
Webmasters
The
context of the evangelist
title usually occurs with
fairly new tech-
nical
concepts such as "Java
evangelist" or "Linux evangelist."
The title
is
common enough so that a
Global Network of Technology
Evangelists
(GNoTE)
was formed a few years ago
by a Microsoft employee.
While
the evangelist job title
seems to be benign and is often
associated
with
interesting new concepts, it does
highlight some differences
between
software
engineering, medicine, and
older engineering fields in
terms of
how
ideas are examined and
tested prior to widespread
adoption. For
software,
charismatic leadership seems to be more
widely associated with
240
Chapter
Four
technology
selection and technology
transfer than empirical data
based
on
experiment or actual usage.
The
book Selling
the Dream by
Guy Kawasaki (formerly of
Apple) in
1991
may be the first published
use of "evangelist" in a software
context.
However,
in an interview, Kawasaki said
that Apple was already
using
"evangelist"
when he first arrived, so he
did not originate the
title. Even
so,
Apple is a likely choice as
the origin of this
interesting job
title.
A
few other software job
titles have occurred whose
origins are worth
noting.
The Six Sigma community has
adopted some of the
terminology
from
martial arts and uses
"yellow belt," "green belt,"
and "black belt"
to
indicate various degrees of
proficiency.
If
licensing and board
certification should come to
pass in the future
of
software engineering, it is interesting
to speculate how titles
such
as
"evangelist" and "black
belt" might be handled by
state licensing
examinations.
There
are interesting correlations
between specialization and
com-
pany
size, and also by
specialization and
industry.
In
general, large corporations with
more than 1000 total
software
workers
have the greatest numbers of
specialists. Small companies
with
fewer
than about 25 software
personnel may have no
specialists at all in
terms
of job titles, even though
there may be some
distribution of work
among
the software staff.
The
high-technology industries such as
telecommunications, defense,
and
aerospace employ more
specialists than do service
industries and
companies
in the retail, wholesale,
finance, and insurance
sectors.
The
software domain is expanding
rapidly in terms of
technologies.
The
time has arrived when one
person cannot know more
than a fraction
of
the information needed to do an
effective job in the
software industry.
When
this situation occurs,
specialization is the normal
response.
If
the 75 topics shown in Table
4-3 were combined with the
115 spe-
cialists
shown in Table 4-4, the
result would be a matrix with
some 8,625
cells.
Since each cell would
include its own unique
form of knowledge
and
information requirements, it can be seen
that keeping up to speed
in
modern software engineering
topics is a very difficult
problem.
If
a full spectrum of software
topics with about 1000
entries were com-
bined
with a full range of software
and business specialists with
about
250
occupations, the resulting
matrix would contain some
250,000 cells.
It
is apparent that unaided
human intelligence could not
encompass all
of
the knowledge in all of the
cells. Some form of
simplification and a
formal
taxonomy of knowledge branches
would be needed to keep
this
mass
of information in order. No doubt
intelligent agents and
expert
systems
would also be needed to
extract and analyze
knowledge for
specific
activities and
occupations.
How
Software Personnel Learn New
Skills
241
The
emergence of specialization has
occurred in most scholarly
dis-
ciplines
such as medicine and law. In
fact, specialization has
been a
common
phenomenon for science in
general. The specialties of
chem-
istry,
physics, biology, geology,
and so on are all less
than 200 years
old.
Prior to the development of
these specialized domains,
those with
scholarly
and scientific aspirations
were identified by generic
titles such
as
"natural philosopher."
If
licensing and certification of
software specialties should
become a
reality,
the presence of more than
115 different specialists will
present
considerable
difficulty. This is almost
three times the number of
medi-
cal
specialties that exist in
2009 and more than
four times the
number
of
legal specialists.
There
would seem to be a necessity to
prune and consolidate
some
forms
of specialization in order to bring
the total number of
specialists
into
line with law and medicine;
that is, fewer than 50
formal domains of
specialization
and perhaps 25 primary
specialties that have
significant
numbers
of practitioners.
It
is interesting that software
academic curricula appear to be
aimed
more
at generalists than at specialization.
For example, most of
the
quality
assurance personnel interviewed
learned the elements of
testing
and
quality control via
on-the-job training or in-house
courses rather
than
at the university
level.
Currently,
the explosive growth of the
World Wide Web and
the emer-
gence
of e-business as a major corporate
focus are expanding the
num-
bers
of job titles. For example,
the titles of "webmaster"
and "web page
developer"
appear to be less than ten
years old.
New
forms of specialization in the
software domain occur very
rap-
idly:
more than five new
kinds of specialists tend to
occur almost every
calendar
year. Chapter 3 of this book
deals with the topic of
software
certification
and specialization. Chapter 3
offers suggestions
about
the
minimum number of specialists that
might be needed. This is
an
attempt
to begin to identify the
correlation between software
occupa-
tions,
and the knowledge and
learning channels that will be
required
to
perform at professional
levels.
Approximate
Ratios of Specialists
to
General Software Personnel
One
of the major topics in the
domain of specialization is how
many spe-
cialists
of various kinds are needed
to support the overall work
of the soft-
ware
generalist community? Table 4-5
uses the term "generalist"
to refer to
employees
who perform software
development programming and
whose job
titles
are "programmer," "programmer/analyst,"
or "software engineer."
242
Chapter
Four
TABLE
4-5
Approximate
Ratios of Specialists to General Software
Populations
Specialist
Occupations
Specialists
to Generalists
Generalist
%
Maintenance
and enhancement
1
to 4
25.0%
specialists
Testing
specialists
1
to 8
12.5%
Systems
analysts
1
to 12
12.0%
Technical
writing specialists
1
to 15
6.6%
Business
analyst
1
to 20
5.0%
Quality
assurance specialists
1
to 25
4.0%
Database
administration specialists
1
to 25
4.0%
Configuration
control specialists
1
to 30
3.3%
Systems
software support
specialists
1
to 30
3.3%
Function
point counting
specialists
1
to 50
2.0%
Integration
specialists
1
to 50
2.0%
Measurement
specialists
1
to 50
2.0%
Network
specialists (local, wide
area)
1
to 50
2.0%
Performance
specialists
1
to 75
1.3%
Architecture
specialists
1
to 75
1.3%
Cost
estimating specialists
1
to 100
1.0%
Reusability
specialists
1
to 100
1.0%
Scope
managers
1
to 125
0.8%
Package
acquisition specialists
1
to 150
0.6%
Security
specialists
1
to 175
0.6%
Process
improvement specialists
1
to 200
0.5%
Education
and training
specialists
1
to 250
0.4%
Standards
specialists
1
to 300
0.3%
The
generalist category refers to
workers whose main role is
com-
puter
programming, although they
often do other work as well,
such
as
requirements analysis, design,
testing, and perhaps
creating user
documentation.
The
topic of specialization is only
just starting to be explored in
depth,
so
the following ratios have a
high margin of error.
Indeed, for some
kinds
of
specialization there are not
yet any normative ratios
available. Not all
of
the specialists shown here
occur within the same
company. They are
ranked
here in descending order.
The data in Table 4-5 comes
from large
corporations
that employ more than
1000 software personnel in
total.
Although
the purpose of the author's
study of software
specialization
was
to explore software occupations in
major companies, a
secondary
result
of the study was to
recommend some significant
improvements
in
the nature of the data
kept by human resource
organizations.
In
general, the demographic
data maintained by human
resource
organizations
is inadequate to predict long-range
trends or even
current
How
Software Personnel Learn New
Skills
243
employment
in software occupations. The
data appears to be so
incom-
plete
for software occupations as to
invalidate many demographic
studies
published
by government agencies and large
information companies
such
as
Gartner Group. If we do not
even know how many
software person-
nel
are employed today, it is
hard to discuss future needs in a
realistic
fashion.
Not
only is there a huge gap in
software demographic data,
but there
also
is an even larger gap in
what all these specialized
occupations
really
need to know to perform
their jobs with high levels
of professional
competence.
This gap affects university
curricula and graduate
schools,
and
also affects every single
learning channel.
The
author hypothesizes that
software has such a large
number of
informal
specialties because it is not yet a
true engineering
occupation.
Software
is slowly evolving from a
craft or art form, and
therefore has
not
yet achieved a stable point
in either the kinds of
knowledge that
are
needed or the kinds of
specialists that are
required to utilize
that
knowledge
in a professional manner.
Evaluating
Software Learning
Channels
Used
by Software Engineers
For
more than 50 years, major
software employers have
tried to keep
their
employees up to speed by offering
training and education
on
a
continuing basis. The
best-in-class software employers
typically have
a
pattern that resembles the
following:
1.
From four to ten weeks of
intensive training for new
technical
employees
2.
Annual in-house training
that runs from five to
ten days per
year
3.
From one to three external
commercial seminars per
year
4.
Monthly or at least quarterly
"webinars" on newer
topics
5.
A growing library of DVD training
courses for
self-study
6.
A significant library of technical
books and journals
7.
Tuition-refund programs for
managers and technical
staff
8.
Access to web-based technical
sites
9.
Subscriptions to software and
management journals such
as
CrossTalk
10.
Subscriptions to executive journals
such as CIO
11.
Subscriptions to information providers
such as Gartner Group
12.
Increasing use of webinars, e-books,
and web-based
information
244
Chapter
Four
Unfortunately,
the recession of 2009 is
likely to cause
significant
reductions
in many of these methods, as
companies scramble to
stay
solvent.
Not only are some of the
educational approaches likely to be
cut
back,
but also some of the
instructors may face
layoffs. Hiring itself
may
be
reduced to such low levels
that training needs are
also reduced.
Because
multiple channels of education
are available, it is
interest-
ing
to consider the topics for
which each kind of channel
is likely to
be
selected, and their
strengths and weaknesses.
The following edu-
cational
channels are ranked in terms
of their overall scores. In
the
following
ranking, "1" is best. There
are 17 channels shown in the
full
discussion.
Number
1: Web Browsing
Costs
= 1; Efficiency = 1; Effectiveness = 9;
Currency = 1; Overall
Score
= 3.00
Prognosis:
Expanding rapidly
Web
browsing using search
engines such as Google or
Ask is now
the
most rapid and
cost-effective method for
finding out about
almost
any
technical topic in the
world. By using a few choice
search phrases
such
as "software quality" or "software
cost estimating," within a
few
moments,
millions of pages of information will be
at hand.
The
downside of web browsing is
that the information is
likely to be
scattered,
chaotic, and a mixture of good
and bad information.
Even
so,
web browsing is now a
powerful research tool not
only for software
engineers,
but also for all
knowledge workers.
A
number of web portals
provide unusually large
numbers of links to
other
relevant sources of information.
One of these is the portal
of the
Information
Technology Metrics and
Productivity Institute
(ITMPI),
which
provides an extensive fan-out to
topics in areas such as
software
engineering,
quality assurance, project
management, and
maintenance
of
legacy applications
(www.ITMPI.org).
Among
academic links, one of the
most complete is that of
Dave
W.
Farthing of the University of
Glamorgan in the United
Kingdom (www
.comp.glam.ac.uk).
This interesting portal has
links to dozens of
project
management
sites and to the publishers
of scores of project manage-
ment
books.
A
third portal to useful
software topics is the web
site of the Software
Engineering
Institute (SEI), which is
somewhat slanted toward
the
government
and defense sectors.
However, it still covers a
host of inter-
esting
topics and provides many
useful links
(www.SEI.org).
However,
consolidation of information by topic,
cross indexing, and
knowledge
extraction remain somewhat
primitive in the
software
domain.
How
Software Personnel Learn New
Skills
245
Number
2: Webinars, Podcasts, and
E-Learning
Costs
= 3; Efficiency = 2; Effectiveness = 6;
Currency = 2; Overall
Score
= 3.25
Prognosis:
Expanding rapidly in usage;
improving in effectiveness
Using
computers for training has
long been possible, but
new technol-
ogies
are making rapid
improvements. Within a few
years, students may
be
able to take extensive
training in virtual environments
augmented
by
many new learning
methods.
Webinars
are a new kind of seminar
that is exploding in
popularity.
With
webinars, the speakers and
the attendees are located in
their own
offices
or homes, and all use
their own local computers. A
webinar host-
ing
company connects all of the
participants and also
provides back-up
support
in case any participant gets
disconnected. The hosting
company
also
provides evaluations of the
event.
Podcasts
are similar to webinars,
except that they may or
may not be
broadcast
live. If they are recorded,
then the information is
available on
demand
at any time. Podcasts can
also include quizzes and
tests, with
automatic
scoring and rerouting to
different parts of the
material based
on
student answers.
In
webinars, the primary
speaker and also an MC
communicate
with
the attendees by phone, but
PowerPoint slides or other
computer-
generated
information appears on the
attendees' screens, under
the
control
of the primary speaker or
the MC.
Because
no travel is involved, the
efficiency and cost scores of
webi-
nars
are quite good. The currency
score is also quite good. As of
2008,
the
effectiveness was only
mid-range but increasing
rapidly. Webinars
at
the moment are primarily
used for single-purpose
presentations of
up
to about 90 minutes in
duration.
Webinars
and podcasts have expanded
in numbers so rapidly that
on
any
given day, perhaps 50 such
webinars are being offered
concurrently
by
various organizations. It is almost
impossible to keep track of
the num-
bers
of webinars. What would be of
value to the industry is a
nonprofit
catalog
that would allow companies
and universities to post the
schedules
and
abstracts of all webinars
for at least two months in
advance.
In
the future, it can be
expected that because of the
cost-effectiveness
of
the webinar and podcast
approach, entire courses of
perhaps 10 to
20
hours in duration will migrate to
the webinar method. At some
point,
virtual
environments using avatars will
join the mix, and
then e-learn-
ing
will have a good chance of
becoming more effective than
any other
form
of training in human
history.
As
of 2009, the technology of
webinars is still immature.
Disconnects,
low
volume, and intermittent
telephone problems are not
uncommon.
The
VOIP form of telephone calls,
for example, often does
not work at
all.
No doubt these issues will be
resolved over the next
year or two.
246
Chapter
Four
It
is theoretically possible to envision
entire courses taught on a
global
basis
without the students and
instructors ever meeting
face to face, by
using
webinars and computer
communications exclusively.
It
is only a short step from
today's webinars to using a
virtual class-
room
where students and
instructors can see each
other, either as
abstract
avatars or by using actual
images of real
people.
Some
universities such as MIT have
already integrated video and
audio
connections
into lecture halls, so that
remote students can
participate in
live
classes. It is only a small step to
extend this technology to
hand-held
devices
or to record the lectures
and discussions for later
use.
In
addition to merely having
webinars and then saying
goodbye, astute
companies
will note that the
connections to several hundred
possible
customers
might be a good marketing
opportunity as well.
Attendees
can
register with the instructor or
the company sponsoring the
event
to
receive additional
information.
Indeed,
it would also be possible to
invite webinar attendees to
partici-
pate
in other forms of information
transfer such as wiki sites.
There are
also
blogs and Twitter sites,
which are essentially
channels for personal
views
and opinions.
The
long-range direction in online
learning is positive. More
and more
information
will be available, and more
and more personnel will be
able
to
communicate and share ideas
without travel or face-to-face
contact
in
real life.
Eventually,
some combination of avatars,
virtual reality, and
improved
methods
of using intelligent agents to
extract and consolidate
knowledge
should
lead to the ability to offer
entire educational curricula
from high-
school
through graduate school via
online and web-accessible
methods.
No
doubt wireless technologies will
also be involved, and
information
will
also become available on
hand-held devices such as
smart phones.
Number
3: Electronic Books
(e-books)
Costs
= 4; Efficiency = 3; Effectiveness = 3;
Currency = 4; Overall
Score
= 3.50
Prognosis:
Expanding in usage; improving in
effectiveness; declining
in
costs
Electronic
books, or e-books, have been on the
periphery of education
and
entertainment for more than
20 years. In the past,
electronic books
were
characterized by dim screens, awkward
interfaces, slow
downloads,
limited
content, and general
inconvenience compared with paper books,
or
even
compared with normal computers
whose screens are easier to
see.
There
have long been organizations
such as Project Gutenberg
that
make
books available in HTML, PDA, Word, or
other web-accessible forms.
This
trend is now exploding as Google,
Microsoft, and other major
players
are
attempting to use automated
text-conversion tools to convert
almost
How
Software Personnel Learn New
Skills
247
100
percent of hard-copy books
into web-accessible formats.
Needless to
say,
these attempts have raised
serious issues on copyrights,
intellectual
property,
and compensation for authors
and copyright
holders.
Also,
given the huge volumes of
online text now available,
there are
also
technical issues that need
to be improved such as
cross-references,
abstracts,
indexes, inclusive catalogs, and so
on. However, the trend
toward
web-accessible
text is expanding rapidly
and will continue to do
so.
Interestingly,
the legal profession seems
to be somewhat ahead of
the
software
profession in terms of concentrating
knowledge, cross-refer-
encing
it, and making information
accessible to professionals who
need
it.
The Lexis-Nexis company, for
example, has access to more
than 5
million
documents from perhaps
30,000 sources. There is no
equiva-
lent
organization that has such a
well-organized collection of
software
information.
More
recently, starting in 2007
and 2008, Amazon and
Sony began to
change
the equation for electronic
books with new models that
solved
most
of the problems of older
e-books and simultaneously
introduced
powerful
new features.
The
new Amazon Kindle and
the Sony PR-505 have at
least an outside
chance
at transforming not only
software learning, but also
learning in
all
other scientific disciplines.
The best features of these
new devices
include
excellent screen clarity,
very fast downloads
(including wireless
connections),
long battery life, and
much-improved interfaces. In
addi-
tion,
they have some features
that are even superior to
regular paper
books.
These include the ability to
keep permanent annotations, to
skip
from
book to book on the same
topic, and to get frequent
updates as new
materials
become available from
publishers.
Using
e-books as software learning tools, it
would be easy to select
and
download
the top ten books on
software project management,
the top ten
books
on software quality, the top
ten books on software
maintenance,
the
top ten books on software
cost estimating, and the
top ten books
on
software development, and
have all of them present
and available
simultaneously.
For
colleges and universities, it
would easily be possible to
download
every
book for every course
each semester and have
them all available
concurrently.
The
current models of the Sony
and Kindle devices are
already quite
good,
but as with all new
products, improvements can be
expected to
appear
rapidly over the next
few years. Within perhaps
five years, it
can
be anticipated that e-books will be
making a substantial dent
in
the
market for conventional
paper books. Some features
to anticipate
include
the ability to deal with
graphics and animation
downloads;
e-book
subscriptions from major
technical journals; and
perhaps inclu-
sions
of links to relevant web
sites.
248
Chapter
Four
Number
4: In-House Education
Costs
= 9; Efficiency = 4; Effectiveness = 1;
Currency = 7; Overall
Score
= 5.25
Prognosis:
Effective, but declining due
to recession
Due
to the economic crisis and
recession of 2008 and 2009,
in-house
training
is likely to diminish over
the next few years
due to layoffs and
cost-cutting
on the part of major
corporations, to say nothing of
some
major
corporations filing for
bankruptcy and going out of
business.
In-house
education was number one in
overall effectiveness
from
1985,
when our surveys started,
through the end of 2007,
before the
financial
crisis and the recession.
In-house education still
ranks as
number
1 in effectiveness and is number 4 in
efficiency. That
means
that
a great deal of information
can be transmitted to students
with
relative
ease and speed.
However,
this channel is only
available for employees of
fairly large
corporations
such as IBM, Microsoft, Google,
and the like. The
author
estimates
that roughly half of the
U.S. software personnel
currently
work
in organizations large enough to
have in-house training,
that
is,
just over 1.6 million
U.S. software professionals
have access to this
channel.
More
recent studies in 2001,
2002, 2003, and 2004
indicated a decline
in
this channel. The economic
downturn of 2008 and 2009
caused some
in-house
training to be cancelled, due in
part to the instructors
being
laid
off or taking early
retirement.
In
addition, the reduction in
entry-level hiring has
reduced the need
for
education of recent college graduates
who are joining large
companies
in
junior positions. In-house
education is likely to continue to be
dimin-
ished
through 2010 as the
recession lengthens and deepens. If
other
channels
such as virtual education
and webinars continue to
expand,
the
high-water mark for in-house
education may have
passed.
Some
large software employers
such as Accenture, AT&T, EDS,
IBM,
Microsoft,
and many others have
in-house curricula for
software pro-
fessionals
and managers that are
more diverse and current
than most
universities
in the United States. A
former chairman of ITT
observed
that
the Fortune 500 companies in
the United States have
more soft-
ware
instructors than all
universities put together.
Employees within
large
companies have more student
days of in-house training
than all
other
channels combined.
The
in-house courses within
major corporations are
usually very con-
centrated
and very intensive. An
average course would run
from two to
three
business days, starting at
about 8:30 in the morning
and finishing
at
about 4:30 in the afternoon.
However, to optimize student
availability,
some
courses continue on into the
evening.
How
Software Personnel Learn New
Skills
249
From
observations of the curricula
and attendance at some of
the
courses,
the in-house education
facilities of large corporations
are among
the
most effective ways of
learning current
technologies.
Another
advantage of in-house training is
the ease of getting
approval
to
take the courses. It
requires far less paperwork
to gain approval for
a
corporation's
in-house training than it
does to deal with a
tuition-refund
program
for university
courses.
As
this is written in 2009, it is
uncertain if in-house education
will
regain
the importance that it had
during the 1980s and
1990s. The eco-
nomic
future is too uncertain to
make long-range
predictions.
One
interesting finding about
in-house education is the
impact on
software
development productivity. Companies
that provide ten days
of
training
per year for software
engineers have higher annual
productiv-
ity
rates than companies that
provide zero days of
training, even though
ten
working days are set
aside for courses. The
value of the training
appears
to pay off in better
performance.
Although
the information was not
explored in depth and there
may
not
be a provable relationship, it was
interesting that companies
with
ten
days of training per year
had lower rates of voluntary
attrition
than
companies with zero days of
training. Apparently training
has a
beneficial
impact on job
satisfaction.
Number
5: Self-Study Using CD-ROMs or
DVDs
Costs
= 4; Efficiency = 3; Effectiveness = 7;
Currency = 10;
Overall
Score
= 6.00
Prognosis:
Improving slowly in usage; improving
faster in effectiveness
The
technology of self-study courses is on
the verge of being
trans-
formed
by new CD-ROM and DVD
approaches. It may also be
trans-
formed
by e-books. The older form
of self-study courses consisted
of
tutorial
materials, exercises, and
quizzes often assembled into
loose-
leaf
notebooks. The CD-ROM or DVD
varieties include all of the
prior
approaches,
but can also feature
hypertext links and a huge
variety of
supplemental
information.
The
newest form of DVD training
actually allows new content
to be
added
to the course while it is in
session. This method is so
new that
little
empirical data is available.
When it becomes widespread,
the
"currency"
score should climb
rapidly.
The
prospect of fully interactive
learning via DVDs is an
exciting one,
since
graphics, animation, voices,
and other topics can
now be included.
However,
the costs and skill
required to put together an
effective
DVD
course are significantly
greater than those needed
for traditional
workbooks.
The costs for the
students are not
particularly high, but
the
production
costs are high.
250
Chapter
Four
Until
about 1995, the number of
CD-ROM drives in the hands
of
potential
students was below critical
mass levels, and many of
these
were
older single-speed drives with
sluggish access times and
jerky
animation.
However,
by 2009 the author estimates
that more than 99
percent
of
software personnel have DVD or
CD-ROM drives on their
office
computers.
(Ultralight net-book devices
weighing less than 3
pounds
often
lack drives for DVDs
and CDs. Also, some
organizations that do
highly
classified work prohibit all
forms of removable media on
the
premises.)
As
of early 2009, the author
estimates that more than
250,000 soft-
ware
personnel have taken
self-study courses via
CD-ROMs or DVDs.
Probably
fewer than 125 such
courses currently are
available due to the
difficulty
and costs of
production.
As
the 21st century advances,
it is possible that self-study
courses
using
CD-ROM and DVD approaches will
expand in numbers and
improve
in effectiveness. Giving this
self-study channel a boost
are
lightweight
portable CD-ROM or DVD viewers in
notebook computers
that
can be carried and used on
airplanes. The same is true
of electronic
books.
Even
newer technologies will allow
the equivalent to DVDs to
be
downloaded
not only to computers, but
also directly to television
sets,
iPods,
smart phones, and other
hand-held devices.
The
impact of the new Blu-Ray
format can potentially
improve the
interactive
capabilities of DVD education, but so
far this idea
remains
largely
unexploited by educational companies
due to the fairly
high
costs
of Blu-Ray production.
Number
6: Commercial Education
Costs
= 14; Efficiency = 5; Effectiveness = 4;
Currency = 6; Overall
Score
= 7.25
Prognosis:
Declining due to
recession
The
economic crisis of 2008 and
2009 and the continuing
recession
are
having a depressing impact on
commercial education.
Numbers
of
students are in decline, and
air-travel is becoming more
and more
expensive.
No doubt lower-cost methods
such as e-learning will start
to
supplant
normal commercial
education.
For
many years, commercial
education ranked number two
in overall
effectiveness.
There is a significant subindustry of
commercial educa-
tion
providers for the software
domain. In 2009, it is now in
fifth place,
but
still quite
effective.
Companies
within this subindustry include
Computer Aid (CAI),
Construx,
Coverity, Cutter, Data-Tech,
Digital Consulting Inc.
(DCI),
Delphi,
FasTrak, the Quality
Assurance Institute (QAI),
Learning Tree,
How
Software Personnel Learn New
Skills
251
Technology
Transfer Institute (TTI),
and many others who
teach on a
national
or even international level.
These companies provide
education
in
both technical and
managerial topics.
Operating
at a higher level are
specialized information
companies
such
as Gartner Group and
Forrester Research. These
companies both
provide
standard reports and do
customized research for
clients. The
main
client bases of such high-end
companies are executives and
top
management.
In keeping with these target
markets, the fees and
costs
of
such research are high
enough so that they appeal
primarily to major
corporations
and some large government
software executives, such
as
the
CIOs of states and major
cities.
Nonprofit
organizations also offer fee-based
training. For
example,
the
nonprofit International Function
Point Users Group
(IFPUG)
offers
training and workshops in
function point topics. The
Project
Management
Institute (PMI) also offers
commercial education, as
does
the
Software Engineering Institute
(SEI). The International
Software
Benchmarking
Standards Group (ISBSG) also
offers training in
esti-
mation
and benchmark topics, and
publishes books and
monographs
on
both topics.
Hundreds
of local companies and
thousands of individual
consultants
teach
courses on a contract basis
within companies and
sometimes as
public
courses as well. Many
courses are offered by
nonprofit organiza-
tions
such as the ACM (Association
for Computing Machinery),
DPMA
(Data
Processing Management Association), IEEE,
IFPUG, SEI, and
scores
of others.
The
author estimates that about
500,000 U.S. software
personnel
take
at least one commercial software
seminar in the course of a
normal
business
year. However, from 2009
onward, there will be a sharp
decline
due
to the global
recession.
Since
the major commercial
educators run their training
as a busi-
ness,
they have to be pretty good
to survive. A primary selling
point of
the
larger commercial education
companies is to use famous
people as
instructors
on key topics. For example,
such well-known industry
figures
as
Bill Curtis, Chris Date, Tom
DeMarco, Tim Lister, Howard
Rubin, Ed
Yourdon,
Watts Humphrey, Dr. Gerry
Weinberg, Dr. James Martin,
and
Dr.
Carma McClure all offer
seminars through commercial
education
companies.
A
typical commercial seminar will
run for two days,
cost about $895
to
enroll, and attract 50
students. A minor but
popular aspect of
com-
mercial
education is the selection of
very good physical
facilities. Many
commercial
software courses are taught
at resort hotels in areas
such
as
Aspen, Orlando, Phoenix, or
San Francisco.
However,
the more recent recession of
2009 (and beyond) needs
to
be
considered. For several
years, business activities
involving travel to
252
Chapter
Four
other
cities were reduced somewhat
and have never fully
recovered. As
the
recession grows more
widespread, even further
reductions can be
anticipated.
The
main strengths of commercial
education remain and are
twofold:
Very
current topics are the
most salable.
■
Top-notch
instructors are the most
salable.
■
This
means that commercial
seminars are likely to cover
material
that
is not available from a
university or even from an
in-house curricu-
lum.
It also means that students
get a chance to interact with
some of
the
leading thinkers of the
software domain. For
example, in 2009, the
commercial
education channel is much
more likely than most to
cover
current
hot topics such as Agile
development, Six Sigma for
software,
or
web-based topics.
The
commercial education market
has been most widely
utilized by
companies
in the top quartile of
software productivity and with
qual-
ity
levels as noted during SPR
assessment and benchmark
studies. In
other
words, companies that want
top performance from their
manag-
ers
and technical workers
realize that they need to
bring in top-gun
educators.
Number
7: Vendor Education
Costs
= 13; Efficiency = 6; Effectiveness = 5;
Currency = 5; Overall
Score
= 7.25
Prognosis:
Declining due to
recession
Vendor
education was formerly
ranked number three in
overall effec-
tiveness
and is now number six.
This is not because of slipping
quality
on
the part of vendors, but
because of the rapid emergence of
webinars
and
new DVD technologies.
Vendor-supplied
education has been a staple
of the software world
for
almost
50 years. Because vendor
education in tools such as
spreadsheets
and
word processors are taken by
non-software personnel, the
total
number
of students is enormous. However,
within the software
domain,
the
author estimates that about
500,000 software personnel will
take
at
least one vendor course in a
normal business year.
Vendor
education used to be free in
the days when hardware
and
software
were still bundled together.
Some vendor education is
still
free
today, when used as part of
marketing programs. Normally,
vendor
education
is sold to clients at the
same time that they
buy the tools or
packages
for which training is
needed.
Almost
every large commercial
software application is
complicated.
Even
basic applications such as
word processors and
spreadsheets
How
Software Personnel Learn New
Skills
253
now
have so many features that
they are not easily
mastered.
Thus
large software companies
such as Artemis, IBM, Oracle,
and
Computer
Associates offer fee-based
education as part of their
service
offerings.
The
size, feature set, and
complexity of software products
mean that
every
major vendor now has
some kind of education
offering available.
For
really popular tools in the
class of Microsoft Word,
WordPerfect,
Excel,
Artemis Views, KnowledgePlan,
and so on, there may be
local
consultants
and even high-school and
college courses that
supplement
vendor-supplied
education.
For
very large applications such
as ERP packages from Oracle
and
SAP,
it is hardly possible to learn to
use the software without
extensive
education
either from the vendors, or
from specialized education
com-
panies
that support these
packages.
Vendor
education is a mainstay for
complicated topics such as
learn-
ing
how to deploy and utilize
enterprise resource planning
packages by
vendors
such as BAAN, Oracle,
PeopleSoft, SAP, and
others.
Vendor-provided
education runs the gamut
from very good to
very
poor,
but on the whole does a
creditable job of getting
clients up and
running
on the applications in
question.
Vendor
education is usually a lot
cheaper than commercial
education,
and
the effective costs are
sometimes less than $100
per student day.
Vendor
education is often offered on a
company's own premises, so it
is
generally
very convenient. On the
other hand, you don't
expect big name
instructors
to constitute the faculty of
vendor training
either.
However,
newer methods such as
e-learning are even cheaper
and
have
the advantage that courses
can be taken 24 hours a day
at the
convenience
of the students. Therefore,
vendor education will decline
in
future
years, and e-learning
methods will become the
major vehicle.
Further,
as the recession deepens and
lengthens, instructors are
usually
among
the first to lose their jobs
due to cost-cutting measures.
Therefore,
vendor
education with live instructors is
entering a period of
decline.
As
software packages continue to
evolve new features and
more com-
plexity,
vendor-supplied education will remain a
stable feature of the
software
world well into the
next century, but moving
from live instruc-
tors
toward perhaps e-learning or
even using virtual
environments with
avatars.
Vendor
education has also been
negatively affected by the
economic
downturn
circa 20082009. Some
vendors lost money due to
reduced
sales,
so course offerings were
naturally reduced as well.
Other vendors
were
acquired, and some went
out of business. In spite of
the reduc-
tion
in courses and instructors,
vendor-supplied education remains
an
important
channel of instruction, even
though the numbers of
vendors,
students,
and courses are in
decline.
254
Chapter
Four
Number
8: Live Conferences
Costs
= 12; Efficiency = 8; Effectiveness = 8;
Currency = 5; Overall
Score
= 8.25
Prognosis:
Declining due to
recession
Unfortunately,
the financial crisis and
recession of 2008 and
2009
(and
beyond) are causing a severe
decline in live conferences,
and this
trend
may continue indefinitely.
The author estimates that
attendance
at
live conferences in 2009 will
probably be about 30 percent
less than
the
same events in 2006, due to
layoffs, cost cutting, and
other financial
issues.
Software-related
conferences rank number
eight in effectiveness in
teaching
new skills. However, they
would rank number one in
highlight-
ing
interesting new technologies.
Unfortunately, the combined
impact
of
the September 11 disaster
and the economic downturn
since 2000
caused
many companies to cut back
corporate travel, which
affected
conference
attendance.
The
author estimates that
attendance at software conferences in
2003
was
probably 15 percent below
what might have been
the norm in 1999.
However,
2006 and 2007 saw
increases in conference attendance.
The
recession
of 2008 is still too new to
have impacted many
conferences as
this
is written, but no doubt
conference attendance will decline
before
the
end of 2008 and perhaps in
2009 based on the poor
results of the
U.S.
and world economies.
Even
so, there are major
software conferences every
month of the
year,
and some months may
have multiple events.
Conferences are
sponsored
both by nonprofit organizations,
such as the U.S. Air
Force
STSC
(Software Technology Support
Center), IEEE, IFPUG, GUIDE
(Global
Uniform Interoperable Data
Exchange), SHARE (Software-
Hardware
Asset Reuse Enterprise), or
ASQC (American Society
for
Quality
Control), and also by
commercial conference companies
such
as
Computer Aid (CAI), Cutter,
Digital Consulting Inc.
(DCI), Software
Productivity
Group (SPG), or Technology
Transfer Institute (TTI).
There
are
also high-end conferences
for executives sponsored
both by research
companies
such as Gartner Group, and
also by academia such as
the
Harvard
Business School or the Sloan
School.
In
addition, there are
vendor-hosted conferences for
users by compa-
nies
such as Apple, Microsoft,
Computer Associates, Oracle,
CADRE,
COGNOS,
SAS, SAP, and the
like. These are often
annual events that
sometimes
draw several thousand
participants.
The
author estimates that about
250,000 U.S. software
professionals
attended
at least one conference in 2007,
and some professionals
may
have
attended multiple conferences.
The year 2008 will probably
see a
drop
due to the declining status
of the U.S. economy.
How
Software Personnel Learn New
Skills
255
Software
conferences are where the
cutting edge of software
technolo-
gies
are explained and sometimes
revealed for the very
first time. Many
conferences
also feature training
seminars before or after the
main
event,
and hence overlap commercial
education channels and
vendor
education
channels.
However,
most of us go to conferences to find
out what is new
and
exciting
in our chosen domains. The
mix of speakers and topics at
con-
ferences
can range from brilliant to
boring. Conferences are
arranged
with
many concurrent sessions so
that it is easy to leave a
boring session
and
find a better one.
Most
conferences combine keynote
speeches to the whole
audience
with
parallel sessions that cover
more specialized topics. A
typical
U.S.
software conference will run for
three days, attract from
200
to
more than 3000 attendees,
and feature from 20 to more
than 75
speakers.
In
addition to primary speakers
and seminar leaders, many
confer-
ences
also have "vendor
showcases," where companies in
related busi-
nesses
can display their goods and
perhaps make sales or at
least
contacts.
The fees that vendors pay
for participating in such
conferences
defray
the administrative costs and
sometimes even allow
conferences
to
be run as profit-making
opportunities.
On
the whole, conferences do a
good job in their primary
role of expos-
ing
leading-edge technologies to the
audience. You seldom come
away
from
a conference with an in-depth working
knowledge of a new
tech-
nology.
But you often come away with
a solid understanding of
what
technologies
merit closer
analysis.
Within
recent years, several
conferences have become so
large that
the
proceedings are now starting
to be released on CD-ROM rather
than
in
traditional notebooks or bound
hard copies.
In
the future, it is possible
that live conferences will
merge with webi-
nars
and with DVD production. It is
technically possible to have
simul-
taneous
live events and webinars so
that the speakers are seen
by a
live
audience and a remote
audience at the same time.
It would also be
possible
to record the proceedings
for later offline use or
for downloading
to
computers and hand-held
devices.
If
the economy continues to
decline and live conferences
lose attend-
ees,
as happened during the
dot-com crash and earlier
recessions,
it
may be that webinars will become
effective substitutes for
live
instruction.
Number
9: Wiki Sites
Costs
= 2; Efficiency = 9; Effectiveness = 16;
Currency = 3; Overall
Score
= 7.50
Prognosis:
Increasing rapidly in usage;
increasing in effectiveness
256
Chapter
Four
The
word "wiki" means "fast" in
Hawaiian. The term has
started to be
applied
to web sites that allow
multiple people to participate
toward
common
goals.
Wiki
sites are making their
first appearance in this
list of educational
channels.
This is a new and emerging
technology that allows many
par-
ticipants
to collaborate on a common theme or
common undertaking.
The
most famous example of a wiki
site is Wikipedia, which
has
become
the largest encyclopedia in
the world. Each entry or
article in
Wikipedia
is written by a volunteer. Readers or
other volunteers can
modify
the entry and input
their own thoughts and
ideas.
At
first glance, wikis would
seem to lead to chaotic and
perhaps offen-
sive
final products. But many
wikis, including Wikipedia,
are temperate
in
tone and rich in content.
This is partly because readers
can immedi-
ately
delete offensive
comments.
Some
wiki sites try to screen and
monitor inputs and changes
before
posting
them; others simply allow
the material to be self-corrected
by
other
readers. Both methods seem
to be effective.
What
wiki sites do best is allow
people with common interests
to
quickly
produce documents or web
sites that contain their
accumulated
and
shared wisdom. Thus wiki
sites would be very
appropriate for
techni-
cal
issues such as Agile
development, software quality,
software security,
testing,
maintenance, and other
topics where there are
many practitio-
ners
with a need to share new
data and experiences.
Number
10: Simulation Web
Sites
Costs
= 8; Efficiency = 7; Effectiveness = 13;
Currency = 8; Overall
Score
= 9.00
Prognosis:
Increasing rapidly in usage;
increasing rapidly in
effectiveness
Simulators
for teaching mechanical
skills such as how to fly an
air-
plane
or how to assemble a machine
gun have been used by
commercial
and
military organizations for
many years.
But
in recent years, new forms
of broader simulation sites
have
emerged,
such as Second Life, which
is a kind of virtual world
where
avatars
(symbolic surrogates for
computer users) wander
through a
virtual
landscape and interact with
other avatars and with
resources
such
as text documents and
graphics.
This
new form of virtual reality
has other purposes besides
training
and
education, but it is starting to
move in the direction of
education.
For
example, it would be possible to
teach formal design and
code inspec-
tions
using avatars in a virtual
room. Not only could
inspections be
taught
via simulation, but indeed
they could be performed as
well.
Many
other new technologies could
also be taught in the same
fashion.
Currently,
the costs of producing
tutorial materials are
fairly high and
How
Software Personnel Learn New
Skills
257
the
process is complex, but both of
these issues should be
eliminated
fairly
soon.
Virtual
reality in simulated worlds is
likely to become a
fast-moving
educational
method within the next
five years. It is theoretically
pos-
sible
to create a virtual "university" in
which avatars for both
students
and
professors will interact exclusively in
online environments.
Although
simulation and virtual
worlds are not in the
mainstream
of
education as of 2009, the
odds are good that
they will rise to the
top
of
the list within ten
years.
Number
11: Software
Journals
Costs
= 7; Efficiency = 11; Effectiveness =
14; Currency = 9;
Overall
Score
= 10.25
Prognosis:
Declining in numbers due to recession;
stable in effectiveness;
migrating
rapidly from paper to online
publication formats;
some
migration
to e-book formats
Now
that journals are available
for the Amazon Kindle
and other e-
book
platforms, it can be anticipated
that e-journals will begin to
replace
paper
journals due to economic
reasons. Electronic publishing is
much
quicker
and cheaper than paper
publishing, and far more
friendly to
the
environment. Further, electronic
journals are distributed
within
minutes,
so there is no delay due to
surface mailing.
Conventional
software journals tend to
rank 14th in
transferring
skills.
The main strength of
software journals is in popularizing
con-
cepts
and presenting the surfaces
of technologies rather than
the depths
of
technologies.
There
are scores of software-related journals.
Some are commercial
journals
published for profit and
depending upon advertising
revenues.
Many
others are produced by
nonprofit professional associations.
For
example,
IEEE
Computer is
produced by a nonprofit association as
are
the
other IEEE journals.
A
literate and very
broad-based software journal is
published by the
U.S.
Air Force Software Technology
Support Center (STSC). This
jour-
nal,
CrossTalk,
has
become one of the few
software journals to
strive
for
depth in articles, rather
than shallow coverage
consisting primarily
of
short quotes from industry
figures.
Another
interesting journal is the
Cutter
Journal, originally
founded
by
software guru Ed Yourdon
under the name of American
Programmer.
As
with the CrossTalk
journal,
the Cutter
Journal publishes
full-length
technical
articles.
There
are so many journals that a
number of them are quite
special-
ized
and occupy fairly narrow
niches. An example of one of these
spe-
cialized
niche journals is Metric
Views, the
journal of the
International
Function
Point Users Group.
258
Chapter
Four
Many
software journals are
available to software professionals
for
free,
providing the potential
subscribers bother to fill
out a question-
naire
(and have some
responsibility for acquiring
tools or software).
On
the other hand, some
journals have annual
subscriptions that
can
exceed
$1000.
The
software professional ends up with
subscriptions to quite a
few
journals,
even though few may
actually be read. SPR
estimates that
software
technical personnel subscribe to or
have access to about
four
journals
per month on average.
Comparatively
few software journals
contain articles of lasting
tech-
nical
value. When journals do
discuss technologies, it is seldom an
in-
depth
treatment. This is understandable,
given that neither
journalists
nor
professional contributors can
spare more than a minimum
amount
of
time to assemble information
before writing
articles.
The
best articles in terms of
technology transfer are
those on spe-
cific
topics, often in special
issues. For example, several
journals have
had
special issues on topics
such as quality assurance,
measurement
and
metrics, software maintenance,
object-oriented approaches,
change
management,
and the like.
The
least effective articles are
the typical broad-brush
surveys pro-
duced
by journalists that consist
largely of short quotes from
20 to 50
different
people. This approach can
seldom do more than bring a
topic
into
public view.
An
interesting new trend is to
publish online journals as
well as paper
journals.
Among the best and
most interesting of the new
online jour-
nals
is the Information
Technology Metrics and
Productivity Institute
(ITMPI)
Journal.
The
web site for this
journal is www.ITMPI.org.
This
journal
is published by Computer Aid and
includes interviews with
famous
software personages such as
Watts Humphrey and Ed
Yourdon,
technical
articles, and citations to
hundreds of relevant web
sites.
As
online communication becomes the
pervasive medium for
informa-
tion
exchange, both software
journals and other
print-based information
media
are moving to create
parallel online
versions.
Number
12: Self-Study Using Books,
E-Books, and
Training
Material
Costs
= 5; Efficiency = 13; Effectiveness =
12; Currency = 11;
Overall
Score
= 10.25
Prognosis:
Decreasing in numbers due to
recession; stable in
effectiveness;
rapidly
migrating away from paper
documents toward DVD or
online
information
The
self-study market using
books ranks number 11 in
overall effec-
tiveness.
The market for traditional
self-study courses is not
fast grow-
ing,
but has been relatively
solid and stable for 50
years. The author
How
Software Personnel Learn New
Skills
259
estimates
that a total of about 50,000
software professionals will
take
some
kind of self-study course
over a normal business
year.
The
usual format of self-study
material is a loose-leaf
notebook.
This
form of self-study material
can be effective for those
who are self-
motivated,
but tends to be bland and
frequently boring. Some
self-study
courses
also include video- or
audiocassettes.
The
most common topics for
self-study are those that
have rela-
tively
large market potentials.
This means that basic
subjects such as
"Introduction
to COBOL Programming" are
most likely to be found
in
self-study
form.
Really
new technologies are seldom
found as self-study
courses,
because
of the time required to
produce the materials and
the uncer-
tainty
of the market. There are
always exceptions to rules,
and fairly
new
topics such as ISO 9000-9004
standards have already
arrived in
self-study
form due to the obviously
large market.
In
theory, electronic books on
hand-held devices would seem
to be a
useful
medium for studies of any
kind. However, among the
author's
clients,
no formal course materials
were produced for such
devices as
of
2009. We did not encounter
enough students using these
devices to
form
an opinion. Overall, usage of
hand-held reading devices is
still at
a
very early stage of
deployment, although they
show great potential
for
the future.
From
2006 through 2009, there
has been an increase in
books and
video
materials available on hand-held
devices such as PDAs and
Apple
iPods.
Some educational material is
available, but the volume is
too
small
to form a solid opinion of
effectiveness.
The
new Amazon and Sony
hand-held reading devices of
2008 are
more
sophisticated than their
predecessors. If these devices
succeed,
then
it is a sign that electronic
reading devices are about to
enter the
mainstream.
The fact that one device
can hold many books will
certainly
prove
advantageous to travelers and
even to sales
personnel.
Number
13: On-the-Job
Training
Costs
= 11; Efficiency = 10;
Effectiveness = 10; Currency =
12; Overall
Score
= 10.75
Prognosis:
Declining in numbers due to
the recession
On-the-job
training has been most
often utilized either for
special
techniques
developed and used within
companies, or for basic
skills
that
are seldom taught at
universities, such as formal
design and code
inspections.
With
on-the-job training, new
hires are instructed in
selected meth-
ods
by experienced users of the
method. The most effective
kinds of
on-the-job
training are topics where
performing a task is the
best way
to
learn the tasks. For
example, formal inspections,
quality function
260
Chapter
Four
deployment
(QFD), learning to use
proprietary specification
methods,
and
learning to use programming
languages that are unique to
specific
companies
are good choices for
in-house training.
The
downside of on-the-job training is
that the experts who
are doing
the
training need to take time
away from their own
work. This is why
the
costs are fairly high.
Also, it sometimes happens
that what the
older
employees
teach the new employees
may be somewhat out of
date.
As
the recession lengthens and
deepens, on-the-job training will
prob-
ably
decline due to layoffs and
downsizing. The remaining
personnel
may
no longer have time to
engage in extensive on-the-job
training.
Number
14: Mentoring
Costs
= 10; Efficiency = 12;
Effectiveness = 11; Currency =
15; Overall
Score
= 11.75
Prognosis:
Declining in numbers due to
recession
The
concept of "mentoring" involves a
one-to-one relationship between
a
new employee and an older
and more experienced
employee. Mentoring
is
most often used for
proprietary methods, such as
teaching a new
employee
about local corporate
standards, or teaching a new
employee
about
custom tools that are
only available in one
location.
Mentoring
is often effective at a social
level, but it is somewhat
expen-
sive
if it requires that the
mentor take too much
time away from his
or
her
normal work.
Informal
mentoring is likely to continue as a
useful method for
teach-
ing
new personnel local methods,
tools, development methods,
mainte-
nance
methods, and other topics
that may have been
customized.
Unfortunately,
there are no statistics on
the number of mentors
or
people
being mentored, so this
channel of learning is ambiguous as
to
usage
and overall
effectiveness.
Number
15: Professional Books,
Monographs, and
Technical
Reports
Costs
= 6; Efficiency = 14; Effectiveness =
16; Currency = 13;
Overall
Score
= 12.00
Prognosis:
Decline in paper publication;
rapid migration to
e-book,
online,
and web publication
Software
books tend to rank 15th in
overall effectiveness in
transfer-
ring
software skills in the
United States. The low
ranking is not because
of
the books themselves, but
because the U.S. software
industry does not
appear
to be especially literate, which is
something of a surprise
given
the
nature of the work.
Many
of the books are excellent.
For example, Dr. Barry
Boehm's clas-
sic
Software
Engineering Economics (Prentice
Hall), Watts
Humphrey's
book
on Team
Software Processes (TSP) (Addison
Wesley), and Dr.
Roger
How
Software Personnel Learn New
Skills
261
Pressman's
classic Software
Engineering--A Practitioner's
Approach
(McGraw-Hill)
have all seen numerous
editions and sold close
to
1
million copies each.
Software
books are a staple for
reference purposes even if
not for
pedagogical
purposes. A typical software
engineer will have a library
of
between
20 and 100 volumes on topics
of importance such as the
pro-
gramming
languages, operating systems,
applications, and
hardware
used
in daily work.
As
of 2009, there are more
than 3 million software
personnel in the
United
States, and the numbers
are growing fairly rapidly.
Yet software
book
publishers regard sales of
more than 10,000 copies as a
fairly good
volume.
Sales of 25,000 copies are
remarkably good for software
titles,
and
only a few software titles
have approached 1 million
copies.
The
high-volume software books
often aim at the end-user
market
and
not the professional or
education markets. For
example, books on
Visual
Basic or primers on Windows
can exceed 1 million copies
in sales
because
there are about 10 million
users of these products who
are not
professional
software personnel.
It
is possible to learn a variety of
software-related skills from
books,
but
this approach is not as
widely utilized as seminars or
some kind of
formal
training. One possible
exception is that of learning
personal topics,
such
as Watts Humphrey's Personal
Software Process (PSP)
method. As
of
2009, Watts' books are
the primary channel for
this topic.
Another
situation where books are
actually used for
self-learning of
new
skills is the area of new
programming languages. New
program-
ming
languages have been coming
out at a rate of more than
one per
month
for the past 30 years,
and more than 700
programming languages
have
been listed in the Software
Productivity Research (SPR)
"table of
programming
languages and levels." Not
many languages reach
the
mainstream,
but for those that do,
such as Ruby or N or E,
experienced
programmers
can teach themselves the
new language from books
faster
than
from most others
methods.
There
are many excellent software
books on the market by
publish-
ers
such as Addison Wesley
Longman, Auerbach, Dorset
House, IEEE
Computer
Society Press, McGraw-Hill,
Prentice Hall, Que,
Microsoft
Press,
and the like.
Also
included under the heading
of books would be monographs
pub-
lished
by various companies and
associations. For example,
software-
related
monographs of 50 to more than
100 pages in size are
published by
Accenture,
IBM, IFPUG, ISBSG, various IEEE
associations, McKinsey,
Gartner
Group, Meta Group, the
Software Engineering Institute
(SEI),
and
Software Productivity Research
(SPR).
These
privately published monographs
are distributed primarily
to
the
clients of the publishing
organization. The costs
range from zero up
262
Chapter
Four
to
more than $25,000 based on
whether the monograph is
intended as
a
marketing tool, or contains
proprietary or special data of
interest to
the
clients.
There
are many software bookstores
and large software
sections
within
general bookstores such as
Borders. And of course
software books
are
featured in all of the major
web-based bookstores such as
Amazon
and
Barnes & Noble. The
total volume of good books
on software topics
probably
exceeds 2,500 titles for
technical books and 250
titles for soft-
ware
management books.
Yet
in spite of the plentiful
availability of titles, many
software man-
agers
and quite a few technical
software personnel don't
read more than
one
or two technical books a
year, based on responses to
assessment
interviews.
The
author estimates that
software professionals purchase
about four
books
per year on average (more
than seem to be read). In
any case, it
would
be hard to keep current just
from books since software
technology
changes
are so volatile.
There
is a curious omission in the
book domain for software
and project
management
topics. Among the more
mature professions such as
medicine
and
law, a significant number of
books are available in audio
form such as
cassettes
or CDs so they can be
listened to at home or in automobiles.
We
have
not yet encountered any
audio titles in the software
engineering or
project
management fields, although
some may be
available.
An
increasing number of technical
books are becoming
available
online
and can be viewed on
personal computer screens or
downloaded.
This
method of gaining access to
books is expanding, but has
not yet
reached
a critical mass. The author
estimates that fewer than
perhaps
100
software-related titles are
available in online form,
and that per-
haps
fewer than 125,000 software
professionals have utilized
this chan-
nel
of gaining access to books.
However, both the number of
titles and
accesses
should increase rapidly over
the next ten
years.
New
electronic devices such as
the Amazon and Sony
hand-held book
readers,
the iPhone, and various PDA
devices can be used to store
books,
although
this is not yet a major
market for book
publishers.
Of
course, personal ownership of
books may not be necessary
if a
company
or government agency maintains a
good technical library.
One
interesting
observation from the
author's assessments over
the years is
that
companies with large technical
libraries have higher annual
produc-
tivity
rates than companies of the
same size without such
libraries.
Having
a library is probably not a
causative factor for high
pro-
ductivity,
though. The most likely
reason for the correlation
is that
companies
with good technical libraries also
tend to have better
than
average
salary and compensation
levels, so they select top
performers
for
software occupations.
How
Software Personnel Learn New
Skills
263
Vast
numbers of monographs and
technical reports usually
range
between
20 and 75 pages. Usually, such
documents are devoted to
a
single
topic, such as service-oriented
architecture (SOA) or
perhaps
marketing
issues.
Some
companies such as Gartner
Group in the United States
and
Research
and Markets in Ireland do a
surprisingly large business
from
marketing
both paper and online
versions of monographs and
technical
reports.
The
primary markets for these
shorter documents are either
cor-
porate
libraries or executives interested in
business trends and
high
enough
in company hierarchies to be authorized
to spend money on
subscriptions
or individual studies, many of
which are far more
expen-
sive
than ordinary books.
As
tools for informing
executives about emerging
business trends,
the
technical report business is
fairly effective. As tools
for learning the
specifics
of technical topics such as
testing or inspections, these
shorter
reports
are not as effective as
books.
One
technical problem with books
published on paper is that
the
software
industry changes faster than
the books can be revised
and
new
editions brought out.
A
possible new business model
for book publishers as they
migrate to e-
books
would be to sell subscriptions to
updates at the same time as
the book
is
originally downloaded. For
example, a downloaded software
textbook in
e-book
format might sell for $25,
and subscriptions to updates
might sell
for
$10 per year. Not
only would e-books be cheaper
than paper books,
but
offering
them as subscriptions would
lead to recurring revenue
streams.
Number
16: Undergraduate University
Education
Costs
= 15; Efficiency = 15;
Effectiveness = 3; Currency = 16;
Overall
Score
= 12.25
Prognosis:
May decline in numbers due to
recession; stable in
effec-
tiveness;
curricula lag technology
changes by more than five
years
From
the author's studies,
undergraduate university education
was
only
number 15 in overall effectiveness
for software
professionals.
Universities
are often not very
current in the topics that
they teach. In
general,
university curricula lag the
actual state of the art of
software
by
between five years and
ten years. This lag is
because of the way
uni-
versities
develop their teaching
materials and their
curricula.
There
are a number of critical
topics where software
education at the
university
level lags far behind
what is truly needed to
achieve profes-
sional
status for software. The
most glaring omissions
include
1.
Software security practices
for safeguarding high-risk
applications
2.
Software quality control
practices for minimizing
delivered defects
264
Chapter
Four
3.
Software measures and
metrics for effective
economic analysis
4.
Software estimating and
planning for on-time
delivery and costs
5.
Software architecture for
optimizing use of reusable
components
6.
Software methods for
effective renovation of legacy
applications
7.
Software technology evaluation
and technology
transfer
These
gaps and omissions need to
be quickly filled if software is
to
evolve
from an art form into a
true engineering
discipline.
There
are some exceptions to this
rule that universities
always lag.
Many
universities have established
fairly close ties with the
local busi-
ness
community and attempt to
offer courses that match
the needs
of
the area's software
employers. For example,
Stevens Institute of
Technology
in New Jersey has established close
ties with AT&T and
is
offering a master's program
that includes topics
suggested by AT&T.
Bentley
College in the Boston area,
Washington University in St.
Louis,
Georgia
State University in Atlanta,
St. Thomas University in the
St.
Paul
area, and many other
schools adjacent to large
software producers
have
adopted similar policies of
curricula based on the needs
of major
software
employers.
An
important strength of undergraduate
education is that what
gets
taught
tends to be used throughout
the rest of the professional
lives of
the
students. University education
ranks number three in
effectiveness,
or
the volume of information
transmitted.
The
author estimates that
perhaps 95,000 U.S. software
professionals
will
take university or college
courses during a normal
business year.
Having
performed a consulting study on
continuing software
educa-
tion,
the author noted a few
practical issues. The way
companies fund
tuition-refund
programs is often remarkably
cumbersome. Sometimes
several
layers of management approval
are required. The courses
them-
selves
must be job-related within
fairly narrow boundaries.
Some com-
panies
reserve the option of having
the students withdraw
"because of
the
needs of the
company."
Also,
the tuition-refund policies
are based on achieving passing
grades.
This
is not an unreasonable policy,
but it does raise the
mathematical
probability
that the student will end up
with significant out-of-pocket
expenses.
On
the whole, university
training appears to be more
expensive and
less
effective than in-house
training, commercial education, or
vendor
education
for practicing software
professionals.
A
former chairman of the ITT
Corporation once noted in a speech
that
it took an average of about
three years of in-house
training and
on-the-job
experience before a newly
graduated software engineer
could
be
entrusted with serious project
responsibilities. This was
about two
How
Software Personnel Learn New
Skills
265
years
longer than the training
period needed by electrical or
mechanical
engineers.
The conclusion was that
software engineering and
computer
science
curricula lagged traditional
engineering curricula in
teaching
subjects
of practical value.
Indeed,
a quick review of several
university software
engineering
and
computer science curricula
found some serious gaps in
academic
training.
Among the topics that
seemingly went untaught were
soft-
ware
cost estimating, design and
code inspections, statistical
quality
control,
maintenance of legacy applications,
metrics and
measurements,
Six
Sigma methods, risk and
value analysis, function
points, and joint
application
design (JAD) for
requirements analysis. While
basic techni-
cal
topics are fairly good at
the university level, topics
associated with
project
management are far from
state-of-the-art levels.
Universities
are also being impacted by
the recession, and the
future
of
university training in terms of
numbers of software engineering
and
computer
science students and
graduates is uncertain. Whether or
not
the
recession will improve or degrade
curricula is uncertain as this
is
written
in 2009.
Number
17: Graduate University
Education
Costs
= 16; Efficiency = 16;
Effectiveness = 2; Currency = 15;
Overall
Score
= 12.25
Prognosis:
May decline in numbers due to
recession; stable in
effec-
tiveness;
curricula lag technology
changes by more than five
years
Graduate
education in software engineering or
computer science
unfortunately
tends to bring up the rear
and is ranked number
16.
Graduate
school does rank number two
in effectiveness, and it does
transmit
a great deal of information to
graduate students.
The
downside is that a lot of
the information that is
transmitted may
be
obsolete, since university
curricula often lag the
business and techni-
cal
worlds by five to ten
years.
Graduate
education could be improved by
greater concentration on
special
topics such as the economics
of software. Software costs
are so
heavily
dominated by defect removal
expenses, catastrophic
failures,
and
huge cost and schedule
overruns that there is a
need to teach all
MBA
students as well as specialist
software engineer and
computer sci-
ence
graduate students the state
of the art for defect
prevention, defect
removal,
and cost of quality
economics.
Also,
software security problems
are not only rampant in
2009, but
also
are becoming more numerous
and more serious at a rapid
pace.
It
is obvious that universities
have lagged severely in this
area, and
also
in the area of software
quality control. For that
matter, other key
topics
such as construction from
reusable materials also lag
at both the
undergraduate
and graduate levels.
266
Chapter
Four
There
appears to be a significant need to
improve the speed at
which
universities
are able to incorporate new
material and new technologies
into
their
curricula. For fast-moving
industries such as computing
and software,
the
technologies are changing
much faster than university
curricula.
For
that matter, the recession
has demonstrated that
economic and
financial
curricula are not only
severely out of date, but
severely in
error
as well.
Software
Areas Where Additional
Education
Is Needed
From
working as an expert witness in a
number of software
lawsuits
for
breach of contract or for
litigation involving claims of
poor quality,
the
author finds that some
important topics need
additional educa-
tion
or reeducation. Table 4-6
shows 25 major technology
areas where
TABLE
4-6
Gaps
in Software Training Circa
2009
1.
Security
vulnerability prevention
2.
Security
recovery after
attacks
3.
Quality
control (defect
prevention)
4.
Quality
control (defect
removal)
5.
Quality
estimating
6.
Quality
measurement
7.
Measurement
and metrics of
software
8.
Change
management
9.
Tracking
of software projects
11.
Cost,
quality, and schedule
estimating
10.
Intellectual
property protection
12.
Reuse
of software artifacts
13.
Risk
analysis and
abatement
14.
Value
analysis of software
applications
15.
Technology
analysis and technology
transfer
16.
Renovation
of legacy applications
17.
Requirements
collection and
analysis
18.
Software
project management
19.
Formal
inspections
22.
Test
case design
20.
Performance
analysis
21.
Customer
support of software
applications
23.
Contract
and outsource
agreements
24.
User
training
25.
User
documentation
How
Software Personnel Learn New
Skills
267
performance
in the software world seems
to be deficient, in approximate
order
of importance to the software
profession.
Failures
and problems associated with
these topics appear to
be
endemic
in the software world, and
especially so for large
software appli-
cations.
From the frequency with
which large software
projects fail,
and
the even larger frequency
that have cost and
schedule overruns, it
can
be concluded that training in
software topics urgently
needs major
improvement.
New
Directions in Software
Learning
The
global recession is causing
thousands of organizations to
reduce
costs
in order to stay in business.
Almost all labor-intensive
activities
such
as training are going to be
scrutinized very
carefully.
At
the same time the
technologies of virtual reality, e-books,
and dis-
tributing
information over hand-held
devices are increasing in
sophis-
tication
and numbers of users.
Within
a period of perhaps ten
years, the combination of
recessionary
pressures
and technology changes will
probably make major
differences
in
software learning methods.
Online web-based information,
e-books,
and
hand-held devices will no doubt
replace substantial volumes
of
paper-based
materials.
In
addition, virtual reality
may introduce artificial
classrooms and
simulated
universities where students
and teachers interact
through
avatars
rather than face to face in
real buildings.
The
increasing sophistication of intelligent
agents and expert
sys-
tems
will probably improve the
ability to scan vast
quantities of online
information.
The fact that companies
such as Google and Microsoft
are
rapidly
converting paper books and
documents into online text
will also
change
the access to
information.
However,
software has a long way to
go before it achieves the ease
of
use
and sophistication of the
legal and medical
professions in terms of
the
organization
and access to vital
information. For example,
there is no soft-
ware
equivalent to the Lexis-Nexis
legal reference company as of
2009.
Over
the next few years,
changes in learning methods
may undergo
changes
as profound as those introduced by
the printing press
and
television.
However, the quality of
software information is still
poor
compared
with the quality of information in
more mature fields
such
as
medicine and law. The
severe shortage of quantitative
data on pro-
ductivity,
schedules, quality, and
costs makes software appear
to be more
of
a craft than a true
profession.
However,
the technologies of mining
information, consolidating
knowledge,
and making knowledge
accessible are rapidly
improving.
The
overall prognosis for
learning and information
transfer is positive,
268
Chapter
Four
but
no doubt the formats for
presenting the information will be
very
different
in the future than in the
past.
Summary
and Conclusions
In
any technical field, it is
hard to keep up with the
latest developments.
Software
technologies are changing
very rapidly as the 21st
century
advances,
and this makes it difficult
to stay current.
Seventeen
different channels are
available to the software
commu-
nity
for acquiring information on
new software technologies.
The most
effective
historical channel is in-house
training within a major
corpora-
tion,
but that channel is only
available to the corporation's
employees.
Webinars
and web-based research are
rapidly advancing in
sophistica-
tion
and are already very
inexpensive.
The
use of virtual reality or
simulation web sites is
another exciting
prospect.
It is technically possible for
avatars of virtual students
to
participate
in simulated virtual
classrooms.
Of
the other channels, two
appear to have strong
potential for the
future:
self-study utilizing CD-ROM or DVD
technology, and online
study
using
the World Wide Web or an
information utility. These
channels are
beginning
to expand rapidly in terms of
information content and
numbers
of
users. Channels using
wireless connectivity and
hand-held devices may
also
be added to the mix of learning
methods, as already demonstrated
by
the
new generation of e-book readers
from Amazon and
Sony.
As
the Internet and online
services grow in usage,
entirely new meth-
ods
of education may be created as a
byproduct of large-scale
interna-
tional
communication channels. In the
future, some form of
education
may
become available via
satellite radio, although
none is currently
broadcast
on that channel.
Unfortunately,
given the large numbers of
project failures in the
soft-
ware
domain, all 16 channels put
together are probably not
yet enough
to
raise the level of software
engineering and management
competence
to
fully professional
status.
Curricula
of Software Management
and
Technical Topics
Shown
next is the author's
proposed full curricula of
managerial and
technical
topics related to the
software industry. The
courses range from
top-level
executive seminars through
detailed technical courses.
The
set
of curricula is aimed at corporations
with large software staffs.
The
instructors
are assumed to be top
experts in the field.
Curricula
such as this are not
static. As new topics and
technologies
emerge,
the curricula should be
updated at least on an annual
basis,
and
perhaps even more
often.
How
Software Personnel Learn New
Skills
269
Software
Curricula for Executives,
Management, and Technical
Personnel
Capers
Jones (Copyright © 20072009 by
Capers Jones. All rights
reserved)
Executive
Courses
Days
Sequence
Global
Finance and Economics
1.00
1
Software
Development Economics
1.00
2
Software
Maintenance Economics
1.00
3
Software
Security Issues in
2008
1.00
4
Software
Architecture Trends
1.00
5
Economics
of Outsourcing
1.00
6
Pros
and Cons of Offshore
Outsourcing
1.00
7
Protecting
Intellectual Property
0.50
8
Sarbanes-Oxley
Compliance
1.00
9
Software
Litigation Avoidance
0.50
10
Case
Studies in Best
Practices
0.50
11
Software
Risk Avoidance
0.50
12
Case
Studies in Software
Failures
0.50
13
Overview
of the Capability Maturity
Model
0.25
14
Economics
of Six Sigma
0.25
15
Overview
of Viruses and
Spyware
0.50
16
TOTAL
11.50
Project
Management Courses
Days
Sequence
Software
Project Planning
2.00
1
Measurement
and Metrics of
Software
2.00
2
Software
Cost Estimating:
Manual
1.00
3
Software
Cost Estimating:
Automated
2.00
4
Software
Quality and Defect
Estimating
1.00
5
Software
Security Planning
1.00
6
Software
Milestone Tracking
1.00
7
Software
Cost Tracking
1.00
8
Software
Defect Tracking
1.00
9
Software
Change Control
1.00
10
Function
Points for Managers
0.50
11
Inspections
for Project Managers
0.50
12
Testing
for Project Managers
2.00
13
Six
Sigma for Managers
2.00
14
Principles
of TSP/PSP for
Managers
1.00
15
Principles
of Balanced Scorecards
1.00
16
Principles
of Software Reuse
1.00
17
Software
Risk Management
1.00
18
The
Capability Maturity Model
(CMM)
2.00
19
Six
Sigma: Green Belt
3.00
20
Six
Sigma: Black Belt
3.00
21
(Continued)
270
Chapter
Four
Project
Management Courses
Days
Sequence
Earned
Value Measurement
1.00
22
Appraisals
and Employee
Relations
1.00
23
Project
Management Body of
Knowledge
2.00
24
TOTAL
34.00
Software
Development Courses
Days
Sequence
Software
Architecture Principles
1.00
1
Structured
Development
2.00
2
Error-Prone
Module Avoidance
1.00
3
Software
Requirements Analysis
1.00
4
Software
Change Control
1.00
5
Security
Issues in 2008
1.00
6
Hacking
and Virus Protection
2.00
7
Joint
Application Design
(JAD)
1.00
8
Static
Analysis of Code
1.00
9
Formal
Design Inspections
2.00
10
Formal
Code Inspections
2.00
11
Test
Case Design and
Construction
2.00
12
Test
Coverage Analysis
1.00
13
Reducing
Bad Fix Injections
1.00
14
Defect
Reporting and
Tracking
1.00
15
Iterative
and Spiral
Development
1.00
16
Agile
Development Methods
2.00
17
Using
Scrum
1.00
18
Object-Oriented
Design
2.00
19
Object-Oriented
Development
2.00
20
Web
Application Design and
Development
2.00
21
Extreme
Programming (XP)
Methods
2.00
22
Development
Using TSP/PSP
2.00
23
Principles
of Database Development
2.00
24
Function
Points for Developers
1.00
25
Design
of Reusable Code
2.00
26
Development
of Reusable Code
2.00
27
TOTAL
41.00
Software
Maintenance Courses
Days
Sequence
Principles
of Legacy Renovation
1.00
1
Error-Prone
Module Removal
2.00
2
Complexity
Analysis and
Reduction
1.00
3
Identifying
and Removing Security
Flaws
2.00
4
Reducing
Bad-Fix Injections
1.00
5
Defect
Reporting and
Analysis
0.50
6
Change
Control
1.00
7
Configuration
Control
1.00
8
How
Software Personnel Learn New
Skills
271
Software
Maintenance Courses
Days
Sequence
Software
Maintenance Workflows
1.00
9
Mass
Updates to Multiple
Applications
1.00
10
Maintenance
of COTS Packages
1.00
11
Maintenance
of ERP Applications
1.00
12
Static
Analysis of Code
1.00
13
Data
Mining for Business
Rules
1.00
14
Regression
Testing
2.00
15
Test
Library Control
2.00
16
Test
Case Conflicts and
Errors
2.00
17
Dead
Code Isolation
1.00
18
Function
Points for
Maintenance
0.50
19
Reverse
Engineering
1.00
20
Reengineering
1.00
21
Refactoring
0.50
22
Maintenance
of Reusable Code
1.00
23
Object-Oriented
Maintenance
1.00
24
Maintenance
of Agile and Extreme
Code
1.00
25
TOTAL
27.50
Software
Quality Assurance
Courses
Days
Sequence
Error-Prone
Module Analysis
2.00
1
Software
Defect Estimating
1.00
2
Software
Defect Removal
Efficiency
1.00
3
Software
Defect Tracking
1.00
4
Software
Design Inspections
2.00
5
Software
Code Inspections
2.00
6
Software
Test Inspections
2.00
7
Static
Analysis of Code
2.00
8
Software
Security and Quality in
2008
2.00
9
Defect
Removal Using TSP/PSP
2.00
10
Software
Static Analysis
2.00
11
Software
Test Case Design
2.00
12
Software
Test Library
Management
1.00
13
Reducing
Bad-Fix Injections
1.00
14
Test
Case Conflicts and
Errors
1.00
15
Function
Points for Quality
Measurement
1.00
16
ISO
9000-9004 Quality
Standards
1.00
17
Overview
of the CMM
1.00
18
Quality
Assurance of Software
Reuse
1.00
19
Quality
Assurance of COTS and
ERP
1.00
20
Six
Sigma: Green Belt
3.00
21
Six
Sigma: Black Belt
3.00
22
TOTAL
35.00
(Continued)
272
Chapter
Four
Software
Testing Courses
Days
Sequence
Test
Case Design
2.00
1
Test
Library Control
2.00
2
Security
Testing Overview
2.00
3
Test
Schedule Estimating
1.00
4
Software
Defect Estimating
1.00
5
Defect
Removal Efficiency
Measurement
1.00
6
Static
Analysis and Testing
1.00
7
Test
Coverage Analysis
1.00
8
Reducing
Bad-Fix Injections
1.00
9
Identifying
Error-Prone Modules
2.00
10
Database
Test Design
1.00
11
Removal
of Incorrect Test
Cases
1.00
12
Fundamentals
of Unit Testing
1.00
13
Fundamentals
of Regression Testing
1.00
14
Fundamentals
of Component Testing
1.00
15
Fundamentals
of Stress Testing
1.00
16
Fundamentals
of Virus Testing
2.00
17
Fundamentals
of Lab Testing
1.00
18
Fundamentals
of System Testing
2.00
19
Fundamentals
of External Beta
Testing
1.00
20
Test
Case Conflicts and
Errors
1.00
21
Testing
Web Applications
1.00
22
Testing
COTS Application
Packages
1.00
23
Testing
ERP Applications
1.00
24
Function
Points for Test
Measures
1.00
25
Testing
Reusable Functions
1.00
26
TOTAL
32.00
Software
Project Office Courses
Days
Sequence
Software
Project Planning
3.00
1
Software
Cost Estimating
3.00
2
Software
Defect Estimating
2.00
3
Function
Point Analysis
3.00
4
Software
Architecture Issues
1.00
5
Software
Security Issues
1.00
6
Software
Change Management
2.00
7
Software
Configuration Control
2.00
8
Overview
of Software Inspections
1.00
9
Overview
of Software Testing
1.00
10
Software
Measurement and
Metrics
2.00
11
Outsource
Contract Development
1.00
12
COTS
Acquisition
1.00
13
ERP
Acquisition and
Deployment
2.00
14
How
Software Personnel Learn New
Skills
273
Software
Project Office Courses
Days
Sequence
Sarbanes-Oxley
Compliance
2.00
15
Multicompany
Outsourced Projects
2.00
16
Software
Risk Management
2.00
17
Case
Studies of Software
Failures
1.00
18
Case
Studies of Best
Practices
1.00
19
Software
Milestone Tracking
2.00
20
Software
Cost Tracking
2.00
21
Software
Defect Tracking
2.00
22
Supply
Chain Estimating
2.00
23
Balanced
Scorecard Measurements
1.00
24
Earned-Value
Measurements
1.00
25
Six
Sigma Measurements
1.00
26
TSP/PSP
Measurements
1.00
27
Software
Value Analysis
1.00
28
ISO
9000-9004 Quality
Standards
1.00
29
Backfiring
LOC to Function Points
1.00
30
Metrics
Conversion
1.00
31
TOTAL
49.00
TOTAL
CURRICULA
Days
Classes
Executive
Education
11.50
16
Project
Management Education
34.00
24
Software
Development
41.00
27
Software
Maintenance
27.50
25
Software
Quality Assurance
35.00
22
Software
Testing
32.00
26
Software
Project Office
49.00
31
TOTAL
230.00
171.00
Readings
and References
Boehm,
Barry, Dr. Software
Engineering Economics. Englewood
Cliffs, NJ: Prentice
Hall,
1981.
Curtis,
Bill, Dr. Human
Factors in Software Development.
Washington,
DC: IEEE
Computer
Society, 1985.
Jones,
Capers. Applied
Software Measurement, Third
Edition. New York:
McGraw-Hill,
2008.
Jones,
Capers. Estimating
Software Costs, Second
Edition. New York:
McGraw-Hill,
2007.
Jones,
Capers. Software
Assessments, Benchmarks, and
Best Practices.
Boston: Addison
Wesley
Longman, 2000.
Humphrey,
Watts S. PSP--A
Self-Improvement Process for Software
Engineers. Upper
Saddle
River, NJ: Pearson Education,
2005.
274
Chapter
Four
Humphrey,
Watts S. TSP--Leading
a Development Team.
Upper Saddle River,
NJ:
Pearson
Education, 2006.
Kawasaki,
Guy. Selling
the Dream.
Collins Business,
1992.
Pressman,
Roger. Software
Engineering--A Practitioner's Approach,
Sixth
Edition.
New
York: McGraw-Hill,
2005.
Weinberg,
Dr. Gerald. The
Psychology of Computer
Programming.
New York: Van
Nostrand
Reinhold, 1971.
Yourdon,
Ed. Decline
and Fall of the American
Programmer. Englewood
Cliffs, NJ:
Yourdon
Press, Prentice Hall,
1992.
Yourdon,
Ed. Rise
and Resurrection of the
American Programmer. Englewood
Cliffs, NJ:
Yourdon
Press, Prentice Hall,
1996.
Table of Contents:
|
|||||