Granule Of Release

last modified: May 23, 2004

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.


Loading...