Core Idea

Explicit architecture characteristics are non-functional requirements directly stated in requirements documents, stakeholder interviews, or business specifications. These are the “-ilities” that stakeholders articulate, such as “the system must handle 10,000 concurrent users” (scalability) or “downtime costs $X per minute” (availability).

Understanding Explicit Characteristics

Explicit architecture characteristics emerge directly from requirements gathering processes:

  • When stakeholders say “the system must respond within 2 seconds,” they’re explicitly stating a performance characteristic
  • When business owners specify “we need 99.9% uptime,” they’re declaring an availability requirement
  • These characteristics are visible, documented, and traceable to specific business needs

The identification process for explicit characteristics:

  • Involves systematic review of requirements documents, user stories, business cases, and stakeholder interviews
  • Architects translate business language into architectural characteristics
  • Example: “users must be able to access the system from mobile devices” translates to portability and accessibility characteristics
  • Example: “the system must comply with GDPR” translates to security, privacy, and auditability characteristics

Explicit characteristics provide clear, measurable targets:

  • “Must support 100,000 transactions per day” gives architects concrete scalability and performance thresholds
  • “Must deploy new features weekly” establishes deployability requirements
  • These specific targets enable architects to make informed trade-offs during architecture selection and design

Why This Matters

Explicit characteristics create accountability between business stakeholders and technical teams:

  • When requirements documents specify performance targets, both sides understand success criteria
  • This prevents the common failure mode where systems are built without clear non-functional requirements
  • Avoids architectures that meet functional needs but fail to satisfy operational or business constraints

However, explicit characteristics alone are insufficient for architecture design:

  • Many critical characteristics remain unstated
  • Stakeholders rarely explicitly specify “we need maintainability” or “the codebase should be testable”
  • These implicit characteristics require architects to extract them from domain knowledge and business context
  • Complementing the explicit requirements with architectural expertise

Sources

Note

This content was drafted with assistance from AI tools for research, organization, and initial content generation. All final content has been reviewed, fact-checked, and edited by the author to ensure accuracy and alignment with the author’s intentions and perspective.