A component can be published by releasing (or checking in to a non-modifiable state) the files or projects that represent the component. When publishing components, the component developer develops software and publishes components for use by others, while the build manager gathers and builds software for integration testing, and the build manager gathers and builds software for system testing.
If a component is developed by a structured team who uses rigorous testing procedures, the component typically is published by the build manager. Conversely, if a component is developed by a small, informal team or an individual developer, the component developer publishes components.
At the time a component is published, the publisher (build manager or component developer) may choose to associate it with a task so that others can reference it. If a team wants to be notified automatically when components are published, they can define triggers.