The organization I work for develops software products (in Jonathan
Grudin's sense of the term) - things may be different in in-house or
contract development.

Our major product is released on approxmately a six month cycle.
The time breakdown of this cycle is roughly:

42 percent of the time is spent on requirements, design, and coding
(Guess: 40 percent design, 60 percent coding) 58 percent is spent on
productization

What activities are included in productization?

Preparation of install procedures and scripts
On-line documentation and manuals
Writing and running code testing scripts
Install testing (the biggy!!)
Packaging design
Manufacturing (printing the boxes and burning the CDs)

Note that productization IS primarily a software development activity!!
It is done by people sitting at terminals and writing code in notations.
In fact, my guess is that there are more lines of install scripts,
test scripts, manufacturing scripts, etc. than there are of C++.

Productization is also an area in which schedule slips are likely to
occur.  It's at this point in which it is discovered, for example, that
the new development system that we've just switched to has libraries
that are incompatible with the ones most of our older products are
using, etc...

Where could we use help?  Well, as the above time distributions indicate,
notations such as help authoring systems, install scripts, test scripts,
etc. are probably slightly more important than ones like Java/Python/C++.
My memory isn't what it once was, but, to date, I don't recall seeing
any usability analysis of ANY of these notations.  Is Installshield the
best we can do, or would we be better off doing installation scripts in
Python or Perl, etc.


Ruven Brooks

Reply via email to