roduct almost from scratch. Product developers who can't reuse components across applications must constantly reinvent the wheel, asserts a study by McKinsey & Company, a management consulting firm based in New York. Component reusability remains rare because speedy growth ruled the telecom industry during the boom years of the late 1990s, when companies had neither the time nor the inclination to consider which software components could be reused in other products. The quickest way to get out new offerings was to patch the existing architecture by forging connections between whatever systems immediately needed them. The result was an increasingly complex, spaghetti-like architecture littered with incompatible stand-alone systems. Such systems were based on software from a number of vendors and often using a variety of incompatible data formats, such as customer databases with different sets of vital statistics. To illustrate the problem, the McKinsey report offers the example of a mobile device restaurant finder. An operator developing such a product starts by defining its characteristics, how to deliver the information to the subscriber (such as SMS, the Multimedia Messaging Service or the mobile Internet), and a pricing scheme. The programmers then work on creating the applications, databases, and interfaces. All of this makes for an arduous process, involving thousands of hours of coding and adding greatly to the project's cost. Such a product also requires a variety of support features, including a restaurant database, customer profiles, and systems for locating and billing subscribers. Unfortunately, such features aren't always readily available. Infor- ON THE MENU-TELECOM SERVICES mation about customers, for example, will almost certainly be spread over mul- tiple databases and applications. Programmers may be able to access it, but they will need time to understand the code and data structures of legacy appli- cations, as well as time to create interfaces to legacy databases and to combine and match custo