Member-only story

Rethinking the notion of API non-functional requirements.

Rahul Dighe
3 min readJan 10, 2021

--

API Non-functional Requirements

In the context of API products functional requirements articulate how would an API respond given a particular request, whereas a non-functional requirement defines how soon would it response (latency), how many requests one can send at a time (scalability) et.al.

Classically speaking, a functional requirement is what a system is supposed to do and non-functional requirements define how a system is supposed to be

It is not uncommon to find as it was in the early days of the web when product managers did the upmost due diligence on defining user stories that articulate the functional requirements to death but then left the “non-functional” part to the engineering team to think about as their contribution to the project or left it to chance chance or to a number the system can currently support.

Part of this distinction also comes into being because Product Managers and their squads / SCRUM teams own elements that can impact the “functionality” of an API more than what are often categorized as “non-functional” ones which are often handled by “centralized” infrastructure teams that determine the fate of deployment of your APIs.

Hence it is quite unlikely to find an API product manager ever writing a story in their backlog that reads something like:

As a developer for a marketplace startup, I want an API to offer suggestions to the address being typed the user in less than 50ms so that I can paint the best “auto suggest” experience to our customers.

It would also seem that even if such a story were ever to be written it would be prioritized higher than the more “functional” ones..

Imagine yourself as a product manager for an Address API that allows the API caller to send a fragment of an address as a request and responds with an list of suggestions to be used for auto-completion.

  • What would be the impact if the latency were to be 100ms but the average typing speed is 1 letter every 50ms?
  • What would be the impact if you got a major deal signed with a Chinese e-commerce giant but cannot meet their demands to scale for Singles day (11/11)?
  • What would the impact be if you enhanced your API functionality to…

--

--

Rahul Dighe
Rahul Dighe

Written by Rahul Dighe

Loves building products. Presently > Checkout API Product @ PayPal

No responses yet

Write a response