Product life cycles
Summarize
Summary of Product life cycles
The Software Asset Management (SAM) application enhances software product life cycle visibility by adding detailed life cycle phase columns to the Software Lifecycle Reports table. These phases include General Availability (GA), End of Support (EOS), End of Extended Support (EOES), and End of Life (EOL), along with corresponding start dates and life cycle durations. The Content Library provides approximated life cycle dates and codes to support life cycle reporting, while calculated and custom life cycles allow customers to supplement or override missing or existing data.
Show less
Approximated Life Cycles and Life Cycle Codes
When vendors do not publish explicit life cycle dates, the Content Library supplies approximated dates and explanations via life cycle codes. These codes, stored in the Software Lifecycle Code table, clarify why approximations are used. A new Lifecycle code column in the Software Product Lifecycle table indicates whether a record is approximated or confirmed. Approximated life cycles are enabled by default and can be managed with the system property com.snc.samp.uselifecycleapproximation. Life cycle code columns can be included in reports to identify approximated phases.
Calculated Life Cycles
To improve coverage beyond approximations, the SAM application can calculate EOS, EOES, and EOL dates using software life cycle averages based on GA dates. These averages are configurable at the product, publisher, or industry level and stored in the Software Lifecycle Averages table. Calculated life cycles require:
- Activation of the Software Asset Management Professional plugin
- Availability of GA dates (from Content Service or custom entries)
- Software products shipped by the Content Service
- Life cycle dates defined only at the generic version level
Custom GA dates override Content Service GA dates and take precedence in calculations.
Custom Life Cycles
Customers can define custom life cycles to enter or overwrite life cycle dates manually for any phase. These custom records take priority over Content Library or calculated life cycles and are stored in the Custom Software Product Lifecycle table. Custom life cycles can be created from either the Software Product Lifecycles or Custom Software Product Lifecycle tables.
Life Cycle Process and Reporting
The scheduled job SAM - Generate Software Lifecycle Report aggregates life cycle data for installed software products, including phase dates and lifecycle codes indicating approximations. Another scheduled job, SAM - Create Calculated Software Lifecycles, generates calculated life cycles for records missing EOS, EOES, or EOL, based on defined averages.
To enable calculated life cycle generation:
- Enable the com.snc.samp.generate.calculated.lifecycles system property (with specific steps depending on domain separation)
- Enable reconciliation by setting runassetprocess to true in the Domain Asset Process Setting table
Calculated and custom life cycles are stored separately, with custom life cycles having higher priority. If a custom life cycle exists, calculated life cycles are deleted during Content Service updates. Life cycles are visible on the software model page for reference.
Note: Deleting EOS, EOES, or EOL life cycles on a software model does not restore them automatically.
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
- 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.
- 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.
- 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.
- 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.