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

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

  • 1.
    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
  • 3.
    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?
  • 4.
    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
  • 5.
    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
  • 6.
    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
  • 7.
    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
  • 8.
    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
  • 9.
    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
  • 10.
    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.
  • 11.
    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
  • 12.
    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
  • 13.
    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
  • 14.
    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
  • 15.
    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