DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
DevX Skillbuilding for IBM DeveloperWorks
Get regular email alerts when we publish new features!
DevX Update for IBM developerWorks

More Newsletters
 Print Print
Reuse 101: Why You Need to Centrally Manage Your Software Assets
Governance, developer productivity, business agility, communication, the list of what your company is requiring goes on and on. If you're not centrally managing your software assets, you and your organization are toast and any hope of software reuse is mired in a sea of artifacts. Learn why you need a central software asset manager and why IBM Rational Asset Manager is just the ticket. 

More Resources
  • Try Rational Asset Manager Online
  • Rational Asset Manager eKit
  • Webcast: Develop Systems Software Assets with IBM Rational Asset Manager
  • Your boss just pulled you off your current project and asked you to come in on Friday night to help out on another project that has run into trouble. The new customer credit verification web service recently deployed at one of your top tier customers is experiencing random errors. And lucky you—you have the entire weekend to find and fix the problem. All you need to know is the location of the assets—the specifications, the business process models, the source code, the WSDL files, and the test cases—and you are in business. The problem is the developers who know that information worked all night resolving another problem with the new software release and already left for the day. As you start scrambling to find the location of all the right versions of the artifacts that were actually deployed, you think, "So much for making that family picnic on Sunday. There has to be a better solution."

    Numerous, different types of software artifacts are created and used during a software development cycle such as design documents, business process models, UML models, specifications, source code, test cases, etc. The goal of most companies is to find a way to quickly and accurately identify the right versions of those artifacts when needed—something that is very difficult to do with most of today's repositories. They also need a way to better understand or get information about other factors pertaining to the artifacts in an asset, such as identifying who the developer or business owner is for an application or service—or even understanding what is required to get a mission-critical operational system back online.

    Furthermore, if those artifacts are part of an SOA project, you also want to be able to reuse them as often as possible. Why? When implemented properly, software reuse enables organizations to increase productivity while reducing development costs and increasing ROI. Software reuse, however, is contingent upon being able to locate, transfer, and apply all types of software artifacts and knowledge about one system to another system. It also relies on software assets—complete solutions that have the potential for reuse. Software assets are made up of all the individual artifacts associated with a particular model, component, framework, generator, language, or a methodology, and are described by metadata. Additionally, the relationships between the artifacts are just as important as the artifacts themselves—such as the fact that a particular model, code, interface definition, and test suite all are part of a single reusable asset, at a particular version level.

    Too many organizations treat and store their reusable, valuable assets as just another version of a software artifact because they have no central place in which to store them. Without a central, intelligent repository, capable of managing assets, there is no easy way to identify and reuse them. As a result, many developers end up creating a new set of assets to solve the type of problem discussed earlier. This undermines the efforts of creating reusable software and only exacerbates the problem. Furthermore the metadata that describes the pertinent information (data) about a particular piece of content for these improperly stored software assets is usually absent or incomplete.

    Assets that have been developed can be made available on an application server, or you can publish the interfaces for a service asset to a repository like IBM WebSphere Service Registry and Repository. Although you may not always need an asset-based repository, you may need to have an efficient way to handle the asset instantiation lifecycle for each development project. And you still have the problem with the metadata being stored elsewhere—apart from the asset. If you are looking for a solution that manages, stores, and easily retrieves any kind of complete asset—including its metadata—then it's time you consider IBM Rational Asset Manager (RAM).


      Next Page: The Power and Flexibility of IBM Rational Asset Manager
    Page 1: Getting Started with Asset ManagementPage 2: The Power and Flexibility of IBM Rational Asset Manager
    Submit article to:
    Featured Resources from IBM