SCSI Subsystem Proactive Maintenance PROBLEM STATEMENT The OpenVMS SCSI subsystem has become difficult to maintain, understand, or extend and needs to be made simpler in all these categories. Basic flaws which now exist have the following causes: 1. No comprehensive written high level design (architecture) nor component designs exist save the code sources themselves. Some oral design tradition exists, but essentially all key individuals who originated this tradition have left, so that even the oral design tradition is weak and partial. Much of the subsystem was implemented with no available overall picture of the subsystem at the top level. Thus no comprehensive design exists for VMS SCSI now at all. 2. The code base has had a long history of changes in spite of this, which have not been implemented consistently. Not surprisingly, component interfaces are not clean or consistent, and information passed by side effects of data manipulations is common. 3. The difficulty of understanding the environment of changes has made them slow to implement and often fragile when implemented. Some areas remain maintainable, but the difficulty of maintenance is growing, and the learning curve for the code base is steep. This has led to schedule pressure which has at times made it necessary to perform partial, not complete, fixes for problems. As a result, the SCSI group has difficulty making fixes or enhancements to the code base. People new to the SCSI group must undergo a long process of code reading to get up to speed, which limits what resources can be applied to designs or to reviews. Partly due to these problems, customers see many desired features slowly or not at all. Most notably, support for wide SCSI, extra SCSI LUNs, added features on disks and tapes, new device types, and commodity SCSI devices is able to be added only slowly. Also, it has been difficult to provide information needed for third parties to write new class drivers for VMS SCSI or to be as quick as we should be to handle the customer problem report backlog. The problems are thus visible both internally and to customers.