Browse Prior Art Database

Automated deprecation and removal of software components in SaaS and PaaS systems

IP.com Disclosure Number: IPCOM000241972D
Publication Date: 2015-Jun-11
Document File: 2 page(s) / 50K

Publishing Venue

The IP.com Prior Art Database

Abstract

By tracking the usage of software components, via embedded meta-data in code (added during the development cycle) to monitor the usage of that code, components that are not being used, being used by a low number of users/other components, or are determined to be non-strategic, can become candidates for deprecation review, and if determined so, can be automatically deprecated in documentation, code and user interfaces. After a set amount of time/releases, the deprecated component will be automatically removed from the build/deploy/test/documentation systems. In a cloud/continuous integration environment this will keep the system lean and focused on the components that users actually make use of, and will have less scope for side-effects (e.g. build breaks, behaviour changes) when other components are developed further.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 2

Automated deprecation and removal of software components in SaaS and PaaS systems

A great deal of developed software components are in service and maintenance mode. Components/features are created and added to software systems, but over time they may be replaced by other/better components or may not be picked up and used by customers. Additionally, the deep knowledge about the software component is lost as developers, testers, etc move on to other projects, companies, etc.

    However, software in service & maintenance mode still has a cost associated with it. For instance, if other components it depends upon are updated there may be code changes to make to maintain functionality. Eventually, components can be deprecated and removed from the system, but this is a manual process which has a cost, as the deprecation & removal process requires understanding of how and where the component is used and how many customers rely on that component and will need to be migrated.

    SaaS and PaaS systems in the cloud need to be as lean as possible, and business pressure calls on the development process to be as efficient as possible. Maintaining software components is a cost to the development process that has little benefit when the software component in question has few or no users.

    If components are not being used, being used by a low number of users/other components, or are determined to be non-strategic, they can become candidates for deprecation review, and if determined so, can be automatically deprecated in documentation, code and user interfaces.

    After a set amount of time/releases, the deprecated component will be automatically removed from the build/deploy/test/documentation systems. In a cloud/continuous integration environment this will keep the system lean and focused on the components that users actually make use of, and will have less scope for side-effects (e.g. build breaks, behaviour changes) when other components are developed further.

    The usage of code is monitored and then, using this usage data, automatically determining components that can be removed from a system and eventually automatically removing them. Thus providing a system that remains lean and avoids service and...