This proposed definition is the result of a single draft review process on the software patterns community email lists. A Pattern Lifecycle Model is also documented below, as a non-normative explanation, supporting the criteria. To define priorities for the software pattern criteria, it is appropriate to make the stakeholder perspective explicit. In this case, the stakeholder represents working software practitioners, including software architects, software designers, and programmers.
Quality provides tangible value towards the satisfaction of human needs.
For example, consistency may be a quality of software patterns. Software practitioners often synthesize system solutions, combining the knowledge of multiple patterns and catalogs. Consistent pattern documentation standards are helpful for software practitioners who are using multiple pattern catalogs from different authors. The following criteria are essential requirements for all software patterns. The ordering of the essential criteria is not important, since they are all mandatory requirements.