Visual Basic

Investing in Reuse

As you saw in Chapter 14, reuse is an obvious source of medium- and long-term benefits to an organization. Visual Basic 6 provides a series of features to help in this area. These features require investment of time and, as a result, money for a business to benefit from them. This is where we hit the tired old argument about "Who will pay for reuse?" It should be recognized that reusability is a function of good design. This is true regardless of whether or not reuse is a design objective. A good design supports change, it supports the unknown future, and it is flexible. These characteristics give reusability.

The required investment in many major organizations is in design and designers. This is often an unpalatable truth to be faced. You need to actively look for things that can be reused from other applications. Each project should have a task attached to it for "trawling" or "scavenging" for reuse. If the organization has an organized reuse catalog of components and patterns, this is an obvious starting point. However, few organizations appear to have done such cataloging well, if at all.

An effective approach is to schedule a series of short meetings with the design leaders in other projects. At these meetings, discuss the existing application and the new application both technically and from the business point of view and identify similarities. These areas of similarity should point to reuse. Then take a guided tour of the similar parts of each application. Reuse any applicable code, ideas, or good practices. Generally speaking, one workweek should be sufficient for trawling.

Contribute to the reuse catalog, or start one. Reuse comes for free with good design. Duplication is a product of politics.

Finding the Right Tools

Basic data modeling tools are adequate for small-scale development. If application development is extended to large-scale Visual Basic 6 distributed development, a sophisticated CASE tool is required that supports object modeling and partitioning the application into components that can be distributed among processors. Such a tool will require a higher level of expertise to use. A source code control system will be required to manage the software and documentation when applications become of significant size or complexity.

An essential part of managing the risk in Visual Basic 6 distributed development is testing performance under realistic stresses. Load-testing tools are available to assist in this process. Other classes of test tools test the user interface and the code structure.

To use such tools effectively, you must first understand them and then use a method to guide their use during development. Most tools and methods are not mature; some might not exist. Test the methods with the tools. Old methods might not be appropriate or might need adapting.