Granule Of Release

A software GranuleOfRelease (or unit of modularity) is a collection of software with the following attributes:

Names given to granules of release in various languages and various works in TheLiterature? include: class, module, package, cabinet, library, component, etc. Unfortunately, this is one area where the terminology could use some harmonization.

The phrase granule of release is chosen to avoid collisions with any of the above.


Many practitioners of various languages/paradigms insist that a particular language feature (such as the "class" or "module") is the proper granule of release. Languages which force the GranuleOfRelease to be a particular size usually result in maintenance/configuration headaches. That said, the UnitOfModularity generally shouldn't be smaller than a single class or stand-alone function. (Some languages require the GranuleOfRelease to be a class or first-class object; but allow other classes which do not have this functionality; that's OK. What is objected to is the notion that all classes should be releasable components).

Not to be confused with the GranuleOfDeployment. The GranuleOfRelease should be smaller than the GranuleOfDeployment.


EditText of this page (last edited May 23, 2004) or FindPage with title or text search