Software reuse: a holistic approach
Software reuse: a holistic approach
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
The role of trust in outsourced IS development projects
Communications of the ACM
ACM SIGMIS Database - Special issue on adoption, diffusion, and infusion of IT
Success and Failure Factors in Software Reuse
IEEE Transactions on Software Engineering
Why Do So Many Reuse Programs Fail?
IEEE Software
Design for Large Scale Software Reuse: An Industrial Case Study
ICSR '96 Proceedings of the 4th International Conference on Software Reuse
Software reuse: from library to factory
IBM Systems Journal
New methods in software product line practice
Communications of the ACM - Software product line
Innovation in Large-Grained Software Reuse: A Case from Banking
HICSS '07 Proceedings of the 40th Annual Hawaii International Conference on System Sciences
Hi-index | 0.00 |
Introduction Many organizations are successful with software reuse at fine to medium granularities -- ranging from objects, subroutines, and components through software product lines. However, relatively little has been published on very large-grained reuse. One example of this type of large-grained reuse might be that of an entire Internet banking system (applications and infrastructure) reused in business units all over the world. In contrast, "large scale" software reuse in current research generally refers to systems that reuse a large number of smaller components, or that perhaps reuse subsystems. In this article, we explore a case of an organization with an internal development group that has been very successful with large-grained software reuse. BigFinancial, and the BigFinancial Technology Center (BTC) in particular, have created a number of software systems that have been reused in multiple businesses and in multiple countries. BigFinancial and BTC thus provided a rich source of data for case studies to look at the characteristics of those projects and why they have been successful, as well as to look at projects that have been less successful and to understand what has caused those results and what might be done differently to prevent issues in the future. The research is focused on technology, process, and organizational elements of the development process, rather than on specific product features and functions. Supporting reuse at a large-grained level may help to alleviate some of the issues that occur in more traditional reuse programs, which tend to be finer-grained. In particular, because BigFinancial was trying to gain commonality in business processes and operating models, reuse of large-grained components was more closely aligned with its business goals. This same effect may well not have happened with finer-grained reuse, due to the continued ability of business units to more readily pick and choose components for reuse. BTC is a technology development unit of BigFinancial, with operations in both the eastern and western US. Approximately 500 people are employed by BTC, reporting ultimately through a single line manager responsible to the Global Retail Business unit head of BigFinancial. BTC is organized to deliver both products and infrastructure components to BigFinancial, and its product line has through the years included consumer Internet banking services, teller systems, ATM software, and network management tools. BigFinancial has its U.S. operations headquartered in the eastern U.S., and employs more than 8,000 technologists worldwide. In cooperation with BTC, we selected three cases for further study from a pool of about 25. These cases were the Java Banking Toolkit (JBT) and its related application systems, the Worldwide Single Signon (WSSO) subsystem, and the BigFinancial Message Switch (BMS).