Apidays New York 2024 - Prototype-first - A modern API development workflow by Tom Akehurst, WireMock

APIdays_official 92 views 15 slides May 23, 2024
Slide 1
Slide 1 of 15
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15

About This Presentation

Prototype-first - A modern API development workflow
Tom Akehurst, CTO and Co-Founder at WireMock

Apidays New York 2024: The API Economy in the AI Era (April 30 & May 1, 2024)

------

Check out our conferences at https://www.apidays.global/

Do you want to sponsor or talk at one of our conferen...


Slide Content

WireMock API Days - Prototype-First Deck |1
Prototype-first - a
modern API
development
workflow
1
PRESENTED BY:
Tom Akehurst
CTO and co-founder, WireMock
@TomAkehurst

WireMock API Days - Prototype-First Deck |2
“An ounce of practice is worth a
ton of theory”
- Emerson…or Marx…or Schumacher…
or someone else…who knows?

WireMock API Days - Prototype-First Deck |
●Model of reality
●Validated via inspection
●Quick + cheap to change
Design
3
●Model of reality
●Validated via inspection
●Quick + cheap to change

WireMock API Days - Prototype-First Deck |
●Realised object (with
limitations)
●Validated via use
●Quicker + cheaper to
change than production
item
Prototyping
4
●Realised object (with
limitations)
●Validated via use
●Quicker + cheaper to
change than production
item

WireMock API Days - Prototype-First Deck |
●Generally unpopular in today’s development approaches
○“Big up-front design” = ??????
●“The code is the design”
●Worthwhile when impact of poor design is high e.g. UX
●Generally unpopular in today’s development approaches
○“Big up-front design” = ??????
●“The code is the design”
●Worthwhile when impact of poor design is high e.g. UX
5
Design & prototyping in software

WireMock API Days - Prototype-First Deck |
●Decisions have to be lived with for a long time
●Poor design limits adoption
●Poor design harms productivity
●Serial working lengthens time-to-market
6
API Design & Prototyping - Motivation
●Decisions have to be lived with for a long time
●Poor design limits adoption
●Poor design harms productivity
●Serial working lengthens time-to-market

WireMock API Days - Prototype-First Deck |
●Enables verification by inspection - linting, design review
●Helps produce better APIs
But…
●Often adds time and effort up front
●Doesn’t support verification through use
7
API Design
●Enables verification by inspection - linting, design review
●Helps produce better APIs
But…
●Often adds time and effort up front
●Doesn’t support verification through use

WireMock API Days - Prototype-First Deck |
●Enables early validation through use
●Supports parallel development
●Enables early validation through use
●Supports parallel development
8
API Prototyping

WireMock API Days - Prototype-First Deck |
●Write just enough code to
produce a plausible response
with stubbed/hard-coded data.
●Ship to test environment.
●Long cycle time to test design
changes.
●Simulating more than basic
behaviour involves writing
non-trivial code.
9
Code-a-bit-first API prototyping
●Write just enough code to
produce a plausible response
with stubbed/hard-coded data.
●Ship to test environment.
●Long cycle time to test design
changes.
●Simulating more than basic
behaviour involves writing
non-trivial code.

WireMock API Days - Prototype-First Deck |
●Lots of tools available -
OSS, SaaS
●Build prototype out of
stubbed responses
●Much shorter cycle time
than deploying code
●Design/prototyping is not
the primary use case
●Missing capabilities e.g.
spec generation
10
Mocking
●Lots of tools available -
OSS, SaaS
●Build prototype out of
stubbed responses
●Much shorter cycle time
than deploying code
●Design/prototyping is not
the primary use case
●Missing capabilities e.g.
spec generation

WireMock API Days - Prototype-First Deck |
●API spec/description is
primary artifact
●Mocks generated from
specs
●OpenAPI and other
description languages not
intended for mocking.
●Generated mocks tend to
be simplistic
11
API design platform with mocking
●API spec/description is
primary artifact
●Mocks generated from
specs
●OpenAPI and other
description languages not
intended for mocking.
●Generated mocks tend to
be simplistic

WireMock API Days - Prototype-First Deck |
●Flexible, dynamic mocking
●Bidirectional spec < - > mock generation
●Traffic validation
●Flexible, dynamic mocking
●Traffic validation
●Bidirectional spec < - > mock generation
12
API prototyping platform - WireMock Cloud

WireMock API Days - Prototype-First Deck |
Prototyping your APIs:
●Enables verification through use
●Shifts discovery of design shortcomings early in the timeline
●Supports parallel producer/consumer development
13
TL;DR (2)
Prototyping your APIs:
●Enables verification through use
●Shifts discovery of design shortcomings early in the timeline
●Supports parallel producer/consumer development

WireMock API Days - Prototype-First Deck |14
Want to see more?
https://www.wiremock.io/demo
PRESENTED BY:

Tom Akehurst
CTO and co-founder, WireMock
@TomAkehurst