Functional - Operational
This distinction refers to the two primary dimensions along which a mainframe system, application, or component is evaluated and managed: its intended capabilities and business logic (**functional**) versus its runtime behavior, performance, availability, and manageability in a production environment (**operational**). In z/OS, it emphasizes that a system must not only *do what it's supposed to do* but also *do it well, reliably, and efficiently*.
Key Characteristics
-
- Functional Focus: Addresses *what* the system does, including business rules, data processing, user interactions (e.g., CICS transactions), and report generation.
- Operational Focus: Addresses *how* the system performs, covering aspects like response time, throughput, resource utilization (CPU, I/O, memory), reliability, security, recoverability, and ease of management.
- Interdependence: A system that is functionally correct but operationally poor (e.g., slow, unstable, resource-intensive) is not suitable for production. Operational excellence is crucial for delivering functional value.
- Testing Phases: Typically corresponds to different testing phases; functional testing validates correctness, while performance, stress, volume, and recovery testing validate operational readiness.
- Stakeholder Alignment: Functional requirements are often driven by business analysts and implemented by application developers, while operational requirements are critical for system programmers, operations staff, and performance specialists.
- Non-Functional Requirements (NFRs): Operational aspects are a core component of NFRs, defining the quality attributes of a system beyond its basic functions.
Use Cases
-
- System Design and Architecture: Defining both the specific business functions an application will provide and the operational metrics (e.g., 99.99% availability, sub-second CICS response times) it must meet.
- Application Development and Testing: Developers focus on functional correctness (e.g., COBOL logic, JCL steps), while system programmers and performance analysts ensure operational viability through testing and tuning.
- Problem Diagnosis: Distinguishing between an application bug (functional issue) and a performance bottleneck, resource contention, or system configuration error (operational issue).
- Service Level Agreement (SLA) Definition: SLAs typically combine functional commitments (e.g., "process all batch jobs by 6 AM") with operational metrics (e.g., "99.9% uptime for CICS regions").
- Capacity Planning: Assessing the operational impact of new functional requirements on existing mainframe resources and planning for necessary upgrades or reconfigurations.
Related Concepts
The functional-operational distinction is fundamental to the entire System Development Life Cycle (SDLC) on the mainframe. Operational concerns are heavily managed by Workload Manager (WLM), which dynamically adjusts resource allocation to meet operational goals. It directly influences Performance Tuning efforts, which aim to optimize operational aspects without altering functional logic. Furthermore, it underpins the design of High Availability (HA) and Disaster Recovery (DR) solutions, which are purely operational requirements ensuring continuous functional delivery.
- Define Operational Requirements Early: Incorporate non-functional (operational) requirements alongside functional requirements from the initial design phase to avoid costly re-engineering later.
- Integrated Testing Strategy: Implement a comprehensive testing strategy that includes not only functional testing but also robust performance, stress, volume, security, and recovery testing.
- Proactive Monitoring: Deploy comprehensive monitoring tools (e.g.,
OMEGAMON,RMF) to continuously track key operational metrics (CPU, I/O, memory, response times) and identify potential issues before they impact functional delivery. - Automate Operational Tasks: Utilize z/OS automation tools like
SA z/OS,OPC(nowTWS for z/OS), and REXX scripts to automate routine operational tasks, error recovery, and system restarts, improving reliability and efficiency. - Document Operational Procedures: Maintain clear and current operational runbooks, recovery procedures, and performance baselines to ensure consistent and effective management of production systems.