This document summarizes Marjukka Niinioja's keynote presentation on APIOps Cycles. The presentation introduces APIOps Cycles as a lean method for building good APIs for business. It discusses reasons why APIs need their own development method, including to minimize waste and do things right the first time. The method focuses on collaborating with API consumers early, using a DevOps mindset, and aligning API development with business needs.
Report
Share
Report
Share
1 of 43
More Related Content
Why APIs need their own development method - Open and Lean method to develop APIs - APIOps Cycles
1. Lean Method for Building Good APIs for
Business – APIOps Cycles
Marjukka Niinioja, Osaango & APIOps Community
Keynote at Fullstack Developer Conf Finland @fsdcFI 2019
@miinioja @apiopscycles
2. What I have done and still do…
API, Enteprise & Information Architect
API Product Manager
Developer
Manager
Project manager
API management vendor
Consultant (ERP, API, Business Strategy)
Trainer
Speaker
Author
Consulted, trained or advised 200
companies and public organizations on
APIs, microservices, integrations and
Developer experience
Consulting & training currently Finnish
government, companies and enterprises in
Platform & API Economy
Organizing API & Platform economy
related events
Experience with multiple API
management, integration & API tools +
programming APIs
Founding partner of Osaango.com
@miinioja @apiopscycles
3. Most of the material is on the
APIOps Cycles site, blogs and
API Economy 101 book
@miinioja @apiopscycles
4. Difference of ”App”, ”API” &
”integration”
/products
/orders
/customers
1/hour request to
Product Information Management (PIM) –system internal REST A
Each time data is changed in CRM trigger a file transfer
from CRM to microservice which implements the API
Each time there is a new quote request an ERP SOAP-
web service
API Integration
Each time data is changed via API trigger file transfer from
the microservice implementing the API to CRMt
/shipping
(API calculates delivery costs between given postal codes, based
on logistics contract prices stored in a microservice)
App
/images
(kuvia CDN:stä)
5. APIs as part of full infrastructure
”FeatureAPIs”
REST API
GraphQL
gRPC
AsyncAPI
Java API
Javascript API
Anything over HTTP, SOAP etc.
EAI platform
Systems of Record application
Device (sensor, hardware,
kitchen apliance…)
Network management
Capacity management
Microservice (with/without storage)
Cloud platform service (IoT, AI / ML…)
Transformation services (eg. file to api)
Streaming services
Implementation layer
”Infrastructure
APIs”
Implementation layer
6. API <> integration
Integration
OUT
Integration
IN
1-few integration parties
1 backend
Typically 1+1 data
storages
System
API
0-N API Consumers
1-N backend services
0-N data storage, can just perform
algorithm
Micro-
service
Public
internet,
HTTP(S)
Mostly
insecure
consumers,
backends and
network
Small
payloads of
data often
Private
networks,
TCP etc.
protocols
Mostly secure
consumers,
backends and
network
Huge
payloads of
data at
intervals
Integration
IN/OUT
Smart
contract
Chatbo
t
IoT
device
System System
7. API Economy runs on ecosystem
customer journeys
Analytics
and
content
APIs
Awareness APIs
Sense APIs
Market place APIs
Search engine APIs
Product APIs
Ordering
APIs (own,
partner
customer)
Payment APIs Logistics APIs
@miinioja @apiopscycles
8. APIs make it easier to scale products
and organizations
8
Integration orientation
Ecosystem and platform orientation
Bosch, J. – Bosch-Sijtsema, P. 2010. From integration to composition: On the impact of software product lines,
global development and ecosystems. Journal of Systems and Software, 83(1), s. 67-76)
9. Available for anyone
to register?
Paid support available
for adopting API?
Pay for usage?
Open license for
data?
Open Data Interface Yes Yes Maybe Yes
Open API
Public API Yes Yes Maybe Maybe
Partner API No Yes Maybe No
Internal and Private APIs No No No No
API category cheat sheet: Marjukka Niinioja & Jarkko Moilanen 2018
11. They have gained competitive edge and scale with a
good API
Source:
https://memberful.com/blog/stripe-vs-
paypal/
12. Stripe has come far in 5 years
http://www.businessinsider.com/the-payments-industry-
explained-2014-12?r=US&IR=T&IR=T https://www.valuewalk.com/2016/12/stripe-
ecosystem-one-giant-visualization/
13. I wish someone had given me a magic API
wisdom pill 10-20 years ago…
Photo by OhTilly on Unsplash
16. And into research, practice and business domains
In the scarce world of API
research, this provides
important view on APIs,
from global economy
point of view.
How can we make APIs
more widely adopted?
@miinioja @apiopscycles
17. Source: Huhtamäki & al. Visualizing the Geography of
Platform Boundary Resources: The Case of the Global
API Ecosystem
Amount of APIs
correlates with Global
Startup Index and
economic growth
areas.
APIs thrive in cultures
where user-centered
design is dominant.
Mashups combining
several APIs require
certain amount of co-
location and mindset
for marketers and
developers to co-
create.@miinioja @apiopscycles
19. Why do APIs need their own
method????
LET’S LOOK AT 10 REASONS
@miinioja @apiopscycles
20. Why is a lean
process important?
1
To minimize waste
and do things right
the first time
Else the docs don’t
match the reality,
like in this case…
@miinioja @apiopscycles
22. And we all come
from different
villages…
@miinioja @apiopscycles
23. POST /meet
Accept-Language: fi-FI
“Hello”: “Moi”
Response:
Status code: 200 OK
“Location”: “Helsinki”
“Hello”: “Moi”
Response:
Status code: 200 OK
“Location”: “Tampere”
“Hello”: “Moro”
Response:
Status code: 200 OK
“Location”: “Lappland”
“Hello”: “Hei”
@miinioja @apiopscycles
24. POST /add
POST /del
Hand-written
documentation
200 attributes for payload “just
because we have them”
Sensitive information in URI and
Query parameters
When we get new API users, we need to boot our servers
to give them access
“Basic auth is just fine”Not validating
specfiles
And we also copy-paste bad APIs… That’s why it’s
a technical jungle out there…
3
@miinioja @apiopscycles
25. If we don’t build
the APIs with the
right method…
4
@miinioja @apiopscycles
26. We’ll lose leeway in development and waste time and
money during API lifetime.
Difference between “normal software project” and one using API Consumer interviews
and Prototyping introduced by APIOps Cycles
6 month project time line
The “Oh s**t, they can’t use the API like this” -moment
✓
⛔
@miinioja @apiopscycles
29. API is... Description Example Type of API
Important feature of a tangible
product
API is part of a tangible product or productized
service. Customer gets the API as part of the deal
when buying the product.
Internet of Things (IoT) APIs for controlling and
analyzing state of things like home appliances or
sensors
Partner or public, sometimes
also private
Productized service
API in itself is a productized service, offered to all
customers in the same way
Translation APIs, Payment APIs Public API
Part of a digital or real-world
service
API is part of the service experience, for example
maintenance service is ordered with an API, or you
can monitor package delivery with an API
Logistics API Partner or Public API
Customer-specific service
API is part of a service offered to customers as a
tailor-made solution including for example an
integration to a service providers system.
APIs in customer specific applications Partner
Interface to resources
API is just a means to access a resource the
company is selling
Company info APIs (risk category, owners, contact
information).
Cognitive APIs etc.
Open data APIs, Partner APIs
Interface to platform (boundary
resource)
API is a means to connect with a platform and get
added value through participation in the
interconnecting relationships of the platform (in
Platform Economy business model)
Online auction API, Apartment sharing API Partner or Public
Part of an integration
API is means to connect in to applications and
devices
Product API, Employees API, business transactions
API
Internal or partner API
@mniinoja Niinioja Marjukka. 2018. Translated and revised version. Published in a book about API Economy (Finnish) by Moilanen,
J., Niinioja, M., Seppänen, M., Honkanen, M. API-talous 101, Alma Talent
Is API a Product, Service, Integration or Something Else?
30. Don’t know what the
customers would use it
for… I need the Force
APIOps Cycles!
Sell our API or else…
@miinioja @apiopscycles
33. API =
All People are
Important
But do all these
people even
make a
difference
between an App
and an API?
9
34. Release both API
interface and code
which implements it
Monitor API
performance, code,
developer experience &
business metrics
Configure API interface,
management & code
environment
Create, verify and
package API interface &
code which implements
it
Plan API business
model, API consumer
requirements,
interfaces, API mgmt,
code
DevOps cycle y Kharnagy - Own work, CC BY-SA 4.0 – APIOps changes by @mniinioja
APIs need 2x DevOps 10
@miinioja @apiopscycles
36. About the method
Developed in 2017 at Digia Plc, updated version published in 12/2018 by
Osaango
Licensed with CC-BY-SA 4.0 open license
Maintained and developed further by APIOps community backend by
Osaango Ltd
Used in many public and private organizations, from small to enterprise
size
Purpose is to bring collaborations, DevOps mind set, business needs,
developer experience and lean thinking to API development.
@miinioja @apiopscycles
37. Business models and
business model canvases are
well known by the business
people and designers, as is
Lean Startup
@miinioja @apiopscycles
38. Minimum Viable API Architecture
Prototype
Just enough
Scale
API Audit Checklist collects all the rookie mistakes
usually done with designing APIs, even by otherwise
experienced developers.
It’s great for improving the Developer Experience,
security, metrics and API mgmt adoption. And helps in
onboarding newbie API developers
@miinioja @apiopscycles
39. Everyone hates NFRs so why not make them as easy and business user
friendly – main thing is you consider them per API & Customer journey
@miinioja @apiopscycles
42. API consumer’s customer experience –
www.apieconomy.info with
Developer journey
AWARENESS
”I need a
image
detection API
”
ENGAGEMENT
”Hmm… there
seems to be
many visual
recognition APIs
that might fit
my needs”
COMPARISON /
NURTURE
”I’ll compare
these APIs: who
else is using,
what languages,
features,
revenue,
support”
TRANSACT
”How do I
get access to
it and use it”
”Do I need to
pay, how &
when do I
pay?”
USAGE
CUSTOMER
SUCCESS
”How do I
get support?”
ADVOCACY
“This is a
great API, we
should use
this for all of
our projects!”
“You should
try this too,
I’ll make a
tutorial
video”
PREVIOUS
EXPERIENCE
FUTURE
EXPERIENCE
PRE-
PURCHASE
TOUCH
POINTS
PURCHASE OR
ADOPTION
TOUCH
POINTS
POST-
PURCHASE
TOUCH
POINTS
Niinioja, M. (2018) adapted from picture “Current customer experience” in article by Lemon, K. N., & Verhoef, P. C. (2016).
Understanding customer experience throughout the customer journey. Journal of Marketing, 80(6), 69-96.
FEEDBACK (Qualitative and quantitative, technical and satisfaction, f.eg. API requests,
errors, support requests, Conversion rate, drop-out, MRR, NPS, CES)
Channels (brand owned, partner owned, customer owned, social):
Search engines, cloud platforms, API market places, blogs, social media, company
website, company’s developer center, extranet, intranet
@miinioja @apiopscycles
43. Get started or contact for partnership or training!
www.apiopscycles.com
Contact via:
LinkedIn
Twitter @mniinioja or
@apiopscycles
info@osaango.com
Editor's Notes
Kuinka yleistä on, että taloushallinnon järjestelmissä on rajapintoja? Ovatko ne yleensä kaksisuuntaisia?
Tietoja siirrettäessä järjestelmien välissä
Mitä kontrolleja ja mihin (lähtöjärjestelmä, rajapinta, vastaanottava järjestelmä) niissä pitää olla?
Ovatko kuvaukset yleensä yksiselitteisiä ja ymmärrettäviä, jotta siirrettävä tieto vastaa vastaanottavan järjestelmän tarvetta??
Miten yleisiä avoimia rajapintoja (esim. PRH) voidaan käyttää taloushallinnon järjestelmien tietojen päivityksessä?
Teknisiä kysymyksiä:
Rest on yleisin rajapinta. Mikä on sen tulevaisuus ja onko sillä potentiaalista seuraajaa?
Ohjelmoinnissa voi tulla ongelmia API-rajapinnan ja ohjelmointikielen yhteensopivuuden kanssa esim.
Stripe APIn edut kilpailijoihin verrattuna
Hinnoittelumallin selkeys
Helposti olemassaolevaan palveluun liimattava automaattisesti PCI-yhteensopiva tapa käsitellä sensitiivisiä tietoja
Selkeä, toimiva, luotettava parhaat käytännöt toteuttava API verrattuna kilpailjoiden kuten PayPal epäselvästi dokumentoituihin, bugisiin apeihin
Paljon tutoriaaleja, käyttötapauksia ja koodiesimerkkejä, myös muiden tuottamina
I was a typical EXPERT. New how to do it, but not how to teach others to do it. It felt like art, but there had to be science. Also other than computer science. I just found hardly any beyond the US and UK API industry presentations
I tapped in to my roots in EDUCATION (M. Ed.)
But I was missing an API-specific METHOD.
If you weren’t in the conf: when making my shirt they put the sleaves upside down and did a lot of oter “bad process” mistakes
PUOLIVÄLI
4 years ago I talked about the accidental API developer and 12 month API pregnancy. Those problems are still met by a lot of API product managers around the world. If you don’t have a clear target market and value proposition for your API and your documentation is written purely for developers, your sales, marketing or product owners are left powerless. One of my customer’s from US had exactly this problem recently. He said their sales people just can’t sell the API and that hits hard on his targets, he was the Product Manager. This is not just individual problem it’s almost always the case in some way. And it’s not just problem with public APIs. Just a week ago one lady in my training realized that she was in charge of a lot of public, partner and private APIs but the documentation was so poor, she couldn’t even understand herself what the APIs can actually be used for. I’m trying to highlight here the need for API value proposition as well as Developer experience. Not just for coders, but also for the managers and architects who need to decide what API to use.