e-business Concepts  «Prev  Next»

Lesson 6Quality Factors
ObjectiveExplain how an architect can determine qualitative requirements.

Architecture and Qualitative Requirements

Every stakeholder group in an e-business organization has a different definition of quality. Customers define quality as a fast, intuitive experience that delivers what they ordered without friction. Employees define it as a system that does not create unnecessary work. Investors define it as a platform that scales profitably. Regulators define it as a system that handles data lawfully. The architect's job is to translate all of these definitions into a single coherent set of qualitative requirements — and then to specify an architecture that meets them.

This translation is the core skill this lesson addresses. It is harder than it sounds, because qualitative requirements resist precise measurement by definition. "The site should be fast" is not a requirement — it is a preference. "The site should achieve a Largest Contentful Paint score of under 2.5 seconds on a 4G mobile connection for the 75th percentile of users" is a requirement. The architect's work is to move from the first statement to the second, in full awareness of what each stakeholder group means when they say "fast."



Stakeholder groups cluster into three categories, each with a distinct quality orientation:

External-facing stakeholders — customers and the broader community — define quality through experience. Customers care about page load speed, ease of navigation, mobile compatibility, personalization, and the security of their payment data. They do not articulate these as requirements; they articulate them as complaints when they are not met, and as loyalty when they are. Community and social responsibility concerns — environmental impact, ethical sourcing, transparent supply chains — have become increasingly visible quality signals, particularly for younger consumer demographics. Architecturally, these translate into requirements around sustainability reporting, supplier data transparency, and carbon footprint tracking.

Internal-facing stakeholders — employees and investors — define quality through efficiency and growth. Employees who manage the e-commerce platform care about backend usability, inventory management accuracy, and order processing reliability. Their feedback surfaces operational quality requirements that are invisible to customers but directly affect customer outcomes. Investors focus on scalability, security, and the data analytics capabilities that support strategic decision-making. Their quality definition is financial: a platform that can grow revenue without proportionally growing cost.

Compliance-driven stakeholders — regulatory bodies and suppliers — define quality through conformance. Regulatory requirements — GDPR, CCPA, PCI DSS — impose specific, non-negotiable quality constraints on data handling, payment processing, and user privacy. Supplier and partner collaboration requirements impose interoperability and real-time data exchange standards that the architecture must accommodate. These are not optional quality attributes — they are baseline requirements that the architecture must satisfy before any other quality discussion can occur.


The architect translates these stakeholder concerns into requirements by identifying the quality factors that each constituency values. You have encountered quality factors yourself every time you used a system that frustrated or impressed you:

  1. Is the system reliable — does it work every time you need it?
  2. Is it fast — does it respond before you lose patience?
  3. How many concurrent users can it handle before response time degrades?
  4. What makes it good, or good enough — and good enough for whom?
  5. Who is asking — because the answer changes depending on the stakeholder?

That last question is the most important. "Good enough" for a customer placing a single order is different from "good enough" for a merchandiser managing ten thousand product listings, which is different from "good enough" for a Board of Directors evaluating competitive positioning in international markets. Software quality is improved by separating these concerns into tiers — designing each layer of the system to meet the quality requirements of the stakeholders who interact with it directly.



Fourth-Generation Web Application Architecture: A Historical Baseline

To understand where modern e-business architecture comes from, it helps to understand the four-tier model that defined large-scale web applications in the early 2000s. Large websites of that era implemented the application layer as a collection of parallel application servers, with web server clusters handling incoming requests from large numbers of users. Application servers interacted with commercial database servers — Oracle and IBM DB2 were the dominant choices. The tiers were connected by middleware: software packages that handled communication, data translation, and process distribution between layers.



Cloud-native ecosystem diagram showing the modern equivalent of four-tier architecture: user devices, edge compute, API gateway, service mesh,
containerized microservices, event streaming, and distributed databases
The cloud-native ecosystem in 2026 — the modern evolution of the four-tier web application architecture.


The middleware layer of that era was dominated by CORBA — the Common Object Request Broker Architecture. CORBA was a standard defined by the Object Management Group (OMG) that allowed application components written in different languages and running on different platforms to communicate with each other. In its time, it was a serious piece of engineering. By 2026, it is effectively dead — abandoned in favor of approaches that are simpler, more developer-friendly, and better suited to cloud-native environments.

The middleware landscape has been replaced by three modern patterns, each suited to different communication requirements. RESTful APIs over HTTP provide the standard interface for synchronous request-response communication between services — they are language-agnostic, widely understood, and supported by every platform. GraphQL provides a flexible query interface for clients that need to retrieve precisely the data they require without over-fetching. For high-performance microservice-to-microservice communication, gRPC — Google's Remote Procedure Call framework — provides strongly typed, binary-encoded communication that outperforms REST for internal service communication at scale.

For asynchronous communication — where a producer generates events that consumers process independently — message brokers have replaced the synchronous middleware of the CORBA era. Apache Kafka handles high-throughput event streaming at scale. RabbitMQ provides flexible message routing for lower-volume workloads. These patterns decouple producers from consumers, enabling independent scaling and fault tolerance that synchronous middleware cannot provide.

JDBC — Java Database Connectivity — is the notable exception. Unlike CORBA, JDBC remains in active use in 2026. It is the standard Java API for relational database access, and it underlies every major Java ORM framework — Hibernate, JPA, Spring Data. The four-tier architecture's database tier has evolved — Oracle and DB2 are joined by PostgreSQL, MongoDB Atlas, and Amazon Aurora — but the Java application layer still connects to relational databases through JDBC.


The Economics of Software Quality

Software quality has historically suffered from a structural economic problem: for most software products, increasing quality has not increased profits. The combination of user expectations shaped by low-quality software and market dynamics that reward speed-to-market over correctness created a stable equilibrium in which poor-quality software was the rational competitive choice.

Government software contractors were paid the same regardless of quality. Commercial software companies discovered that selling a low-quality first version and charging for upgrades that fixed bugs was more profitable than shipping a high-quality product at launch. The capability maturity model made progress in raising the floor, but time-to-market pressure consistently overrode quality investment in commercial software development.

The shift to SaaS subscription models has changed this calculus meaningfully. When revenue depends on monthly renewals rather than one-time license fees, customer churn is directly tied to product quality. A SaaS product that loses customers because it is slow, unreliable, or difficult to use loses recurring revenue that is expensive to recover. This has created genuine economic incentives for quality that were largely absent in the perpetual-license era.

DevOps and Site Reliability Engineering (SRE) practices have made continuous quality measurement standard. Error budgets — the acceptable amount of downtime or error rate within a defined period — make quality visible and measurable in operational terms. Service Level Objectives (SLOs) and Service Level Indicators (SLIs) provide the vocabulary for translating qualitative stakeholder expectations into quantitative operational targets that engineering teams can design and build toward.


The Architect's Definition of Quality

Specifying the right architecture depends on the accuracy of the translation from qualitative stakeholder expectations into objective quality requirements. Three principles govern this translation:

  1. In today's marketplace, functionality and affordability are rarely differentiating — and when they are, it is only for a short period before competitors close the gap. The features a platform offers and the price it charges are visible and replicable. Quality is harder to copy.
  2. Quality is the attribute that drives individuals to select one alternative over another despite relative similarity in functionality and cost. When two platforms offer comparable features at comparable prices, the one that is faster, more reliable, and easier to use wins.
  3. Architects must be able to establish and promote the definition of quality for a given set of objectives. This means making quality explicit — naming it, measuring it, and defending it when schedule or cost pressure creates incentives to trade it away.

Seven factors drive architecture and design quality in practice:

  1. Architecture Stability and Flexibility: The quality of the architecture definitions documented and supported by system management — stable enough to build reliably on, flexible enough to evolve with changing requirements.
  2. Analysis and Design Capability: The skill and experience of architecture and design teams, including their ability to communicate and cooperate effectively across disciplines.
  3. Root Cause Analysis: The capability to learn from defects found during development — analyzing failures, identifying common causes in processes, tools, and organizational practices, and defining actions to prevent recurrence.
  4. Requirements Performance: The quality of the requirements phase — how well the products to be developed are specified, how thoroughly requirements are clarified and reviewed, and how effectively they are traced through implementation.
  5. Project Management Performance: The definition, planning, tracking, and control of quality across development projects and delivered products.
  6. Process Management Performance: The definition and baselining of management and technical processes, supported by training, tooling, templates, and experienced personnel.
  7. Architecture and Design Process Maturity: The quality of the architecture and design processes themselves — how well-defined, baselined, and supported by training and templates they are.

These quality factors ultimately translate into quantitative requirements — the performance metrics by which the solution is evaluated. The architect must manage trade-offs between ideal quality requirements and the constraints of schedule, cost, and feasibility. Making those trade-offs explicitly, with full awareness of their downstream consequences, is the work.


Quality Trade-offs: Graphics versus Performance

A concrete example of competing quality requirements is the graphics versus performance trade-off that every e-commerce platform faces. The marketing team wants rich visual content — high-resolution product photography, video demonstrations, lifestyle imagery — to create an emotionally engaging experience that drives conversion. The engineering team knows that large image files increase page load time, and that every additional second of load time reduces conversion rates by a measurable percentage.

Both positions reflect legitimate quality requirements from different stakeholder groups. The architect's job is not to choose one over the other — it is to find solutions that satisfy both.

In the early 2000s, the available solutions were image compression and file distribution across multiple servers. In 2026, the toolkit is significantly richer. WebP and AVIF image formats deliver image quality equivalent to JPEG and PNG at 25-50% smaller file sizes. Responsive images — implemented through the HTML srcset attribute — serve appropriately sized images based on the user's screen resolution and viewport width, preventing mobile users from downloading desktop-sized files. Lazy loading defers the loading of off-screen images until the user scrolls toward them, reducing initial page load time without sacrificing image quality. CDN edge delivery — through Cloudflare, Fastly, or similar platforms — serves images from locations geographically close to the user, reducing latency regardless of image file size.

Core Web Vitals — specifically Largest Contentful Paint (LCP), which measures how quickly the largest visible content element loads — provides the measurable quality target that quantifies this trade-off. An LCP score under 2.5 seconds is considered good by Google's standards and is factored into search ranking. The architect can use this metric to evaluate proposed image strategies against a concrete, stakeholder-meaningful target rather than an abstract quality preference.

High Availability as a Quantified Quality Requirement

High availability is a quality factor that illustrates the cost dimension of quality trade-offs with particular clarity. Achieving 99.99% availability — four nines — means less than 52 minutes of downtime per year. Achieving 99.5% availability means approximately 43 hours of downtime per year. The difference in user experience between these two targets is significant. The difference in infrastructure cost is substantial.

Modern cloud infrastructure has made high availability more accessible than it was in the four-tier era, but it has not made it free. Multi-region deployment — running the platform in two or more geographic regions simultaneously, with automatic failover — is the standard approach for achieving four-nine availability in cloud-native architectures. It requires duplicate infrastructure, cross-region data replication, and the operational complexity of managing failover procedures. AWS, Azure, and GCP each offer SLA commitments for their managed services — typically 99.9% to 99.99% depending on the service and configuration — that the architect can use as inputs to overall system availability calculations.

SRE practice provides the vocabulary for making these trade-offs explicit. A Service Level Objective (SLO) defines the target availability or performance level — 99.9% uptime, sub-200ms API response time at the 95th percentile. A Service Level Indicator (SLI) is the metric used to measure whether the SLO is being met. An error budget is the acceptable amount of SLO violation within a defined period — if the SLO is 99.9% uptime, the error budget is 0.1% of the period, or approximately 43 minutes per month. When the error budget is consumed, engineering effort shifts from feature development to reliability work.


The architect who presents this framework to a Board of Directors or CFO can have a precise conversation about the cost of availability: what level of availability the business requires, what it will cost to achieve it, and what the business impact of the downtime allowed by each option is. That conversation produces a decision. A qualitative discussion about whether the site should be "highly available" does not.

Identifying quality factors early prevents conflicts later — conflicts that result in redesign, delays, and unhappy clients. Quality is a moving target in e-business; the bar is raised continuously. Some quality factors are unique to e-business: security posture, penetration risk, fraud exposure. Some are not intuitive until they become problems: the performance implications of a third-party analytics script, the availability impact of a single-region database, the conversion cost of a checkout flow that requires one step more than a competitor's. The architect who surfaces these factors at the beginning of the engagement provides insurance against the evolutionary nature of the e-business environment — and against the cost of discovering quality requirements too late to address them cleanly.


SEMrush Software 6 SEMrush Banner 6