Component-based design may degrade system usability: Consequences of software reuse (original) (raw)

Component-based design is gaining attention as a potentially feasible approach to software reuse. An important aspect of this reuse potential lies in the possibility of turning existing applications into functionally rich, reusable components and, thereby, preserving the investment in legacy systems. Based on fieldwork in a software development company where this practice has been adopted, this study analyzes how the consequences of component-based design reach beyond the development process and well into system use. It is argued that functionally rich components add new complexities to the mapping between the system and the real world, and may lead to degraded system usability. In the field study, the potential usability issues involved in relying on functionally rich components include a fragmented system image, task gaps, conceptual mismatches, rekeying, scalability problems, and added education and training. Systems development companies should be wary not to uncritically adopt techniques that support reusability at the expense of usability.