Gives a framework for extending the software life-cycle processes to include the practice of reuse. The processes, activities and tasks that are to be applied during each phase of a software life cycle to enable a software product to be constructed from assets, are described.