Huge size and high complexity of legacy software are the main sources of today's software evolution problems. While we can ease software evolution with re-engineering tools, in the long term, we should look for a more fundamental and effective solution. Component-based software development (CBSD) technology makes it possible to build software systems as collections of cooperating autonomous application components. This new paradigm has a potential to ease software evolution problems as modification or replacement of components is deemed to be much easier than modification of today's huge monolithic legacy programs. For CBSD to bring promised benefits, we must identify the right components in a given business domain. The claim of this paper is that while CBSD is an important enabling technology, the decomposition of a software system into components must be driven by business considerations. If we let logical models of business processes drive planning and design of software ...