Iterative and incremental development of component-based software architectures
Code Conjurer: Pulling Reusable Software out of Thin Air