SlideShare a Scribd company logo
1
/Contract/{Collaboration}
/DrivenDevelopment|
2
2 Questions: Did I Build the API Right? … Did I Build the Right API?
Alianna Inzana
Senior Director, API Testing
| Designing APIs
| Keeping “Design” in Design-First
| Design First…but Only at First: Evolving your API
| Meet Your Contract(s): Beyond Specifications
| CDD – Collaboration Driven Development
| The Quality Contract
33
Everything…begins with language.
Language begins with listening.
- Jeanette Winterson|
4
How Do You Build an API?
+
+
Challenges of Design First Approach
5
Bridging the Gap between Design and Development
Motivation for Change
│ Consumers become frustrated with out-
of-date documentation
│ API Discovery opportunities are curtailed
– resulting in duplicated work
│ Inconsistent Developer Experience –
practices, styles, DX
5
66
Recognizing the need is the
primary condition for design.
- Charles Eames|
7
Keeping ‘Design’ in Design-First
88
A design isn’t finished until
somebody is using it.
- Brenda Laurel|
9
API Virtualization
| Deploy a virtual API based off a draft of
the spec plus some generated or
referenced data.
| Simulate API behavior and responses,
and even the performance of the future
service.
| Why is Virtualization Important?
| Net effects of broad and diverse
feedback is quality, clarity of
purpose…and improved stakeholder
engagement – keys to API adoption.
| ….did I build the right API?
Virtual
10
Effort Heuristic
1111
Great architecture is a collaboration among a
lot of people over a long period of time.
- Joshua Prince-Ramus|
12
Design First…but Only at First: Evolving Your API
│ Deployed API and Specification are out of sync
│ Therefore: API Design does not drive development
…V+++=
V1+++
13
Driving Development using Design First
1 Propose change
2 See failing tests
3 Write passing code
4
Create pull request,
merge to master
5 CI/CD Publish and mark
default using Registry API
…V+++
14
Specification Validation: Producer Contract Test
| Why is it important?
• Check, can be easily automated
• Devs know if anything has been added
to the spec ( build pipeline test will fail
because spec is updated)
| ….Did I Build the API Right?
| Run Producer Contract Tests with each
PR, before any build is promoted
| Keep API build in conformance with
documentation, easier to iterate on API
1515
How well we communicate is determined
not by how well we say things, but
how well we are understood.
— Andrew Grove
|
16
│ Consumers USE your APIs
│ Consumer interactions can get hidden in
the telemetry
│ Consumers cause security problems
│ In some architectural patterns –
Consumers are entirely anonymous…until
something breaks.
│ Consumers implement your API incorrectly,
or too thoroughly, or outdated versions
Into the Unknown: API Consumers
17
Consumer-Driven Contract Testing
18
Mapping your Audience
At NetFlix:
│ + 1 Billion calls per day, each API call
fans out to ~6 calls to backend services
At Amazon:
│ Website calls 100-150 services to get
data used to build a single webpage
1919
The single biggest problem in communication
is the illusion that it has taken place.
— George Bernard Shaw|
20
Consumer-Driven Contract Testing
Virtual
1. Structure of a Response
2. Error Handling
3. Event Type/Payload
4. Rate Limiting
5. Content Distribution
21
Quality Is Experienced Throughout the API Lifecycle
Design Build Test Secure Deploy Monitor
Quality
The act of designing should be an ongoing collaboration which is facilitated by the specification as teams iterate
2222
Good design begins with honesty,
asks tough questions,
comes from collaboration
and from trusting your intuition.
—Freeman Thomas
|
2323
Thank You
Alianna Inzana
Senior Director, API Testing
@AInzana
linkedin.com/in/aliannainzana
Ad

More Related Content

What's hot (20)

apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays
 
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays
 
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays
 
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgirapidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays
 
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays
 
API Strategy in Cloud
API Strategy in CloudAPI Strategy in Cloud
API Strategy in Cloud
PavanPardeshi1
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays
 
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, DigiaAPIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
apidays
 
Mobile - Your API Security Blindspot by David Stewart, Approov
 Mobile - Your API Security Blindspot by David Stewart, Approov Mobile - Your API Security Blindspot by David Stewart, Approov
Mobile - Your API Security Blindspot by David Stewart, Approov
apidays
 
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
apidays
 
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays
 
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays
 
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays
 
Building an API Security Strategy
Building an API Security StrategyBuilding an API Security Strategy
Building an API Security Strategy
SmartBear
 
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays
 
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
apidays
 
Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?
Nordic APIs
 
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays
 
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays LIVE Hong Kong - The Business of APIs by Jed Ngapidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays
 
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilioapidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays
 
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays LIVE Paris - Potential of API integrations, common traps and advices ...
apidays
 
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays LIVE Paris 2021 - Deliver real-time data to customer using Streaming ...
apidays
 
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays LIVE Paris 2021 - 5 Learnings Shaping Our View on the Future of APIs ...
apidays
 
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgirapidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays LIVE Paris - Succeeding with API Programs by Kiran Nadgir
apidays
 
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays LIVE Paris 2021 - Addressing OWASP API Security Top 10 by Isabelle Ma...
apidays
 
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays LIVE Australia 2021 - SEEK: Establishing a new API integration platfo...
apidays
 
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, DigiaAPIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
APIdays Helsinki 2019 - API Management Trends 2019 with Janne Nieminen, Digia
apidays
 
Mobile - Your API Security Blindspot by David Stewart, Approov
 Mobile - Your API Security Blindspot by David Stewart, Approov Mobile - Your API Security Blindspot by David Stewart, Approov
Mobile - Your API Security Blindspot by David Stewart, Approov
apidays
 
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...INTERFACE, by apidays  - Aligning teams and strategies behind API investment ...
INTERFACE, by apidays - Aligning teams and strategies behind API investment ...
apidays
 
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays LIVE New York 2021 - API Automation For DevOps at Scale by Rod Cope, ...
apidays
 
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays LIVE LONDON - Protecting financial-grade APIs - Getting the right API...
apidays
 
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays LIVE Australia 2021 - Modernising development using API First & Lesso...
apidays
 
Building an API Security Strategy
Building an API Security StrategyBuilding an API Security Strategy
Building an API Security Strategy
SmartBear
 
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays LIVE LONDON - Discovering API Version differences with ease by Jaap B...
apidays
 
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
APIdays Singapore 2019 - SDKs and Code Samples - The Cornerstone of API Devel...
apidays
 
Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?Is Your API Being Abused – And Would You Even Notice If It Was?
Is Your API Being Abused – And Would You Even Notice If It Was?
Nordic APIs
 
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays LIVE Australia 2020 - Evaluating the usability of security APIs by Dr...
apidays
 
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays LIVE Hong Kong - The Business of APIs by Jed Ngapidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays LIVE Hong Kong - The Business of APIs by Jed Ng
apidays
 
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilioapidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays LIVE Jakarta - Better API DX with a CLI by Phil Nash, Twilio
apidays
 

Similar to Contract {Collaboration} Driven Development - APIdays Interface 2020 (20)

Pain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re EverywherePain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re Everywhere
Nordic APIs
 
Refining Your API Design - Architecture and Modeling Learning Event
Refining Your API Design - Architecture and Modeling Learning EventRefining Your API Design - Architecture and Modeling Learning Event
Refining Your API Design - Architecture and Modeling Learning Event
LaunchAny
 
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
apidays
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1
Gabriel Ortiz
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
Ravi Kumar
 
Building an API Factory: Turn your APIs into Products
Building an API Factory: Turn your APIs into ProductsBuilding an API Factory: Turn your APIs into Products
Building an API Factory: Turn your APIs into Products
Nuwan Dias
 
From API-First to SDK-First
From API-First to SDK-FirstFrom API-First to SDK-First
From API-First to SDK-First
Nordic APIs
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
SmartBear
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
LibbySchulze
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API FirstINTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API First
apidays
 
Managing micro services for your company
Managing micro services for your companyManaging micro services for your company
Managing micro services for your company
Justin Lovell
 
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays
 
Effective API Design
Effective API DesignEffective API Design
Effective API Design
Bansilal Haudakari
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
Clickslide
 
Dependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First DevelopmentDependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First Development
Nordic APIs
 
Accidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIAccidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new API
Marjukka Niinioja
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback Matters
Pronovix
 
Building API Products
Building API ProductsBuilding API Products
Building API Products
James Samuel
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
apidays
 
Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
SmartBear
 
Pain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re EverywherePain Points In API Development? They’re Everywhere
Pain Points In API Development? They’re Everywhere
Nordic APIs
 
Refining Your API Design - Architecture and Modeling Learning Event
Refining Your API Design - Architecture and Modeling Learning EventRefining Your API Design - Architecture and Modeling Learning Event
Refining Your API Design - Architecture and Modeling Learning Event
LaunchAny
 
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...INTERFACE, by apidays  - The 8 Key Components of a Modern API Stack by Iddo G...
INTERFACE, by apidays - The 8 Key Components of a Modern API Stack by Iddo G...
apidays
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1
Gabriel Ortiz
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
Ravi Kumar
 
Building an API Factory: Turn your APIs into Products
Building an API Factory: Turn your APIs into ProductsBuilding an API Factory: Turn your APIs into Products
Building an API Factory: Turn your APIs into Products
Nuwan Dias
 
From API-First to SDK-First
From API-First to SDK-FirstFrom API-First to SDK-First
From API-First to SDK-First
Nordic APIs
 
Adopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHubAdopting a Design-First Approach to API Development with SwaggerHub
Adopting a Design-First Approach to API Development with SwaggerHub
SmartBear
 
Why your APIs should fly first class
Why your APIs should fly first classWhy your APIs should fly first class
Why your APIs should fly first class
LibbySchulze
 
INTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API FirstINTERFACE, by apidays - How to Win Friends and Influence People with API First
INTERFACE, by apidays - How to Win Friends and Influence People with API First
apidays
 
Managing micro services for your company
Managing micro services for your companyManaging micro services for your company
Managing micro services for your company
Justin Lovell
 
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays LIVE Helsinki & North 2022_How to Win Friends and Influence People wi...
apidays
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
Clickslide
 
Dependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First DevelopmentDependency Down, Flexibility Up – The Benefits of API-First Development
Dependency Down, Flexibility Up – The Benefits of API-First Development
Nordic APIs
 
Accidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new APIAccidental API developer - the 12 month pregnancy to create new API
Accidental API developer - the 12 month pregnancy to create new API
Marjukka Niinioja
 
Bulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback MattersBulletproofing Your APIs: Why Users’ Feedback Matters
Bulletproofing Your APIs: Why Users’ Feedback Matters
Pronovix
 
Building API Products
Building API ProductsBuilding API Products
Building API Products
James Samuel
 
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
2022 apidays LIVE Helsinki & North_How good are your APIs? Really?
apidays
 
Enforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHubEnforcing Your Organization's API Design Standards with SwaggerHub
Enforcing Your Organization's API Design Standards with SwaggerHub
SmartBear
 
Ad

Recently uploaded (20)

Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
The Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLabThe Gaussian Process Modeling Module in UQLab
The Gaussian Process Modeling Module in UQLab
Journal of Soft Computing in Civil Engineering
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Oil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdfOil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdf
M7md3li2
 
Value Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous SecurityValue Stream Mapping Worskshops for Intelligent Continuous Security
Value Stream Mapping Worskshops for Intelligent Continuous Security
Marc Hornbeek
 
Metal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistryMetal alkyne complexes.pptx in chemistry
Metal alkyne complexes.pptx in chemistry
mee23nu
 
introduction to machine learining for beginers
introduction to machine learining for beginersintroduction to machine learining for beginers
introduction to machine learining for beginers
JoydebSheet
 
theory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptxtheory-slides-for react for beginners.pptx
theory-slides-for react for beginners.pptx
sanchezvanessa7896
 
new ppt artificial intelligence historyyy
new ppt artificial intelligence historyyynew ppt artificial intelligence historyyy
new ppt artificial intelligence historyyy
PianoPianist
 
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G..."Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
"Feed Water Heaters in Thermal Power Plants: Types, Working, and Efficiency G...
Infopitaara
 
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptxExplainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
Explainable-Artificial-Intelligence-XAI-A-Deep-Dive (1).pptx
MahaveerVPandit
 
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdfRICS Membership-(The Royal Institution of Chartered Surveyors).pdf
RICS Membership-(The Royal Institution of Chartered Surveyors).pdf
MohamedAbdelkader115
 
railway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forgingrailway wheels, descaling after reheating and before forging
railway wheels, descaling after reheating and before forging
Javad Kadkhodapour
 
International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)International Journal of Distributed and Parallel systems (IJDPS)
International Journal of Distributed and Parallel systems (IJDPS)
samueljackson3773
 
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptxLidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
Lidar for Autonomous Driving, LiDAR Mapping for Driverless Cars.pptx
RishavKumar530754
 
Data Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptxData Structures_Introduction to algorithms.pptx
Data Structures_Introduction to algorithms.pptx
RushaliDeshmukh2
 
some basics electrical and electronics knowledge
some basics electrical and electronics knowledgesome basics electrical and electronics knowledge
some basics electrical and electronics knowledge
nguyentrungdo88
 
QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)QA/QC Manager (Quality management Expert)
QA/QC Manager (Quality management Expert)
rccbatchplant
 
Machine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptxMachine learning project on employee attrition detection using (2).pptx
Machine learning project on employee attrition detection using (2).pptx
rajeswari89780
 
IntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdfIntroSlides-April-BuildWithAI-VertexAI.pdf
IntroSlides-April-BuildWithAI-VertexAI.pdf
Luiz Carneiro
 
fluke dealers in bangalore..............
fluke dealers in bangalore..............fluke dealers in bangalore..............
fluke dealers in bangalore..............
Haresh Vaswani
 
15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...15th International Conference on Computer Science, Engineering and Applicatio...
15th International Conference on Computer Science, Engineering and Applicatio...
IJCSES Journal
 
Oil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdfOil-gas_Unconventional oil and gass_reseviours.pdf
Oil-gas_Unconventional oil and gass_reseviours.pdf
M7md3li2
 
Ad

Contract {Collaboration} Driven Development - APIdays Interface 2020

  • 2. 2 2 Questions: Did I Build the API Right? … Did I Build the Right API? Alianna Inzana Senior Director, API Testing | Designing APIs | Keeping “Design” in Design-First | Design First…but Only at First: Evolving your API | Meet Your Contract(s): Beyond Specifications | CDD – Collaboration Driven Development | The Quality Contract
  • 3. 33 Everything…begins with language. Language begins with listening. - Jeanette Winterson|
  • 4. 4 How Do You Build an API? + + Challenges of Design First Approach
  • 5. 5 Bridging the Gap between Design and Development Motivation for Change │ Consumers become frustrated with out- of-date documentation │ API Discovery opportunities are curtailed – resulting in duplicated work │ Inconsistent Developer Experience – practices, styles, DX 5
  • 6. 66 Recognizing the need is the primary condition for design. - Charles Eames|
  • 8. 88 A design isn’t finished until somebody is using it. - Brenda Laurel|
  • 9. 9 API Virtualization | Deploy a virtual API based off a draft of the spec plus some generated or referenced data. | Simulate API behavior and responses, and even the performance of the future service. | Why is Virtualization Important? | Net effects of broad and diverse feedback is quality, clarity of purpose…and improved stakeholder engagement – keys to API adoption. | ….did I build the right API? Virtual
  • 11. 1111 Great architecture is a collaboration among a lot of people over a long period of time. - Joshua Prince-Ramus|
  • 12. 12 Design First…but Only at First: Evolving Your API │ Deployed API and Specification are out of sync │ Therefore: API Design does not drive development …V+++= V1+++
  • 13. 13 Driving Development using Design First 1 Propose change 2 See failing tests 3 Write passing code 4 Create pull request, merge to master 5 CI/CD Publish and mark default using Registry API …V+++
  • 14. 14 Specification Validation: Producer Contract Test | Why is it important? • Check, can be easily automated • Devs know if anything has been added to the spec ( build pipeline test will fail because spec is updated) | ….Did I Build the API Right? | Run Producer Contract Tests with each PR, before any build is promoted | Keep API build in conformance with documentation, easier to iterate on API
  • 15. 1515 How well we communicate is determined not by how well we say things, but how well we are understood. — Andrew Grove |
  • 16. 16 │ Consumers USE your APIs │ Consumer interactions can get hidden in the telemetry │ Consumers cause security problems │ In some architectural patterns – Consumers are entirely anonymous…until something breaks. │ Consumers implement your API incorrectly, or too thoroughly, or outdated versions Into the Unknown: API Consumers
  • 18. 18 Mapping your Audience At NetFlix: │ + 1 Billion calls per day, each API call fans out to ~6 calls to backend services At Amazon: │ Website calls 100-150 services to get data used to build a single webpage
  • 19. 1919 The single biggest problem in communication is the illusion that it has taken place. — George Bernard Shaw|
  • 20. 20 Consumer-Driven Contract Testing Virtual 1. Structure of a Response 2. Error Handling 3. Event Type/Payload 4. Rate Limiting 5. Content Distribution
  • 21. 21 Quality Is Experienced Throughout the API Lifecycle Design Build Test Secure Deploy Monitor Quality The act of designing should be an ongoing collaboration which is facilitated by the specification as teams iterate
  • 22. 2222 Good design begins with honesty, asks tough questions, comes from collaboration and from trusting your intuition. —Freeman Thomas |
  • 23. 2323 Thank You Alianna Inzana Senior Director, API Testing @AInzana linkedin.com/in/aliannainzana