"The Digital Guide to Software Development" is a comprehensive book published by Digital Equipment Corporation in 1989, outlining the methodologies and tools used by its engineers for developing high-quality software products, from user applications to complex systems.
The core of Digital's approach is the "phase review process," an incremental and structured software development lifecycle divided into six phases:
- Strategy and Requirements: Identifying market needs, assessing technical feasibility, and defining product requirements.
- Planning and Preliminary Design: Creating product specifications, preliminary designs, and integrated project implementation plans.
- Detailed Design and Implementation: Executing plans, completing detailed designs, coding, and internal verification.
- Qualification: Field testing the product at external sites to ensure it meets requirements and specifications, preparing for final production.
- Manufacturing: Mass production, packaging, delivery, and servicing of the software.
- Retirement: Phasing out marketing, manufacturing, and service responsibilities for a product.
The guide places significant emphasis on Computer Aided Software Engineering (CASE) tools developed by Digital, including:
- VAXset: An integrated suite for design, coding, testing, and maintenance, comprising the VAX Language-Sensitive Editor, VAX Source Code Analyzer, VAX DEClTest Manager, VAX Performance and Coverage Analyzer, VAX DEC/Code Management System (DEC/CMS), and VAX DEClModule Management System (DEC/MMS).
- Management and Communications Tools: VAX Software Project Manager for scheduling and control, VAX/VMS Mail Utility for electronic communication, and VAX Notes for online conferencing.
- Documentation Tools: VAX DIGITAL Standard Runoff, VAX DOCUMENT, and DECwrite for creating high-quality project and user documentation.
- VMS Utilities: Such as the Message Utility and Command Definition Utility, and the VMS Run-Time Libraries (RTLs) for various programming functions.
Key themes and practices detailed in the book include:
- Project Management: Guidelines for team organization, project planning, scheduling, control, and comprehensive documentation throughout the lifecycle.
- Design Methodologies: High-level and detailed design processes, the use of prototypes, and human interface design principles (including DECwindows).
- Coding Guidelines: Detailed conventions for readability, naming, commenting, and conducting code reviews (informal walkthroughs and formal inspections).
- Testing Process: Unit, integrated, regression, and performance testing strategies to ensure product correctness and efficiency.
- Maintenance: Procedures to minimize costs by planning for maintainability from early stages, utilizing tools like DEC/CMS for configuration management and problem reporting.
- Standards: Adherence to internal VAX standards (e.g., Procedure Calling and Condition Handling Standard, Modular Programming Standard) and external industry standards like IEEE.
- International Product Development: Guidelines for designing software adaptable to global markets.
Intended for software development managers, engineers, technical writers, and students, the book provides practical insights into Digital's structured approach to software development, emphasizing productivity, quality, and effective project control.