Thinking in Services: Iqbal's Programmatic Grammar

The previous post introduced Promise Theory - Mark Burgess's framework for understanding cooperation between autonomous agents. Promises are voluntary commitments; services are networks of kept promises; trust is built through reliable promise-keeping. But Promise Theory is abstract. It tells us that services are promise networks, but not how to design them. For that, we need a more concrete framework - a way to specify what promises a service requires, how they relate to each other, and whether a service design is complete. Majid Iqbal's (2018) Thinking in Services provides exactly this, building on Promise Theory to develop what he calls a "programmatic grammar" for services: a systematic way to encode and express service designs through their underlying promise structures.

Services as Arrangements and Agreements

Iqbal opens with a deceptively simple definition: "Services are arrangements and agreements - agreements between people and arrangements between things. The arrangements are necessary for performances and affordances to happen. The agreements are necessary for the arrangements to take place". This definition does considerable work. Arrangements are configurations of things - resources, capabilities, artefacts, events - that define what is possible; a hospital has beds, equipment, and staff with skills, and these arrangements enable certain performances (treatments, diagnoses) and affordances (access to care, use of facilities). Agreements are commitments between people - customers, users, providers, agents - that define what will happen; the hospital agrees to treat patients, and patients agree to follow instructions and pay bills, with these agreements activating the arrangements. Neither is sufficient alone: arrangements without agreements are latent capacity, potential that is never realised; agreements without arrangements are empty promises, commitments that cannot be kept. A service exists when arrangements and agreements come together, when people make commitments that the configuration of things can support.

The Four Promises and Four Factors

At the core of Iqbal's framework are four fundamental promises that every service involves. The promise of outcomes concerns the commercial exchange: the provider promises to deliver outcomes that the customer values, and the customer promises to compensate the provider. The promise of experiences concerns the human interaction layer: the user promises to engage with the service, and the agent (the person or system delivering the service) promises to provide a certain quality of experience. The promise of performances concerns what gets done: the provider's capabilities promise to perform tasks that fulfil demand. And the promise of affordances concerns what is possible: the provider's resources promise to be available for access when needed. These four promises form a minimal structure; any service, however complex, can be analysed in terms of these commitments, and any service design must address all four - a service that promises outcomes but not experiences, or performances but not affordances, is incomplete.

Each promise can in turn be analysed through four factors. The first factor, who, identifies the parties involved - customers, users, providers, agents. The second, why, addresses what motivates the promise - the capabilities, resources, artefacts, and events that create the conditions for promising. The third, how, specifies the means by which the promise will be kept - activities, tasks, availability, and access. The fourth, what, identifies the outcome of keeping the promise - enhancements, enrichments, commissions, and provisions. As Iqbal puts it: "Who (1) and why (2) describe the motivations of the side making a promise. How (3) and what (4) describe the expectations for the side accepting it". The four factors applied to the four promises generate sixteen elements - the complete vocabulary for describing a service.

The 16x Frame

The 16x frame is Iqbal's tool for making this structure concrete. It is a four-by-four grid where rows correspond to the four promises (outcomes, experiences, performances, affordances) and columns correspond to the four factors (who, why, how, what), each cell containing a specific element of the service. The who column identifies the four roles: customers (those who pay for the service and benefit from outcomes), users (those who have the privilege to make use of the service), agents (those who facilitate and control the use of the service), and providers (those who supply the resources and capabilities). The why column identifies the four motivating conditions: artefacts (things with shortcomings, explaining why there will be demand for performances), events (things with shortfalls, explaining why there will be demand for affordances), capabilities (things with skills, explaining why there will be supply for performances), and resources (things with surpluses, explaining why there will be supply for affordances). The how and what columns complete the specification with the means of delivery and the resulting value.

The frame functions as a grammar for services in a precise sense. A grammar, in the generative tradition, is a system of rules that produces valid forms - Chomsky's linguistic grammars generate valid sentences; Wilkinson's (2005) Grammar of Graphics generates valid statistical charts. The sixteen elements are the vocabulary, the basic units from which services are composed. The grid structure specifies how elements relate; each element has inputs from other elements that influence it, with the relationships encoded in Iqbal's alphanumeric notation. A completed 16x frame represents a valid service design: each element must be specified, and the specifications must be mutually consistent. As Iqbal notes, "an entry is valid when it is corroborated by two other statements". Crucially, the grammar does not prescribe what services should look like; it provides a structure that can generate infinitely many valid service designs, just as linguistic grammar generates infinitely many valid sentences. This is what distinguishes Iqbal's approach from typical service design frameworks: journey maps and blueprints are descriptive, representing particular services, whereas the 16x frame is generative, providing the structure from which services can be designed.

Using the Frame

Iqbal describes the 16x frame as a puzzle to be solved: "You can start anywhere on the frame - with elements you are most certain about - and then progressively fill up the frame, using critical reasoning to define adjoining statements. If this, then that". The process is iterative; one might start with what is known about the customer and what outcomes they want, which leads to questions about what capabilities are needed to deliver those outcomes, which leads in turn to questions about what resources support those capabilities. The gaps and conflicts that emerge prompt further inquiry: "Information available to us is often ambiguous, unclear, or incomplete. The gaps and conflicts that emerge prompt further discussion. More thought, more inquiry, or further research". A completed frame is evidence that the design has been thought through systematically; every element has been considered, and every relationship has been traced.

What This Would Have Meant for SCÖ

Applied retrospectively to the SCÖ context, the 16x frame would have required specifying each element explicitly. Who pays for the service - the coordination association, the municipalities, ESF? Who uses the system - caseworkers, clients, or both? Who operates it - SCÖ staff, university researchers, Icelandic developers? Who supplies the underlying resources - which organisations provide data, infrastructure, expertise? What shortcomings create demand, what capabilities enable supply, what resources are available? These questions would have exposed the gaps immediately. The provider could not be specified clearly because no organisation had committed resources; resources could not be specified because the data infrastructure did not exist; capabilities could not be specified because the technical expertise was not available locally.

The 16x frame would have made visible, early and systematically, that the service could not be designed because the foundational elements were not in place - not merely the frequently voiced observation that "we don't have data", but a complete map of what was missing and how the missing pieces related to one another. This is the difference between informal recognition of problems and systematic diagnosis. The frame forces completeness: one cannot fill in "Enhancement" (what outcomes the customer gets) without filling in "Task" (how those outcomes are produced) and "Capability" (what skills produce them). The interdependencies are explicit.

Grammar as Design Tool

The deeper point is about what a grammar enables. Without a grammar, service design is ad hoc: each project invents its own vocabulary, its own relationships, its own criteria for completeness; insights from one project do not transfer easily to another; there is no systematic way to check whether a design is complete or consistent. With a grammar, service design becomes compositional: there is a shared vocabulary, explicit relationships, and criteria for validity; designs can be compared, gaps identified, and reasoning about what is missing becomes tractable. This is analogous to what happened with graphics: before Wilkinson's (2005) Grammar of Graphics, creating visualisations required ad hoc decisions at every step; after it, designers had a systematic framework of data, transformations, scales, coordinates, geometries, and aesthetics. The grammar did not constrain creativity - it enabled it, by providing a solid foundation to build on.

Iqbal's framework has limits. The 16x frame is dense and takes time to learn and apply; the terminology (artefact, event, commission, provision) is precise but unfamiliar; the framework is better suited to analysis than to early-stage ideation. There are also questions of scope: the 16x frame describes a single service, but services exist in ecosystems where they depend on other services, compete with alternatives, and evolve over time. Iqbal addresses some of this in later chapters on tactics and strategy, but the ecosystem dimension could be developed further. Still, as a foundation for rigorous service design thinking, the framework is unmatched; it takes the abstract insights of Promise Theory and makes them operational, providing a vocabulary, a structure, and criteria for validity.

The series has now built up several layers: state spaces (the configurations that systems can be in), conceptual spaces (geometric vector spaces in which concepts are regions and similarity is distance), promises (the voluntary commitments that enable cooperation), and service grammar (the 16x frame for designing promise networks). The next post adds another layer: statecharts, David Harel's formal notation for reactive systems. Where Iqbal gives us a grammar for what services promise, Harel gives us a notation for how services behave over time - states, transitions, events, and the dynamics of service delivery.

Next: "Statecharts: Visual Formalism for Complex Systems" - Harel's statecharts as a rigorous yet accessible visual formalism for specifying complex system behaviour.

References

Burgess, M. (2015). Thinking in Promises: Designing Systems for Cooperation. O'Reilly Media.

Iqbal, M. (2018). Thinking in Services: Encoding and Expressing Strategy Through Design. BIS Publishers.

Wilkinson, L. (2005). The Grammar of Graphics (2nd ed.). Springer.