Product life cycles

  • Release version: Yokohama
  • Updated January 30, 2025
  • 6 minutes to read
  • In the absence of vendor-provided life cycles, there are various capabilities that the Software Asset Management application provides to improve life cycle coverage.

    Overview of product life cycles

    For better visibility of all the life-cycle phases, the following columns have been added to the Software Lifecycle Reports [sam_sw_product_lifecycle_report] table:
    • General Availability start date
    • General Availability
    • End of Support start date
    • End of Support lifecycle
    • End of Extended Support start date
    • End of Extended Support lifecycle
    • End of Life start date
    • End of Life lifecycle
    • Software model
    • Owners

    The Content Library provides approximated life cycle dates and life cycle codes which you can use to drive your life cycle reporting.

    You can also use calculated life cycles to create end-of-support (EOS), end- of-extended-support (EOES), and end-of-life (EOL) life cycles for your software products. Additionally, you can create custom life cycles to supplement missing life cycles or overwrite any existing ones from the Content Library.

    Approximated life cycles and life-cycle codes

    Approximated life cycles are provided by the Content Library when life cycle dates are not explicitly published by the publisher. The life cycle record may contain an actual date (through various methods of approximation) or an explanation as to why the date could not be provided. This explanation is captured in the Lifecycle codes.

    The Software Lifecycle Code [software_lifecycle_code] table, contains all the approximation codes along with a description of each code. For a detailed explanation of life-cycle codes, see https://support.servicenow.com/kb?id=kb_article_view&sysparm_article=KB1642485.

    A new column, Lifecycle code, is added to the Software Product Lifecycle [sam_sw_product_lifecycle] table. This column refers to the Software Lifecycle Code [software_lifecycle_code] table. If the column is populated, it indicates the record is an approximated lifecycle. If the column is empty, it indicates that the life cycle record has confirmed or explicit dates as published by the publisher.

    Approximated life cycles are enabled by default as part of generating the Software Lifecycle Report. This is managed in the system property com.snc.samp.use_lifecycle_approximation. For details on this property, see Software Asset Management properties.

    Life cycle code columns can also be added to the Software Lifecycle Report for each life cycle phase (GA, EOS, EOES, and EOL). This may require dot-walking the columns from the Software Lifecycle Code table. You should be able to identify which life cycle phase is approximated based on the existence of the codes.

    Calculated life cycles

    To further improve life cycle coverages, even after approximated life cycles have been considered, EOS, EOES, and EOL life-cycle dates can be calculated based on software life cycle averages, measured in months, from the GA dates.

    Software life cycle averages can be defined at the product level, publisher level, or industry level. For details on specifying software life cycle averages in the Software Asset Workspace, see Create averages for product life cycles in workspace and for specifying software life cycle averages in the Software Asset Management classic application, see Create averages for product life cycles in Software Asset Management classic

    You can override the GA date provided by ServiceNow by creating a custom GA date. The custom GA date always takes priority over the GA date provided by ServiceNow. The life cycles are calculated based on the product or publisher values that you specified. Life cycle dates are defined only at the generic version and not the full version. For details on specifying custom values in the Software Asset Workspace, see Create averages for product life cycles in workspace, and for specifying values in the Software Asset Management classic application, see Create averages for product life cycles in Software Asset Management classic.

    Software life cycle averages are stored in the Software Lifecycle Averages [samp_sw_lifecycle_averages] table. Lifecycle records created using these averages have their source column defined as calculated.
    Note:
    Life cycle averages can be created by the sam_user or the sam_admin role.
    Calculated life cycles come with the following prerequisites:
    • The Software Asset Management Professional (com.sn_samp_master) plugin must be activated.
    • GA dates available for the product either provided by the Content Service or custom GA dates that you created.
    • EOS, EOES, and EOL life cycles are not provided by the Content Service.
    • Product is shipped by the Content Service.
    • Life cycle dates are defined only at the generic version and not the full version.

    Custom life cycles

    Besides approximated life cycles and calculated life cycles, to further improve your life cycle coverage you can also create custom life cycles. Custom life cycles are records that you define at each life cycle phase for the product and version that you selected. You can type in the dates directly in the date fields, and these dates will take priority in the Software Lifecycle Report generation. You can also use this capability to overwrite an existing life cycle record that was provided by the Content Library.

    Custom life cycles can be created from either of the two locations on selecting New:
    • Software Product Lifecycles [sam_sw_product_lifecycle table.
    • Custom Software Product Lifecycle [sam_custom_sw_product_lifecycle] table.

    Software life-cycle process

    The scheduled job SAM - Generate Software Lifecycle Report aggregates life cycle data for all normalized software products which have non- zero installation counts. Each record on the Software Lifecycle Report table displays all life cycle phase columns along with their corresponding phase start dates, if the date is available. Life cycle codes can also be displayed to indicate whether the record is an approximated life cycle or not.

    The Software Lifecycle Report table also displays the Current Phase and Upcoming Phase columns along with their corresponding dates. For further details about these columns, see Software models and Software entitlements.

    Another scheduled job, SAM - Create Calculated Software Lifecycles, checks for all records on the Software Lifecycle Report table which have GA dates but are missing EOS, EOES, or EOL dates and creates calculated life cycles for them based on the definitions that you have created on Software Lifecycle Averages table.

    Keep the following in mind for the scheduled job SAM - Create Calculated Software Lifecycles to generate life cycles:
    • If domain separation is disabled, enable the com.snc.samp.generate.calculated.lifecycles system property in the System Property [sys_properties] table.
    • If domain separation is enabled, use the Application Properties [sys_application_properties] table to enable the com.snc.samp.generate.calculated.lifecycles property. In the Application Properties [sys_application_properties] table, select the com.snc.samp.generate.calculated.lifecycles property to open the Application Properties page. Scroll down to Application Property Values and select New to create a record. The Application Property and Domain fields are pre-filled with values. In the Value field, enter true and select Submit. You also need to enable reconciliation by specifying the value of the column Run asset process [run_asset_process] to be true in the Domain Asset Process Setting [alm_domain_asset_process_setting] table.
      Note:
      Reconciliation can be enabled either for the parent domain or for the child domain; it cannot be enabled for both the parent and the child domains.

    The calculated life cycles and the life cycles created by you are stored in the Custom Software Product Lifecycle [sam_custom_sw_product_lifecycle] table. Life cycles created by the Content Service are stored in the Software Product Lifecycle [sam_sw_product_lifecycle] table.

    If you create custom life cycles, calculated life cycles crated by the scheduled job gets deleted in the next Content Service update, as priority is given to the custom life cycles that you created.

    Once created, the EOS, EOES, and EOL life cycles are visible in the software model page.
    Note:
    If a sam_user or sam_admin deletes an EOS, EOES, or EOL life cycle on a software model, the life cycles aren’t reinstated back to the software model.