Concept: Discipline
A Discipline is a categorization of Tasks based upon similarity of concerns and cooperation of work effort.
Main Description

A Discipline is a collection of Tasks that are related to a major "area of concern" within the overall project. The grouping of Tasks into Disciplines is mainly an aid to understanding the project from a traditional waterfall perspective. Although it is more common to perform Tasks concurrently across several Disciplines (for example, certain requirements Tasks are performed in close coordination with analysis and design Tasks), separating these Tasks into distinct Disciplines is simply an effective way to organize content, which makes comprehension easier.

Another reason that several Tasks are all categorized by the same Discipline is that they all represent a part in achieving a higher goal or performing work that is all related to each other.  Every Discipline defines standard ways of doing the work it categorizes.  Such standard ways are expressed by so-called reference workflows described with Capability Patterns defining how the Tasks categorized by the Discipline 'work together' in the most generic way.  These reference workflows are often used for educating and teaching practitioners.

Like other workflows, a Discipline's reference workflow is a semi-ordered sequence of activities presented as either a breakdown structure or an activity diagram performed to achieve a particular result. The "semi-ordered" nature of Discipline workflows emphasizes that the Discipline workflows cannot present the real nuances of scheduling "real work", for they cannot depict the optionality of activities or iterative nature of real projects. Yet they still have value as a way for us to understand the process by breaking it into smaller areas of concern.

Example: The role of Disciplines in Software Engineering

In Software Development, each Discipline has associated with it one or more 'models', which are in turn composed of associated Work Products. Some fundamental disciplines identified in Software are:

  • Business Modeling
  • Requirements
  • Analysis and Design
  • Implementation
  • Test
  • Deployment
  • Configuration and Change Management
  • Project Management
  • Environment