The SPECIFY task type
In the USoft Approach, SPECIFY is a task type in the DEFINE phase.
Completing a task of the SPECIFY task type leads to a specification. In the USoft Approach, in a software development project you do not typically deliver only implementations (actually working software). Rather, you deliver a combination of specifications and implementations. Specifications show what the new software does and how it is intended to be used in its environment when it is delivered: how it should collaborate with other systems and in what situations it should be called upon.
Specifications in USoft typically take the form of an SBVR vocabulary of terms, definitions and business rules, complemented by diagrams and other artefacts where necessary. The advantage of this type of specification is that it is very easy for a wide range of stakeholders to validate that specifications are correct and complete. This type of specification may be used as early as at Business Orientation time (in the PLAN phase).
However, the SPECIFY task type is especially associated with the DEFINE task because, typically, whenever you define anything (a structure, a rule, an interface), specification is one of the key types of task to complete, alongside the actual implementation and test types.
Implementations without specifications are difficult to maintain. Without specifications, six months after delivery, it is hard to find why implementations have been built the way they are, what functionality is located where, and what the intended use was.
In spite of this, the USoft toolset lets you take advantage of USoft implementation features even without creating any specifications at all.
•For more information about specifying structure, go to the Structure Definition subphase.
•For more information about specifying rules, go to the Rule Definition subphase.
•For more information about specifying interfaces, go to the Interface Definition subphase.
In the USoft Approach, the "Deliver specifications and implementations in parallel" principle ensures that the USoft toolset allows you:
•to create specifications optionally, and separately from implementations.
•to create implementations optionally, and separately from specifications.
•to link corresponding specifications and implementations, again optionally.
•to trace with ease which specifications are without corresponding implementation, and which implementations are without corresponding specification.