Soft goal
# Soft goal

In connection with modeling languages and especially with goal-oriented modeling, a soft goal is an objective without clear-cut criteria. Soft goals can represent:

* Non-functional requirements
* Relations between non-functional requirements

Non-functional requirements (or quality attributes, qualities, or more colloquially "-ilities") are global qualities of a software system, such as flexibility, maintainability, usability, and so forth. Such requirements are usually stated only informally; and they are often controversial (i.e. management wants a secure system but staff desires user-friendliness). They are also often difficult to validate.

## Why soft?

Normally a goal is a very strict and clear logical criterion. It is satisfied when all sub-goals are satisfied. But in non-functional requirements you often need more loosely defined criteria, like satisficeable or unsatisficeable. The term satisficing was first coined by Herbert Simon. Soft goals are goals that do not have a clear-cut criterion for their satisfaction: they are satisficed when there is sufficient positive and little negative evidence for this claim, while they are unsatisficeable in the opposite case.

## Relations between soft goals

* Decompositions
   * AND
   * OR
* Contributions
   * Helps (+)
   * Hurts (-)
   * Makes (++)
   * Breaks (--)
   * Unknown
