Skip to content

Reusable Assets and Components

When designing new components or assets, a part of the design phase requires that the existing asset catalogue is investigated to see if components or assets solving the task or part of the task is already present and can be used in for the new development task.

  • Asset
    A software asset refers to any software-related item that holds value for DHI like a licensed product, a development tool or a software service.
  • Component
    A software component is a modular, reusable, and self-contained unit of software that encapsulates a specific functionality or set of related functions.

The diagram shows the process flow to follow when using and developing reusable assets and components.

New Feature/Request

Having clear requirements of a new feature, is key for being able to plan and design a new component or asset.

It is recommended that the requirements specification is made as a document based on the requirements specification template found on SharePoint.

Asset Catalogue

The Asset Catalogue is a catalogue (Excel spreadsheet) of reusable assets and components to be shared throughout DHI.
Use the catalog for finding existing components satisfying feature requirements.
Being reusable means that an asset or a component will/can:

  • Be used in more than three projects
  • Saves time when being used
  • Provides higher quality
  • Known commitment status (part of commercial engagement or LCM)
  • Active technology stack, not End of Life
  • Require documentation
  • Have an owner

The asset catalogue/spreadsheet can be found here

AI Generated Asset Catalogue Planned

Note that the assets catalogue in the spreadsheet is not being maintained as an AI generated asset catalogue is planned.

Asset Catalogue Content

The asset catalogue contains the following content/information.

  • Asset ID
    Asset id in the form .
  • Name
    Name of the asset.
  • Description
    Short description describing the resuable asset and what it does.
  • Category
    The category of the asset. (Web UI, Backend, Executable, Web API, Service).
  • Source Data Type
    The type of the input that that the reusable asset is using as input or requires.
  • Output Data Type
    The type of the output data that the reusable asset produces.
  • Source Product/Project
    The product or project that the reusable asset was initially made for or is part of.
  • API/Framework
    The target framework that the reusable component is using (.NET Standard 2.0, .NET Framework 4.7.2, .NET Framework 4.8, .NET 8.0, .NET 10.0, Python, React)
  • Deployment Type
    The way that the resuable component is deployed (NPM, NuGet package, Python Library, Repository, File share).
  • Location
    Link to the location of the reusable componnet.
  • License
    The type of license required if any.
  • Documentation
    Link to documentation describing the reusable component.
  • Repository
    Repository where the reusable component can be found.
  • Owner
    Initials of the owner or contact of the reusable component.
  • Used by
    List of projects or products having experience using the reusable component.

Gap Analysis

The gap analysis identifies the gaps like,

  • Missing features
  • Performance deficiencies
  • Incomplete functionalities

between the existing asset features compared to the requirements of the new asset or component.

Use the gap analysis framework template found on SharePoint.

Existing Reusable Component Found?

In case the Gab Analysis identifies an existing reusable component in the Reusable Asset Catalogue satisfying the requirements, this component should be used. In case no existing reusable component was found, it should be investigated if is makes sense to “Make a Reusable Component”.

Make Reusable Component?

A part of the process is to decide if a new component to be made should be developed as a reusable components to be shared among projects.

To make that decision, the asset/component should meet criteria described in the Asset Catalog above.