Software Asset Management reduces development cost and time while improving architectural integrity by facilitating reuse of software and systems development assets. With asset management, organizations can securely communicate across disparate teams and eliminate rework with asset-based reuse and best practices. It lowers costs and complexity of compliance by securing intellectual property sharing and it accelerates service delivery and improves overall Service Oriented Architecture (SOA) life-cycle governance with easy discovery and deployment of services. Most importantly, asset management ensures assets are not lost after project completion and when team members are transferred to other projects.
Importance of Software Asset Management
Organizations require an enterprise wide asset management solution to aid them in the creation, cataloging, storage, retrieval and management of assets throughout the project lifecycle. Artifacts of value to the organization at an enterprise, portfolio, program or project level, should be grouped and categorized into assets as they are produced. Unlike a file structure, the “drop-and-hope-to-find” method, where files are dropped into directories without a guide or a formal process for storage, access and retrieval, an asset management solution should rely on a centralized repository and a workflow engine to manage and govern asset lifecycles. It should promote collaboration among team members to share important information and collaborate on projects.
An asset management solution should have an innovative classification schemes, and should provide a sophisticated search engine for finding and retrieving assets. In addition to indexing the artifacts contents, the solution should support a formal taxonomy for categorizing assets. It should also support social bookmarking, also known as “folksonomy”, where assets are tagged with keywords that are meaningful to the users resulting is a user-directed and informal classification of assets. The solution should provide the flexible combination of formal and informal classification significantly improves search results, which directly increases the rate of asset reuse and return on investment in asset creation.
The solution should provide a collaborative environment for creating and governing software assets. Through a configurable lifecycle management, the solution should provide capabilities for governing and creating assets and the mechanisms for managing asset workflow from concept, development, build, deployment and retirement.
The solution should also provide a collaborative application lifecycle management with control mechanisms to ensure access to assets are controlled; the necessary measurement to gauge effectiveness; and policies to verify compliance with rules.
Asset lifecycles should be used to govern the use of assets. It should have states and lifecycles combined with policies to enforce rules for usage of the assets. The reviewers may approve, reject or comment on assets, ensuring only high-quality assets are maintained in the definitive library.
Beneficiaries of an Asset Management Solution
Assets are created throughout the project lifecycle. Assets are proxies to the real world of a project. They are collections of tangible artifacts that represent the real world. Figure 1. depicts the linkage of assets in relationship to Portfolio, Enterprise Architecture, Project and development lifecycle. At each level, specific stakeholders are the creators and beneficiaries of the assets as described below.
At the PMO level, where projects and programs investments are initiated, planned, prioritized and transitioned for execution, many important artifacts are created (eg; communications plan, procurement plan, high level project plan, business requirements, business case, performance measures, cost benefit analysis, resource plans, earned value analysis, etc.). These artifacts are rolled into assets that are managed and controlled by the PMO office.
At the Enterprise Architecture level, where the “Ends” that the organization wants to attain and the “Means” by which they will get there are defined, many critical artifacts are captured. This includes the mission tactics, business processes, strategic plans, and business plans among others. An asset manager solution becomes a critical component for capturing and managing these assets.
At the Project Management level, where planning, organizing, reporting and managing the projects occur, several artifacts are produced including status reports, risk plans, detailed project plans, milestone deliverables, risk assessment, user acceptance testing, project audits, communication plans, emails, testing plans, training plans, project requirements, scope, budget among other artifacts are created. Project Managers, using an asset manager solution, can store and manage these artifacts.
Throughout the application development lifecycle level, the specific artifacts associated with achieving the milestones of each phase can be stored as assets. The assets for each phase are related through an association (relationship) to assets in subsequent phases. The result at the end of a project is a navigable network of assets that communicate deliverables and promote re-use.
Usage Patterns for an Asset Management Solution
There are different patterns for an asset management solutions . Some of these patterns are depicted in Figure 2 below.
Knowledge Base Repository – One aspect of an asset management solution is to be used as a knowledge repository, where organization or agency information is captured, organized and stored. The repository should be searchable as it becomes a central source and dissemination of information.
Reuse – Another aspect is to provide the ability for users to search for and harvest existing assets. Assets types commonly reused by developers include services specifications and descriptions, components, frameworks, templates, business processes models and implementations, and building block assets such as application assembly and subsystems. Assets reuse improves quality and security, reduces redundancy, provides a common technology domain, decreases costs and increases team productivity.
Governance – An asset management solution provides a governance framework by clearly establishing who can submit, review, approve, search for, reuse, modify, and retire assets. It also provides statistics that help monetize the assets that are being reused, and by tracking searches, what assets are needed. Additionally, it provides the means for controlling asset risks using policies and reports.
Impact Analysis & Trace-ability – Understanding the relationships and dependencies between assets is a valuable aid to architectural insight and a key input to impact analysis. Asset management provides the ability to programmatically or visually traverse the network of asset associations, such as the relationship amongst development time assets and the relationship to infrastructure assets.
Broker – An asset management solution provides governance of assets across communities. For example, one community describing needs (Business Domain), another community realizing needs and submitting solutions to repository (Technical Architecture Domain).
Catalog – With an asset management solution one can track assets with largely remote references to artifacts; often leaving them in their original location, such as in a version control repository, but as a single entry point for discovery and navigation of references.
Business Intelligence – An asset management solution provides customizable reporting on asset activity, trends, and the financial impact of the asset program.
I hope you found this post interesting. See you at my next post.
About the Author
Sami Joueidi holds a Masters degree in Electrical Engineering and an Enterprise Architecture certification from Carnegie Mellon. He has over 20 years of experience as a technical leader of complex IT projects for Fortune 500 firms, in diverse roles such as Systems Integrator, DevOps, Cloud Architecture, Enterprise Architecture and Software Development & Release Management. He guides customers on how to leverage the latest technology trends to their advantage and helps them with their Cloud adoption strategies.
© Sami Joueidi and www.cafesami.com, 2015. Excerpts and links may be used, provided that full and clear credit is given to Sami Joueidi and www.cafesami.com with appropriate and specific direction to the original content.