We develop a design method that promotes flexible component design based on a common component platform with various plug-ins. The approach increases the flexibility and expandability of software components, which improves their reuse opportunities. We argue that such a flexible component design can expand reuse from relatively small infrastructure items, such as user interfaces, printing functionality, and data access modules, to the core of the application domain. Reusing such domain-specific items helps realize the true value of component-based software development. Following a design science research approach, we evaluated the component design method by assessing its correctness and its application to different scenarios. We also recruited a panel of experts to assess it