ReleaseEarlyReleaseOften
Revision as of 01:59, 23 July 2007 by 204.112.178.13 (talk) (bbuckels@mts.net - this should get you started)
About Releasing
The concept of a Release was originally used in the professional Product Engineering field. When a manufactured product is developed it is first designed, prototyped, and then formal documents including drawings (manufacturing details) are released by the engineering group to the manufacturing group who then build the product for distribution.
With the evolution of the Software Engineering field and the prevalence of computer software in modern times, many concepts have been borrowed from Product Engineering, and then evolved to fit software production. These concepts include Release, and Revision, and Quality Assurance to name a few.
Software Engineering is a little different than Product Engineering in that a computer program can be quite usable even if it is only partially complete, unlike a hard product (like an automobile) which would be quite useless if only partially complete.
In Product Engineering to eliminate expensive mistakes, often protoptypes are built and tested in the design phase, long before a product release. This process is known as iterative design.
However since software can generally be released in a partially functional to almost complete state, Software Engineering uses a different approach known as Incremental Development which also has evolved a release terminology that is unique to Software, and generally has three release levels which can also have levels of their own:
- Alpha - Rough and Unfinished, programs may crash and burn.
- Beta - Programs Run and are Almost Finished
- Early Beta - A Ways Away from Complete
- Beta 2, Beta 3, Etc.
- Final Beta - Release Candidate 1,2,3, Etc.
- Release - Version 1.0, Etc.
To further confuse the issue, Technical Writing also follows this (or similar) practices and because we who use computers have becaome so accustomed to this programming terminology, the defacto action that we all seem to consider even with our own informal documents that we publish online is to Release them.
And there you have it!
About Releasing Often
If you suggested to a Product Engineer that a product should be released often, you would very likely be considered deranged.
But in Software Engineering we long ago realized that the earlier we could get a computer program into the hands of the end user, the better the chances for feedback and the ultimate success of the program. It could also be said that this is really a marketing concept and that we programmers are really just trying to sell something and like to begin promoting as soon as possible. That is true to some extent, but publicity aside, incremental development, unlike prototyping or promotion, allows participation by the end user at an almost finished stage when changes can be made more inexpensively before mass distribution.
It is also cheaper to change a piece of Software than to retool an entire assembly line in a manufacturing environmnet like an automobile plant.
Software aside, collaboration on documentation, especially online documentation has been following the same approach for about 20 years or more now, first with groups of BBS users in mail groups and forums, and now evolving to online Wiki's.
Many examples exist of user written documentation; FAQ's Etc. and it really makes sense to release often for the gatekeeper's of these documents just for the very fact of sharing common knowledge.
In a Wiki Releasing Often allows everyone to participate in a Quick manner with prolific results.