Code Reuse in the Enterprise
by the editors of magazine
The editors of Enterprise Architect interviewed Charles Stack, founder and CEO of Flashline Inc. Stack will speak at the Enterprise Architect Summit conference in Palm Springs on October 14, 2003.
Founder and CEO, Flashline Inc.
FTPOnline: How important is the issue of code reuse in today's heterogeneous workplaces?
Stack: There are two themes that support the case for reuse in today's heterogeneous organizations. First, the trend toward moving software development teams to decentralized business units and the increasing use of outsourcing has made reuse a necessity. Autonomous groups by their very nature will re-invent the wheel many times over. Second, reuse has move beyond "code reuse" to include a wide range of assets that can be used in multiple applications and projects. An organization's software assets could include any artifact related to the software development life cycle such as code components, Web services, patterns, models, frameworks, architectural guidelines, and process templates. If organizations do not reuse their software assets, the ever-increasing cost of ongoing software maintenance will cause IT budgets to skyrocket and decrease an organization's ability to respond to new business challenges.
FTPOnline: What quantifiable impact does reuse have on the bottom line?
Stack: The impact of reuse is threefold. First, software projects can be delivered more rapidly and at lower cost through the use of existing software assets. Second, minimizing redundant software development reduces maintenance costs. Third, software quality greatly improves through the use of existing, operationally tested assets. The total impact of these improvements is dramaticin the five-to-ten times rangeespecially as organizations make use of their assets beyond individual or project levels, that is, across the enterprise.
FTPOnline: How can managing your development process reduce software redundancy?
Stack: The key method for reducing software redundancy is to take an enterprise-wide, asset view of development so that redundancy can be eliminated before it even begins. It is very expensive to reduce redundancy after it has already occurred. Organizations will greatly improve their efficiencies by proactively using available assets and by identifying overlapping areas of new development so that new, sharable assets can be developed.
FTPOnline: Why does the move to Web services demand more of a reuse-like discipline in software development?
Stack: The full potential of Web services will only be realized through a culture of reuse where the preference is to utilize existing functionality wherever possible. One of the keys to the successful reuse of anything is to make assets available to the widest possible audience of users. The reuse culture encourages this behavior. Additionally, some of the most common uses of Web servicesexposing legacy applications and packaged functionalityprovide limited ability to modify underlying software, making an even greater case for reuse today.
Back to top