Source Data Object

Purpose

The Source data object represents a collection of source code and configuration settings under version control as part of the configuration of a product. The Source data object fulfills the Requirements associated with the product.

The Source data object does not only represent the source code such as .NET, JavaScript™, or Java®, but also infrastructure as code, web pages, as well as configuration settings to define; for example, business rules, APIs, database schemas, etc. Consider all use-cases including customizations or configuration changes to SaaS applications or COTS packages. Source represents all changes made to realize the design of the Digital Product which falls under version control and is used to build the Product Release.

Key Attributes

The Source data object shall have the following key data attributes:

  • Id: unique identifier of the Source

  • Version: version of the Source

  • Repository: link to the repository where the Source is maintained

  • Owner: reference to the organizational owner of the repository and Source

  • Date/Time: date and time of last update (and commit)

  • Person Id(s): references to the identities who have created/modified the Source

  • Tags: one or more tags associated with the Source

  • Comments: comments related to the Source update

Key Data Object Relationships

The Source data object shall maintain the following relationships:

  • Source to Pipeline (n:m): a Pipeline can be triggered by updates of the source code; a Pipeline is associated with one or more Sources

  • Source to Product Backlog Item (n:m): the Source is created or updated with a reference to one or more Product Backlog Items fulfilling one or many Requirements, and for a given Product Backlog Item, there could be multiple Sources created/modified

  • Source to Build Package (n:m): the Source can be built multiple times to create several build versions

  • Source to Test Case (n:m): one or more Test Cases can be defined related to the source code, such as unit tests, code quality scans, and reviewing security coding standards

  • Source to Defect (n:m): one or more Defects can be related to the source code; for example, a Defect can be related to code quality issues identified by the Test functional component

  • Source to Digital Product (n:1): the Source repository is related to the Digital Product owning the Source