Principles of API First Design Thinking | Hacker Noon

There’s no single definition for design thinking. It’s an idea, a strategy, a method, and a way of seeing the world [1].

It provides a solution-based approach to solving problems. It’s useful in tackling complex problems by understanding the human needs involved, by re-framing the problem in human-centric ways, by creating many ideas in brainstorming sessions, and by adopting a hands-on approach in prototyping and testing [2].

Good to know that the terms design methods and design process are often used interchangeably, but there is a difference between the two:

  • Design methods are all the techniques, rules, or ways of doing things that are employed by a design discipline.
  • Design process is the way in which the methods come together through a series of actions, events, or steps.

The Design Thinking process builds on earlier models that have been proposed for the design process. It consists of a number of stages, typically between three and seven, and can be linear or circular, that is, it may return to the starting point and begin a new iteration. It may also include various feedback loops between stages, and may even have several stages taking place in parallel [3].

Design thinking is also central to recent conceptions of software development in general [4].

For example, API design refers to the process of developing APIs that expose data and application functionality for use by developers and users [5]. More specifically API design is the process of constructing the blueprint for the API [6].

So, as we can see an API’s design is a solid blueprint and API development is a continuous process [7].

There is not a single approach to design APIs “the right way” [8]. And that’s why we should combine API Design and Design Thinking here!

Let’s add one more thing – API First approach!

API First is a design strategy for a company’s entire product line, where APIs are the basis of every product instead of being a separate side product [9]. When developing cloud-native applications, “API First” is a core principle [10].

So we can see a lot of buzzwords around the design.

To simplify the communication I prefer to use the term “API architecture” instead of “API design”.

In this case “API architecture” refers to the process of developing a software interface that exposes backend data and application functionality for use in new applications [11].

And as a result, API Architecture is the collection of planning and architectural decisions [8].

In this article I want to highlight how beneficial can be the using of Design Thinking approach while building the architectural process and implementing API First strategy in you product company.

References:

  1. https://designthinking.ideo.com/#design-thinking-in-context
  2. https://www.interaction-design.org/literature/article/5-stages-in-the-design-thinking-process
  3. https://blogs.sap.com/2012/09/12/introduction-to-design-thinking/
  4. https://www.sciencedirect.com/science/article/pii/S0167642314005395?via%3Dihub
  5. https://www.redhat.com/en/topics/api/what-is-api-design
  6. https://rapidapi.com/blog/api-design/
  7. https://swagger.io/blog/api-design/what-is-api-design/
  8. https://stoplight.io/api-design-guide/basics/
  9. https://dzone.com/articles/what-api-first
  10. https://medium.com/adobetech/three-principles-of-api-first-design-fa6666d9f694
  11. https://apiacademy.co/2015/04/api-design-101-api-design-basics/

Tags

Join Hacker Noon

Create your free account to unlock your custom reading experience.

read original article here