This article from Informit's IT Management Reference Guide discusses techniques for managing software inventories, from the benefits of an inventory to how to keep your database up to date.
This article discusses techniques for managing software inventories. The article begins by describing the benefits of such an inventory. The second part discusses how two critical infrastructure processes can be used to help keep a software inventory database accurate and up to date. The final portion describes how a software inventory database may be used as the primary tool to track the current versions, releases, and maintenance patch levels of various software components, as well as the equipment on which they're running.
Benefits of Software Inventories
A variety of benefits arise from a well-managed software inventory. These advantages fall into two broad categories of costs and compatibility. On the cost side, an accurate software inventory can save a company substantial costs by identifying the misuse of expensive software licenses. Licenses may have been duplicated, may have expired, may never have been used, or may warrant greater volume discounts.
On the compatibility side of these benefits, time and effort can often be saved by maintaining an up-to-date software inventory. Knowledge of the current version and release levels of each piece of software can prevent costly delays to the deployment of software upgrades, or even new applications. Analyzing software inventories can also lead to proactive management. For example, such analysis may identify the absence of key software such as virus protection and other security software.
Processes To Manage Software Inventories
The same two infrastructure processes that play an important role in managing hardware inventories, configuration management and change management, play a comparable essential role in software inventory management. A truly robust configuration process consists not only of software information, but all other relevant IT configuration items, including descriptions of software, hardware, network equipment, user manuals, organization charts, and copies of other documentation.
When integrated with a well-designed change management process, configuration management can ensure that all pertinent software information is accurate and thorough. Thorough software information includes version and release levels, maintenance patch levels, upgrade compatibility, number and costs of licenses, expiration dates, and support provisions. The change component of this dual-process environment ensures that appropriate IT personnel first approve all changes that affect software costs, configurations, or support, and then update the appropriate aspects of configuration management before executing the change.
Use of a Software Inventory Database
There are a variety of ways to maintain a software inventory, from simple spreadsheets to sophisticated online tools that update records automatically whenever a software change is made. Similar to the recommended approach to hardware inventories, a software inventory database that is part of a larger, relational configuration database is highly recommended, yet simple to implement and affordable in cost. The advantage of this approach is that the configuration database, when coupled with change management as described earlier, ensures that the software inventory is updated quickly and simply and therefore always remains up to date. This technique helps ensure software compatibility at the lowest possible cost. The following list shows a high-level sample of possible hardware entries for a configuration database:
- Application software
- In-house developed
- Enterprise resource planning (ERP)
- Commercial off-the-shelf (COTS)
- System/control software
- Operating systems (O/S)
- Network operating systems (NOS)
- Database management systems (DBMS)
- Miscellaneous software items
The level of detail in a particular company's software inventory obviously depends on the company's size, scope, and maturity. Most importantly, the initial definition and design of this database depends on the objectives of the configuration management process.
Read more at Informit's IT Management Reference Guide.