|
|
 |
Software Asset Management

|
EDRM Enterprise Development Resource Management
Enterprise Development Resource Management (EDRM) is a new paradigm for the management of development resources in the enterprise. EDRM leverages the various information assets that exist in the enterprise and applies enterprise-centric management to the information, to provide developers with Search and Reuse, Collaboration, Impact Analysis, Knowledge Management (KM), and other capabilities. Unlike previous attempts at managing development resources, EDRM is based on an automated mechanism which integrates with existing development processes and systems to provide a low cost, low maintenance solution.
EDRM suggests a way to leverage the information resources (source files, design documents, test suites, documentation, configuration managment systems meta information) for various uses. Consider, for example, a Java developer who needs to develop a servlet that accesses a DB2 database. The developer will want to know if something similar has already been developed in the organization or how to contact other developers with experience in servlets and databases. This type of information is actually hidden inside development resources and configuration management systems. Such capabilities are of special importance for large and distributed software organizations where knowing what exists, where it is located, and who is doing what, is a tremendous challenge.
EDRM is comprised of the following major phases:
- Discovery – involves the discovery of information sources from legacy repositories and systems, and the collection of relevant information about them. This type of activity is complex because the information may be distributed among multiple locations and may exist in various formats. To make the discovery process profitable, it must be performed with minimum user/administrator interaction and include incremental discovery of new resources. If established organizational processes exist where users contribute information sources (e.g., component library), they should also be collected.
- Analysis – entails the extraction of textual and semantic features from the discovered development resources and meta information from the domain repositories. Identifying the "correct" semantic features and how they can be leveraged is essential for the success of the EDRM solution. Additional processing can also be applied at this phase, and may include cataloging or categorizing resources into predefined domain taxonomies.
- EDRM central repository – lies at the heart of the EDRM solution and stores the extracted features and the analysis results. The repository should be scalable to support large amounts of data and support both structured and unstructured searches. It should also be kept in sync with the discovered domain as information sources are constantly being added, deleted, and modified in the domain.
- Global analysis – provides additional types of analysis that take into consideration a global view of the entire domain; this is done once the EDRM repository has been populated. Global analysis can include finding relationships between development resources, finding duplications, identifying dependencies, accumulating statistics, performing data mining, enforcing coding conventions, and more. The results of the global analysis are also stored in the EDRM repository.
- Implementation of EDRM capabilities – provides services that will leverage the information accumulated in the EDRM repository and transform it into EDRM features that can be utilized by developers and/or by development tools. For example, this may include a search interface for finding reusable code, navigation interfaces for exploring the enterprise repositories, and more. As users begin to work with the system, usage profiles about the users and other runtime information such as statistics, can be recorded in the EDRM repository and leveraged for other types of activities. The tools must be open and extensible to for allow easy integration of the capabilities into the existing tools and processes.
- Integration of EDRM capabilities into existing systems and processes – integrates and ‘sews’ the EDRM capabilities into existing processes and tools, such as IDEs, Portals, and KM systems.
EDRM Phases
Click to see full size image
| |
|
|