Kokemuksia API-lähtöisen alustan kehittäjäkokemuksen rakentamisesta

Kokemuksia API-lähtöisen alustan kehittäjäkokemuksen rakentamisesta

APIen ensisijainen asiakas on sovelluskehittäjä. Tästä varmaan moni on samaa mieltä, mutta mitä se käytännössä tarkoittaa ja miten se toimialan parhaan kehittäjäkokemuksen tarjoava API ja alusta tehdään? Esityksessä kerron kokemuksista aiheeseen liittyen viimeisen 6 kuukauden ajalta Platform of Trust -alustan kohdalla. Esitys sisältää käytännönläheistä asiaa innostavien ja suorapuheisten tarinoiden muodossa. Mukana myös aiheesta tehtyjen tutkimusten tuloksia tukemassa ja perustelemassa tehtyjä ratkaisuja. Loistavan kehittäjäkokemuksen suunnittelu ja toteutus on maratoni eikä 110 metrin aidat. Matkalla tulee vastaan tilanteita joihin on sopeuduttava ja ratkaisut pitää rakentaa asiakaslähtöisesti ilman turhaa markkinointihöttöä. Matka vaatii kestävyyttä ja ketteryyttä. Esityksestä saat vinkkejä miten selvitä maratonin maaliviivalle. Esitys on suunnattu ensisijaisesti APIen ja alustojen kehityksestä ja myynnistä, kehittäjäkokemuksesta (DX) ja asiakaskokemuksesta (CX) vastaaville henkilöille.

Esitetty 21.5.2019 Prosessipäivillä https://www.oppia.fi/events/prosessipaivat-2019/

Ca885e6fec0c28dd2effcd58e506778b?s=128

Jarkko Moilanen, PhD

May 19, 2019
Tweet

Transcript

  1. 1.

    Kokemuksia API-lähtöisen alustan kehittäjäkokemuksen rakentamisesta Jarkko Moilanen (PhD), Leading API

    Economist in Nordics Platform Developer eXperience Lead Twitter: @Jarkko_Moilanen Jarkko.moilanen@oftrust.net +358 40 535 9066 Prosessipäivät 2019
  2. 2.

    @Jarkko_Moilanen - Prosessipäivät 2019 Developer eXperience Lead’s duty is to

    find the solutions how to enable maximum positive developer experience for the platform (developer) consumers without killing the internal developer experience.
  3. 3.

    Monesti DX kohdalla puhutaan vain lopputuloksesta. 6 kk Platform of

    Trust -alustan rakentamista Tasapainoilua sisäisen ja ulkoisen DX:n välillä puhutaanpa prosessista
  4. 4.

    Mikä kehittäjäkokemus (DX)? @Jarkko_Moilanen - Prosessipäivät 2019 • API tuottaa

    lisäarvoa (nopeasti) • Loiva oppimiskynnys (getting started ohjeita) • Itsepalveluna käyttöön (sis. tunnukset) • Hyvä ajantasainen dokumentaatio • Kopioitavia koodiesimerkkejä • Tuki • APIt yhtenäisiä ja ennakoitavia
  5. 6.

    @Jarkko_Moilanen - Prosessipäivät 2019 Building a “developer-first” product that makes

    it easy for companies and developers to accept payments immediately. 100 000 asiakasta, 100 Mrd $ transaktioita, 1,5 Mrd $ liikevaihtoa
  6. 7.

    Alustan sisäinen kehittäjäkokemus Alustan ulkoinen kehittäjäkokemus • Omat yrityksen alustan

    kehittäjät • Työskentelymukavuus • CI/CD prosessin tehokkuus • Työn minimointi (uudelleenkäyttö) • Arkkitehtuuriset valinnat • Ulkoiset sovelluskehittäjät • Nopea käyttöönotto • Ennakoitavuus • Luotettavuus • Tehokkuus @Jarkko_Moilanen - Prosessipäivät 2019
  7. 9.

    @Jarkko_Moilanen - Prosessipäivät 2019 Arkkitehtuuri julkaistut APIt • Mikropalveluarkkitehtuuri •

    Paljon pieniä rajapintoja ◦ Identity API ◦ Broker API ◦ Product API • Hyödyntäjä tarvitsee loogisia kokonaisuuksia • Tuotetiedot ja sisältö samasta • Mahdollisimman vähän API -kutsuja yhdistä APIen toimintoja avoimissa julkaistuissa rajapinnoissa 1
  8. 10.

    @Jarkko_Moilanen - Prosessipäivät 2019 RAML OpenAPI spec • Tiimin valinta

    RAML ◦ Määritysten uudelleenkäyttö ◦ Hiipuva ekosysteemi ◦ Ei mahdollista tehdä Slate muunnosta • Open APISpec ◦ Default ja odotetuin ◦ OpenAPI spec odotetaan olevan saatavilla ◦ Laaja yhteisö ◦ Paljon työkaluja Tiimin tehokkuus tärkeintä tässä vaiheessa, käytä konversiotyökaluja, “ujuta” muutosta organisaatioon 2
  9. 11.

    Ajantasainen API dokumentaatio @Jarkko_Moilanen - Prosessipäivät 2019 OpenAPI kuvaukset rajapinnoista

    Github Custom työkalu Slate Github 3 sarakkeen API dokumen taatio (html) Stripe -tyylisesti Omassa domainissa Slate työkalu (open source) RAML kuvaukset rajapinnoista Koodiesimer- kit lisätään oikeisiin kohtiin Muutos Githubin lähdekoodissa käynnistää uudelleengeneroinnin ja julkaisun automaattisesti 40+ 8 docs.oftrust.net
  10. 13.

    @Jarkko_Moilanen - Prosessipäivät 2019 Insomnia Postman 3 Usein osana API

    -kuluttajan työkalupakkia. Korvaa jossain määrin sivustoilla olevan API -konsolin.
  11. 14.

    @Jarkko_Moilanen - Prosessipäivät 2019 Insomnia Postman • Tiimin valinta •

    Suosittu (nousussa) • Helppokäyttöinen • Vähemmän ominaisuuksia • Omat kehittäjät käyttää arjessaan • Kuuluisin ja eniten käytetty työkalu APIen testaamiseen • Iso yhteisö • Pitkä kehityskaari • Paljon ominaisuuksia 3 Usein osana API -kuluttajan työkalupakkia. Korvaa jossain määrin sivustoilla olevan API -konsolin.
  12. 15.

    Postman vs Insomnia @Jarkko_Moilanen - Prosessipäivät 2019 “I initially switched

    to it [Insomnia] simply because the `hosts` bug made Postman unusable” Valittiin Insomnia ja sille tehdään import tiedosto. Etsitään konversiotyökalu Postmania varten “They [Insomnia] tend to address the bugs and feature requests in GitHub pretty fast”. [Insomnia] easier for both new users and experienced users, as well as just having more useful features, and most critically - less bugs.
  13. 16.

    @Jarkko_Moilanen - Prosessipäivät 2019 Developer eXperience Lead’s duty is to

    find the solutions how to enable maximum positive developer experience for the platform (developer) consumers without killing the internal developer experience.