Modernization Hub

DWIM - Do What I Mean

Enhanced Definition

"Do What I Mean" (DWIM) is a design philosophy where a system attempts to infer a user's intent and perform the most likely desired action, even if the explicit command or input is incomplete, ambiguous, or contains minor errors. While less prevalent in traditional, highly explicit mainframe environments, the concept can appear in specific tools, utilities, or user-developed scripts designed for convenience and ease of use. In the mainframe context, "Do What I Mean" (DWIM) refers to system behaviors, design philosophies, or features that implicitly interpret user intent or provide intelligent defaults to simplify operations, reduce explicit configuration, or automatically handle common scenarios. It aims to make complex systems more user-friendly by anticipating common needs and reducing the burden of explicit instruction.

Key Characteristics

    • Contextual Interpretation: The system uses surrounding information, defaults, or common patterns to deduce the user's likely intent rather than strictly adhering to explicit syntax.
    • Error Tolerance: It may automatically correct minor syntax errors, typos, or omissions, reducing the need for perfect input.
    • Implicit Actions: Performs actions that are not explicitly commanded but are logically implied by the user's input or the current system state.
    • Limited Scope in Mainframes: In z/OS, DWIM-like behavior is typically confined to specific interactive utilities, front-end interfaces (like ISPF), or custom automation scripts (e.g., REXX, CLIST), rather than being a core operating system design principle.
    • Trade-off with Explicitness: Often contrasts with the mainframe's traditional emphasis on explicit control and verbose commands, which prioritize clarity and predictability over inference.

Use Cases

    • ISPF Command Line Processing: Some ISPF commands or utilities might exhibit DWIM-like behavior by accepting abbreviations, providing smart defaults, or interpreting context (e.g., TSO ISRDDN might implicitly list datasets relevant to the current user).
    • REXX Execs and CLISTs: Developers often write REXX or CLIST programs that incorporate DWIM principles, allowing users to provide minimal input, and the script then infers missing parameters or performs default actions based on common scenarios.
    • Modern Mainframe Interfaces: Newer web-based or GUI tools for z/OS, such as those built on Zowe or IBM Explorer for z/OS, may integrate more DWIM-like features to simplify interactions and improve the user experience for less experienced users.
    • Utility Programs with Intelligent Defaults: Certain system utilities might have intelligent default behaviors that "do what you mean" if specific parameters are omitted, assuming the most common or safest action.

Related Concepts

DWIM stands in contrast to the highly explicit nature of core mainframe technologies like JCL (Job Control Language) and COBOL, where every instruction must be precise and unambiguous. While not a native mainframe concept, it relates to user experience (UX) design principles applied to mainframe interfaces, aiming to reduce cognitive load. It is often implemented through scripting languages like REXX or CLIST to add a layer of user-friendliness on top of more rigid system commands, bridging the gap between explicit control and user convenience.

Best Practices:
  • Document Inferred Behavior: If implementing DWIM-like features in custom scripts or tools, clearly document what actions are inferred and under what conditions to prevent confusion.
  • Prioritize Explicitness for Critical Tasks: For production JCL, system administration commands, or critical applications, always prioritize explicit control and clear syntax over inferred actions to ensure predictability and auditability.
  • Provide User Feedback: When a system infers intent or corrects input, provide clear feedback to the user about what action was taken, allowing them to understand and verify the system's interpretation.
  • Thorough Testing: DWIM-like features must be rigorously tested across various scenarios to ensure that the system's inferences consistently align with user expectations and do not lead to unintended consequences.
  • Balance Convenience with Control: Strive for a balance where convenience is enhanced without sacrificing the precision and control that are fundamental to robust mainframe operations.

Related Vendors

ASE

3 products

Broadcom

235 products

IBM

646 products

Applied Software

7 products

Trax Softworks

3 products

Related Categories

CASE/Code Generation

19 products

Databases

211 products

Transactions

29 products

Encryption

41 products