SlideShare a Scribd company logo
1 of 23
Homo Apitus 
WHY EVERYONE SPEAKING “APISH” MAKES YOUR 
WHOLE BUSINESS MORE AGILE? 
By Marjukka Niinioja and all the great characters at PlanMill Oy
ABOUT ME 
Marjukka Niinioja @Mniinioja 
Senior Consultant & Manager 
PlanMill Oy @PlanMill 
www.planmill.com 
Working with software 
development and integrations 
since 2000 
Work experience from 
government, adult education 
and private sector. 
Master of Education, minoring 
in Leadership and Computer 
Science. 
Check out our API at: 
http://api-portal. 
anypoint.mulesoft.com/pl 
anmill/api/planmill-rest-api-15 
Read about why we chose RAML 
http://apisuomi.fi/2014/10/rest 
-raml/
PLANMILL IS A WEB BASED ERP, PROJECT AND CRM 
SOFTWARE 
Customizable, Cloud, On-premise – been used since 2001 by 100+ customers in Finland, Europe 
and overseas
25+ 
COUNTRIES 
100+ 
CUSTOMERS 
20 000+ 
USERS 
13 
YRS IN BUSINESS 
25 
SKILLED EXPERTS 
2 000+ 
NET SALES (T€) 
PLANMILL TODAY 
SALES PROJECTS TIME 
EXPENSES REQUESTS 
FINANCES 
Our customers are the future makers and shakers. They are leading the way in 
their fields of expertise pushing the boundaries into new levels. 
Connected to PlanMill
TIME FLIES WHEN YOU 
DEVELOP ARCHITECTURE 
In-house system 
”Nokia Planner” 
Commercial 
project 
management 
software 
MS SQL Server 
based version 
1988 1992 
First Lotus Domino 
database 
connector in the 
world with IBM 
1998 
1999 
Java applet 
based user 
interfaces 
First WAP-based 
time tracking 
system in the 
world co-developped 
with 
Nokia 
Confluence plugin 
with Ambientia 
using the API 
2004 2006 
Atlassian 
Java + XML & 
XSLT 
From project 
management to 
PSA 
2010 
Open 
API 1.0 
Mobile 
touch 
interface 
Expanding from 
On-premise to 
Cloud 
2009 
Open 
API 1.5 
20112014 
ERP 
integraitng 
with lots of 
trad. Web 
services
2009 – API 1.0 : ”THE ACCIDENTAL 
API DEVELOPER REACHES 
TODDLER AGE AND LEARNS HOW 
TO WALK” 
First 12 months 
Devs have 
an idea 
Consultants start 
speaking about it 
to customers 
API is born 
API?? What is 
that?? 
Very quiet 
launch 
”Productization”: Test 
environment, API key request 
form, usable dev documentation, 
some idea of pricing 
First real use cases 
by customers 
around projects and 
time reporting 
Amount of employees ”on the know” 
First big API using 
application project 
sold, massive 
improvements to API 
as result 
API as major 
selling point 
compared to 
competitors 
First partnership case 
(Atlassian Confluence 
with Ambientia) made 
possible by API 
”Learning by supporting” ”Learning by coding and co-coding” 
http://www.slideshare.net/MarjukkaNiinioja/accidental-api-developer-the- 
12-month-period-from-birth-to-toddler-and-beyond
2014: NEW IMPROVED PROCESS 
TOWARDS THE API 2.0 
Towards the new API 
powered ecosystem 
Research project 
Customer & Partner 
needs and insights 
Piloting technologies and 
preliminary services of 
API by parallel 
developing client 
software 
Demos, knowlegde 
sharing and discussions 
with whole company 
Architecture vs. strategy – 
what services, how to 
maintain, how to 
monetize 
Internal beta 
Teach with the beta 
through real projects 
Public beta + developer 
community 
Feedback from developer 
community 
Publish 1.5 
Eat our own dogfood with 
your own client using API
WHAT LANGUAGES DO YOU 
SPEAK? 
Finnish Icelandic 
Swedish Czech 
Danish Java 
Norwegian Python 
English C++ 
German Pascal 
French JSON 
Estonian XML 
Greek XHTML
BUT ARE WE REALLY TALKING 
ABOUT THE SAME THING? 
System A 
Customer 
Company 
Person 
Decision maker 
Lead 
Deal 
Sales project 
System B 
/accounts 
/contacts 
/opportunit 
ies
“As a project 
manager I want to 
create new 
projects” 
public static 
createProject(name,st 
art)… 
CONNECT 
/TEAMS?VIA=API 
POST /projects {name: “My first project”, 
Start: “2014-01-01T00:00:00Z}
EVEN A MONKEY COULD 
INTEGRATE 2 SYSTEMS 
GIVEN ENOUGH TIME… 
Old way with integration specific file 
formats took minimum of 40-60 hours 
per integration: 
• 2 workshops with 10 people 
• 10-20 emails guessing what customer 
and integration partner actually want 
to transfer 
• 5 hours of guessing formats 
• 10 hours of guessing what the fields 
mean 
• 15 hours of debugging when you 
finally get to test 
• 20+ hours of figuring out what random 
undocumented error messages mean 
after integration went to production 
The infinite monkey 
theorem states that a monkey 
hitting keys at random on 
a typewriter keyboard for an 
infinite amount of time 
will almost surely type a given 
text, such as the complete works 
of William Shakespeare. 
Source: 
http://en.wikipedia.org/wiki/Infi 
nite_monkey_theorem
GET /CUSTOMERS 
GET /PARTNERS 
Renewing our system API 
first has given as an 
opportunity to use our 
customers as our “co-developers”. 
They are building apps 
for themselves and 
sharing ideas and 
helping us to get ideas 
what we should 
incorporate in our 
product. 
Typical bigger API-based integration 
project takes 2-10 hours of our or 
customer’s time
API CHANGED THE WAY WE 
WORK 
TRAD: ”I’m selling an application – look how I demo by 
clicking the UI” 
API: ”I’m selling a application with API – look how quickly 
I can get some data out or develop this app” 
TRAD: ”Customer was asking for help using the system – 
I asked her for screen shots” 
API: ”I asked the customer to send info about the API 
requests and responses he was trying to use”
APES IN SPACE – ARE YOU 
CRAZY?
LEARNING A NEW WAY OF 
THINKING… 
API is something only ”techies” 
and only ”some API techies” 
should know about 
API is separate from the ”actual” 
system 
New features and changes can be 
implemented without ever 
thinking of API 
API is going to be used so little 
that we don’t need to think about 
traffic limits or pricing models 
Using API to automate testing of 
the system is difficult 
API doesn’t need user 
documentation 
It’s ok to expose our internal 
data model ”as is” to outside 
world 
All users of the same API in the 
same instance can see all data 
”Open information” vs. 
”Restricted information” in a 
business application – all data 
should be accessed by any API 
user 
API is only going to be used by 
”outsiders”
PRESUMPTIONS IS THE MOTHER OF 
ALL… 
It was presumed that our 
backend couldn’t 
support a great new 
JSON state of the art 
API… and a lot of other 
things… 
But then we decided 
together: 
Let’s make our process 
faster, better, bug free, 
and renew our 
application one step at a 
time – starting with API! 
Buttons as embodiment of our strategy 
created in our staff day in 05/2014
POST /VISION?TYPE=SHARED 
Joint understanding based on results and issues from previous 
sprints and hands-on research tasks helped to speed up team 
work.
GET 
/VOCABULARY? 
TYPE=SAME 
Discussing 
Educating 
Organizing and 
participating in meetings 
and seminars 
Inviting students from 
polytechnics as research 
buddies and mentors 
Understanding strengths 
and weaknesses of our 
current system and API 
If people don’t understand what API is 
about, they won’t tell about it, sell it, 
use it, develop it or support it
GET 
/RESEARCH 
During Spring 2014 we 
created pilot application 
with really new 
technologies to understand 
the possibilities better and 
to see what we can use 
along our current system. 
Pilot was built using 
Jackson + Hibernate + 
Drools + AngularJS 1 app / 
1 business module pilot to 
see how to replace our Java 
+ XSL + MS SQL 20 module 
system.
HARDEST PART OF CREATING A 
BACKLOG WAS TO ELIMINATE THE 
“UNKNOWN” AND TO ACCEPT THAT 
PLANS CAN CHANGE 
Team estimated how many hours they would have 
for the next 2 week sprint and created backlog 
items and estimated them roughly. New API was 
developed in 6 2-week sprints.
WHY WE CHOSE RAML AS JOINT SPECIFICATION 
RAML is a new standard for writing API specifications. It has a documented syntax 
and lot’s of good tools. It helped our team, to speak the same “language” in 
designing the API endpoints, error messages and content. It was understandable by 
both UI and backend teams. 
Read about why we chose RAML: 
http://apisuomi.fi/2014/10/rest-raml/
AND SUDDENLY THERE WERE 
TESTS… 
Integration tests with 
RESTAssured 
UI tests with 
Thucydides and JBehave
THANK YOU! 
Marjukka Niinioja @Mniinioja 
Senior Consultant & Manager 
PlanMill Oy @PlanMill 
www.planmill.com 
Check out our API at: 
http://api-portal. 
anypoint.mulesoft.com/ 
planmill/api/planmill-rest-api- 
15

More Related Content

What's hot

KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...John Musser
 
6 Reasons Why APIs Are Reshaping Your Business
6 Reasons Why APIs Are Reshaping Your Business6 Reasons Why APIs Are Reshaping Your Business
6 Reasons Why APIs Are Reshaping Your BusinessFabernovel
 
Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011John Musser
 
Why API Ops is the Next Wave of DevOps
Why API Ops is the Next Wave of DevOpsWhy API Ops is the Next Wave of DevOps
Why API Ops is the Next Wave of DevOpsJohn Musser
 
Copyright, Open Source and APIs (towards an Interface Commons)
Copyright, Open Source and APIs (towards an Interface Commons)Copyright, Open Source and APIs (towards an Interface Commons)
Copyright, Open Source and APIs (towards an Interface Commons)3scale
 
DDD (Delight-Driven Development) Of APIs With RAML
DDD (Delight-Driven Development) Of APIs With RAMLDDD (Delight-Driven Development) Of APIs With RAML
DDD (Delight-Driven Development) Of APIs With RAMLProgrammableWeb
 
Leweb Ignite Talk on APIs
Leweb Ignite Talk on APIsLeweb Ignite Talk on APIs
Leweb Ignite Talk on APIs3scale
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing3scale
 
Open APIs - State of the Market 2011
Open APIs - State of the Market 2011Open APIs - State of the Market 2011
Open APIs - State of the Market 2011John Musser
 
APIs for biz dev 2.0 - Which business model to win in the API Economy?
APIs for biz dev 2.0 - Which business model to win in the API Economy?APIs for biz dev 2.0 - Which business model to win in the API Economy?
APIs for biz dev 2.0 - Which business model to win in the API Economy?3scale
 
API Zen for Developers
API Zen for DevelopersAPI Zen for Developers
API Zen for Developers3scale
 
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays
 
Web2expo 2011u
Web2expo 2011uWeb2expo 2011u
Web2expo 2011uzachbrand
 
Open Bank Project September 2014 at Open Data CH
Open Bank Project September 2014  at Open Data CHOpen Bank Project September 2014  at Open Data CH
Open Bank Project September 2014 at Open Data CHTESOBE
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays
 

What's hot (18)

KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
KPIs for APIs (and how API Calls are the new Web Hits, and you may be measuri...
 
6 Reasons Why APIs Are Reshaping Your Business
6 Reasons Why APIs Are Reshaping Your Business6 Reasons Why APIs Are Reshaping Your Business
6 Reasons Why APIs Are Reshaping Your Business
 
Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011Open APIs and the Semantic Web 2011
Open APIs and the Semantic Web 2011
 
Why API Ops is the Next Wave of DevOps
Why API Ops is the Next Wave of DevOpsWhy API Ops is the Next Wave of DevOps
Why API Ops is the Next Wave of DevOps
 
Api for dummies
Api for dummies  Api for dummies
Api for dummies
 
Copyright, Open Source and APIs (towards an Interface Commons)
Copyright, Open Source and APIs (towards an Interface Commons)Copyright, Open Source and APIs (towards an Interface Commons)
Copyright, Open Source and APIs (towards an Interface Commons)
 
DDD (Delight-Driven Development) Of APIs With RAML
DDD (Delight-Driven Development) Of APIs With RAMLDDD (Delight-Driven Development) Of APIs With RAML
DDD (Delight-Driven Development) Of APIs With RAML
 
Leweb Ignite Talk on APIs
Leweb Ignite Talk on APIsLeweb Ignite Talk on APIs
Leweb Ignite Talk on APIs
 
APIs: the Glue of Cloud Computing
APIs: the Glue of Cloud ComputingAPIs: the Glue of Cloud Computing
APIs: the Glue of Cloud Computing
 
Open APIs - State of the Market 2011
Open APIs - State of the Market 2011Open APIs - State of the Market 2011
Open APIs - State of the Market 2011
 
APIs for biz dev 2.0 - Which business model to win in the API Economy?
APIs for biz dev 2.0 - Which business model to win in the API Economy?APIs for biz dev 2.0 - Which business model to win in the API Economy?
APIs for biz dev 2.0 - Which business model to win in the API Economy?
 
API Zen for Developers
API Zen for DevelopersAPI Zen for Developers
API Zen for Developers
 
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
apidays LIVE Paris - How to build better and consistent APIs at scale by Sami...
 
API documentation
API documentationAPI documentation
API documentation
 
What's an api
What's an apiWhat's an api
What's an api
 
Web2expo 2011u
Web2expo 2011uWeb2expo 2011u
Web2expo 2011u
 
Open Bank Project September 2014 at Open Data CH
Open Bank Project September 2014  at Open Data CHOpen Bank Project September 2014  at Open Data CH
Open Bank Project September 2014 at Open Data CH
 
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
apidays LIVE Paris - Data with a mission: a COVID-19 API case study by Matt M...
 

Similar to Speaking APIsh makes your business more agile

Renewing a mature software product from outside in - experiences from an API...
Renewing a mature software product from outside in - experiences from an API...Renewing a mature software product from outside in - experiences from an API...
Renewing a mature software product from outside in - experiences from an API...Marjukka Niinioja
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Gabriel Ortiz
 
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...apidays
 
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...PascalGacina1
 
Lean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesLean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesNordic APIs
 
Creating compelling user experiences through APIs
Creating compelling user experiences through APIsCreating compelling user experiences through APIs
Creating compelling user experiences through APIsJeremy Brown
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Mindtrek
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating DatadipityClickslide
 
APIDays Paris - APIOps Cycles - Open and lean method for API Development
APIDays Paris - APIOps Cycles - Open and lean method for API Development APIDays Paris - APIOps Cycles - Open and lean method for API Development
APIDays Paris - APIOps Cycles - Open and lean method for API Development Marjukka Niinioja
 
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...apidays
 
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019 Lean and Business oriented method at APIOps Cycles APIDays Finland 2019
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019 Marjukka Niinioja
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Marjukka Niinioja
 
API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)3scale
 
RubiX ID - API management - Pim Gaemers
RubiX ID - API management - Pim GaemersRubiX ID - API management - Pim Gaemers
RubiX ID - API management - Pim GaemersRubiX BV
 
APIOps Cycles - build business and tech together
APIOps Cycles - build business and tech togetherAPIOps Cycles - build business and tech together
APIOps Cycles - build business and tech togetherMarjukka Niinioja
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product StrategyRavi Kumar
 
"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas GreniéTheFamily
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxBlockchainizator
 

Similar to Speaking APIsh makes your business more agile (20)

Renewing a mature software product from outside in - experiences from an API...
Renewing a mature software product from outside in - experiences from an API...Renewing a mature software product from outside in - experiences from an API...
Renewing a mature software product from outside in - experiences from an API...
 
Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1Clickslide Datadipity Beta V1
Clickslide Datadipity Beta V1
 
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...
Apidays Paris 2023 - How API Fit to a Modern Enterprise Integration Platform,...
 
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...
API Days Paris 2023 - How API Fit a Modern Entreprise Integration Platform - ...
 
Lean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps CyclesLean Method for Building Good APIs for Business – APIOps Cycles
Lean Method for Building Good APIs for Business – APIOps Cycles
 
Creating compelling user experiences through APIs
Creating compelling user experiences through APIsCreating compelling user experiences through APIs
Creating compelling user experiences through APIs
 
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
Jarkko Moilanen, APInf, “Get Control of Your IoT Cruisers” - Mindtrek 2017
 
Creating Datadipity
Creating DatadipityCreating Datadipity
Creating Datadipity
 
APIDays Paris - APIOps Cycles - Open and lean method for API Development
APIDays Paris - APIOps Cycles - Open and lean method for API Development APIDays Paris - APIOps Cycles - Open and lean method for API Development
APIDays Paris - APIOps Cycles - Open and lean method for API Development
 
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...
APIdays Helsinki 2019 - Lean Method for Building Good APIs for Business – API...
 
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019 Lean and Business oriented method at APIOps Cycles APIDays Finland 2019
Lean and Business oriented method at APIOps Cycles APIDays Finland 2019
 
Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...Why APIs need their own development method - Open and Lean method to develop ...
Why APIs need their own development method - Open and Lean method to develop ...
 
Bigger, Better Business With OAuth
Bigger, Better Business With OAuthBigger, Better Business With OAuth
Bigger, Better Business With OAuth
 
API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)API Management Workshop (at Startupbootcamp Berlin)
API Management Workshop (at Startupbootcamp Berlin)
 
RubiX ID - API management - Pim Gaemers
RubiX ID - API management - Pim GaemersRubiX ID - API management - Pim Gaemers
RubiX ID - API management - Pim Gaemers
 
APIOps Cycles - build business and tech together
APIOps Cycles - build business and tech togetherAPIOps Cycles - build business and tech together
APIOps Cycles - build business and tech together
 
SlideShare Test-1
SlideShare Test-1SlideShare Test-1
SlideShare Test-1
 
APIs as a Product Strategy
APIs as a Product StrategyAPIs as a Product Strategy
APIs as a Product Strategy
 
"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié"How to create an efficient API.. with a business model?" by Nicolas Grenié
"How to create an efficient API.. with a business model?" by Nicolas Grenié
 
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptxAPI Product Opportunity Responsibility Nicolas Sierro 2015.pptx
API Product Opportunity Responsibility Nicolas Sierro 2015.pptx
 

More from Marjukka Niinioja

API Economy & Platform Skills - apidays Helsinki 2020
API Economy & Platform Skills - apidays Helsinki 2020API Economy & Platform Skills - apidays Helsinki 2020
API Economy & Platform Skills - apidays Helsinki 2020Marjukka Niinioja
 
API Economy updated practical examples with scientific research
API Economy updated   practical examples with scientific researchAPI Economy updated   practical examples with scientific research
API Economy updated practical examples with scientific researchMarjukka Niinioja
 
Product Management & Statistics - ProductTank Helsinki 04/2020
Product Management & Statistics - ProductTank Helsinki 04/2020Product Management & Statistics - ProductTank Helsinki 04/2020
Product Management & Statistics - ProductTank Helsinki 04/2020Marjukka Niinioja
 
APIs + Business Models = New Ecosystems - APIdays Paris 2019
APIs + Business Models = New Ecosystems - APIdays Paris 2019APIs + Business Models = New Ecosystems - APIdays Paris 2019
APIs + Business Models = New Ecosystems - APIdays Paris 2019Marjukka Niinioja
 
Marjukka Niinioja at APIdays Amsterdam 2019
Marjukka Niinioja at APIdays Amsterdam 2019Marjukka Niinioja at APIdays Amsterdam 2019
Marjukka Niinioja at APIdays Amsterdam 2019Marjukka Niinioja
 
APIOps Cycles - talk at NordicAPIs Platform Summit 2018
APIOps Cycles - talk at NordicAPIs Platform Summit 2018APIOps Cycles - talk at NordicAPIs Platform Summit 2018
APIOps Cycles - talk at NordicAPIs Platform Summit 2018Marjukka Niinioja
 
APIfying an ERP - ongoing saga
APIfying an ERP - ongoing sagaAPIfying an ERP - ongoing saga
APIfying an ERP - ongoing sagaMarjukka Niinioja
 
Reinventing Your Mature SaaS
Reinventing Your Mature SaaSReinventing Your Mature SaaS
Reinventing Your Mature SaaSMarjukka Niinioja
 

More from Marjukka Niinioja (12)

API Economy & Platform Skills - apidays Helsinki 2020
API Economy & Platform Skills - apidays Helsinki 2020API Economy & Platform Skills - apidays Helsinki 2020
API Economy & Platform Skills - apidays Helsinki 2020
 
API Economy updated practical examples with scientific research
API Economy updated   practical examples with scientific researchAPI Economy updated   practical examples with scientific research
API Economy updated practical examples with scientific research
 
Product Management & Statistics - ProductTank Helsinki 04/2020
Product Management & Statistics - ProductTank Helsinki 04/2020Product Management & Statistics - ProductTank Helsinki 04/2020
Product Management & Statistics - ProductTank Helsinki 04/2020
 
Open data vs open api
Open data vs open apiOpen data vs open api
Open data vs open api
 
APIs + Business Models = New Ecosystems - APIdays Paris 2019
APIs + Business Models = New Ecosystems - APIdays Paris 2019APIs + Business Models = New Ecosystems - APIdays Paris 2019
APIs + Business Models = New Ecosystems - APIdays Paris 2019
 
Marjukka Niinioja at APIdays Amsterdam 2019
Marjukka Niinioja at APIdays Amsterdam 2019Marjukka Niinioja at APIdays Amsterdam 2019
Marjukka Niinioja at APIdays Amsterdam 2019
 
APIOps Cycles - talk at NordicAPIs Platform Summit 2018
APIOps Cycles - talk at NordicAPIs Platform Summit 2018APIOps Cycles - talk at NordicAPIs Platform Summit 2018
APIOps Cycles - talk at NordicAPIs Platform Summit 2018
 
Tieke api-talous-07092018
Tieke api-talous-07092018Tieke api-talous-07092018
Tieke api-talous-07092018
 
Kesko_Marjukka
Kesko_MarjukkaKesko_Marjukka
Kesko_Marjukka
 
APIfying an ERP - ongoing saga
APIfying an ERP - ongoing sagaAPIfying an ERP - ongoing saga
APIfying an ERP - ongoing saga
 
Reinventing Your Mature SaaS
Reinventing Your Mature SaaSReinventing Your Mature SaaS
Reinventing Your Mature SaaS
 
APIfying an ERP
APIfying an ERPAPIfying an ERP
APIfying an ERP
 

Speaking APIsh makes your business more agile

  • 1. Homo Apitus WHY EVERYONE SPEAKING “APISH” MAKES YOUR WHOLE BUSINESS MORE AGILE? By Marjukka Niinioja and all the great characters at PlanMill Oy
  • 2. ABOUT ME Marjukka Niinioja @Mniinioja Senior Consultant & Manager PlanMill Oy @PlanMill www.planmill.com Working with software development and integrations since 2000 Work experience from government, adult education and private sector. Master of Education, minoring in Leadership and Computer Science. Check out our API at: http://api-portal. anypoint.mulesoft.com/pl anmill/api/planmill-rest-api-15 Read about why we chose RAML http://apisuomi.fi/2014/10/rest -raml/
  • 3. PLANMILL IS A WEB BASED ERP, PROJECT AND CRM SOFTWARE Customizable, Cloud, On-premise – been used since 2001 by 100+ customers in Finland, Europe and overseas
  • 4. 25+ COUNTRIES 100+ CUSTOMERS 20 000+ USERS 13 YRS IN BUSINESS 25 SKILLED EXPERTS 2 000+ NET SALES (T€) PLANMILL TODAY SALES PROJECTS TIME EXPENSES REQUESTS FINANCES Our customers are the future makers and shakers. They are leading the way in their fields of expertise pushing the boundaries into new levels. Connected to PlanMill
  • 5. TIME FLIES WHEN YOU DEVELOP ARCHITECTURE In-house system ”Nokia Planner” Commercial project management software MS SQL Server based version 1988 1992 First Lotus Domino database connector in the world with IBM 1998 1999 Java applet based user interfaces First WAP-based time tracking system in the world co-developped with Nokia Confluence plugin with Ambientia using the API 2004 2006 Atlassian Java + XML & XSLT From project management to PSA 2010 Open API 1.0 Mobile touch interface Expanding from On-premise to Cloud 2009 Open API 1.5 20112014 ERP integraitng with lots of trad. Web services
  • 6. 2009 – API 1.0 : ”THE ACCIDENTAL API DEVELOPER REACHES TODDLER AGE AND LEARNS HOW TO WALK” First 12 months Devs have an idea Consultants start speaking about it to customers API is born API?? What is that?? Very quiet launch ”Productization”: Test environment, API key request form, usable dev documentation, some idea of pricing First real use cases by customers around projects and time reporting Amount of employees ”on the know” First big API using application project sold, massive improvements to API as result API as major selling point compared to competitors First partnership case (Atlassian Confluence with Ambientia) made possible by API ”Learning by supporting” ”Learning by coding and co-coding” http://www.slideshare.net/MarjukkaNiinioja/accidental-api-developer-the- 12-month-period-from-birth-to-toddler-and-beyond
  • 7. 2014: NEW IMPROVED PROCESS TOWARDS THE API 2.0 Towards the new API powered ecosystem Research project Customer & Partner needs and insights Piloting technologies and preliminary services of API by parallel developing client software Demos, knowlegde sharing and discussions with whole company Architecture vs. strategy – what services, how to maintain, how to monetize Internal beta Teach with the beta through real projects Public beta + developer community Feedback from developer community Publish 1.5 Eat our own dogfood with your own client using API
  • 8. WHAT LANGUAGES DO YOU SPEAK? Finnish Icelandic Swedish Czech Danish Java Norwegian Python English C++ German Pascal French JSON Estonian XML Greek XHTML
  • 9. BUT ARE WE REALLY TALKING ABOUT THE SAME THING? System A Customer Company Person Decision maker Lead Deal Sales project System B /accounts /contacts /opportunit ies
  • 10. “As a project manager I want to create new projects” public static createProject(name,st art)… CONNECT /TEAMS?VIA=API POST /projects {name: “My first project”, Start: “2014-01-01T00:00:00Z}
  • 11. EVEN A MONKEY COULD INTEGRATE 2 SYSTEMS GIVEN ENOUGH TIME… Old way with integration specific file formats took minimum of 40-60 hours per integration: • 2 workshops with 10 people • 10-20 emails guessing what customer and integration partner actually want to transfer • 5 hours of guessing formats • 10 hours of guessing what the fields mean • 15 hours of debugging when you finally get to test • 20+ hours of figuring out what random undocumented error messages mean after integration went to production The infinite monkey theorem states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare. Source: http://en.wikipedia.org/wiki/Infi nite_monkey_theorem
  • 12. GET /CUSTOMERS GET /PARTNERS Renewing our system API first has given as an opportunity to use our customers as our “co-developers”. They are building apps for themselves and sharing ideas and helping us to get ideas what we should incorporate in our product. Typical bigger API-based integration project takes 2-10 hours of our or customer’s time
  • 13. API CHANGED THE WAY WE WORK TRAD: ”I’m selling an application – look how I demo by clicking the UI” API: ”I’m selling a application with API – look how quickly I can get some data out or develop this app” TRAD: ”Customer was asking for help using the system – I asked her for screen shots” API: ”I asked the customer to send info about the API requests and responses he was trying to use”
  • 14. APES IN SPACE – ARE YOU CRAZY?
  • 15. LEARNING A NEW WAY OF THINKING… API is something only ”techies” and only ”some API techies” should know about API is separate from the ”actual” system New features and changes can be implemented without ever thinking of API API is going to be used so little that we don’t need to think about traffic limits or pricing models Using API to automate testing of the system is difficult API doesn’t need user documentation It’s ok to expose our internal data model ”as is” to outside world All users of the same API in the same instance can see all data ”Open information” vs. ”Restricted information” in a business application – all data should be accessed by any API user API is only going to be used by ”outsiders”
  • 16. PRESUMPTIONS IS THE MOTHER OF ALL… It was presumed that our backend couldn’t support a great new JSON state of the art API… and a lot of other things… But then we decided together: Let’s make our process faster, better, bug free, and renew our application one step at a time – starting with API! Buttons as embodiment of our strategy created in our staff day in 05/2014
  • 17. POST /VISION?TYPE=SHARED Joint understanding based on results and issues from previous sprints and hands-on research tasks helped to speed up team work.
  • 18. GET /VOCABULARY? TYPE=SAME Discussing Educating Organizing and participating in meetings and seminars Inviting students from polytechnics as research buddies and mentors Understanding strengths and weaknesses of our current system and API If people don’t understand what API is about, they won’t tell about it, sell it, use it, develop it or support it
  • 19. GET /RESEARCH During Spring 2014 we created pilot application with really new technologies to understand the possibilities better and to see what we can use along our current system. Pilot was built using Jackson + Hibernate + Drools + AngularJS 1 app / 1 business module pilot to see how to replace our Java + XSL + MS SQL 20 module system.
  • 20. HARDEST PART OF CREATING A BACKLOG WAS TO ELIMINATE THE “UNKNOWN” AND TO ACCEPT THAT PLANS CAN CHANGE Team estimated how many hours they would have for the next 2 week sprint and created backlog items and estimated them roughly. New API was developed in 6 2-week sprints.
  • 21. WHY WE CHOSE RAML AS JOINT SPECIFICATION RAML is a new standard for writing API specifications. It has a documented syntax and lot’s of good tools. It helped our team, to speak the same “language” in designing the API endpoints, error messages and content. It was understandable by both UI and backend teams. Read about why we chose RAML: http://apisuomi.fi/2014/10/rest-raml/
  • 22. AND SUDDENLY THERE WERE TESTS… Integration tests with RESTAssured UI tests with Thucydides and JBehave
  • 23. THANK YOU! Marjukka Niinioja @Mniinioja Senior Consultant & Manager PlanMill Oy @PlanMill www.planmill.com Check out our API at: http://api-portal. anypoint.mulesoft.com/ planmill/api/planmill-rest-api- 15