Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Managing Risk in API Projects - API Days London...

paraskakis
September 24, 2015

Managing Risk in API Projects - API Days London 2015

What I learned from building APIs in Insurance the past 7 years. API projects have inherently even more risk than regular IT projects. Lesson learned and processes/tools you can use to mitigate risk.

paraskakis

September 24, 2015
Tweet

More Decks by paraskakis

Other Decks in Programming

Transcript

  1. HBR: Corporate Alliances Matter Less Thanks to APIs https://hbr.org/2015/06/corporate-alliances-matter-less-thanks-to-apis “APIs,

    on the other hand, turn the burden of finding partners willing to share risks and offer complementary resources on its head.
 With APIs, companies pivot from finding partners to letting partners find them.”
  2. (Project Execution Risk)++ • API Projects are like any IT

    project but more so • API Consumers are external to organization or team so the risk of getting it wrong multiplies
  3. …Things I’ve Seen… • Didn't meet consumer needs • API

    Too difficult to understand • API docs were not accurate • Introduced security vulnerabilities
  4. …Things I’ve Seen • Caused failed partnerships:
 Lined up partners

    but API wasn't what they expected • Contributed to missed market opportunities
  5. Process… • Treat the API as a Product
 (not a

    byproduct) • Get stakeholders involved:
 Design, Prototype, Iterate
  6. …Process… • Manage lifecycle/change • Move fast but don't break

    things • Test/Validate to ensure Quality • TDD
  7. 4 stages of API design API as a by-product of

    building apps API documentation generated from code Design-first API Development API Development Consistency
  8. API as a by-product API as a by-product of building

    apps API documentation generated from code Design-first API Development API Development Consistency
  9. API documentation generated from code API documentation generated from code

    Design-first API Development API Development Consistency API as a by-product of building apps
  10. Design-first API Development Design-first API Development API Development Consistency API

    as a by-product of building apps API documentation generated from code
  11. API Development Consistency API Development Consistency API as a by-product

    of building apps API documentation generated from code Design-first API Development
  12. FORMAT: 1A # Message of the Day API A simple

    [MOTD](http://en.wikipedia.org/wiki/motd) API. # Message [/messages/{id}] This resource represents one particular message identified by its *id*. ## Retrieve Message [GET] Retrieve a message by its *id*. + Response 200 (text/plain) Hello World! ## Delete Message [DELETE] Delete a message. **Warning:** This action **permanently** removes the message from the database. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  13. Tools… • SaaS: no setup - sign up and go

    • Editor/Documentation/Mock Server/Traffic Inspector • Collaboration and rapid iteration (no need to build)
  14. …Tools… • Testing/Dredd: TDD or CI • Ensure what you

    code meets specs • Ensure it continues to meet spec as you change • Tests created automatically, you don't have to write them • Test your API docs- In continuous integration!
  15. …Tools • GitHub integration, the way you work: Manage change

    • Encoded Style Guide, across teams, consistency, oversight • Make changes but keep consistency (no need to read long style doc)
  16. API Lifecycle Design Prototype Implementation Delivery Feedback Collaborative Editor Style

    Guide Approval Process Auto-generated Mock Quick Feedback Loop Documentation Code Samples Client Code Framework Integration TDD Server Code SDKs Support Style Assertions Auto-configured Clients
  17. Risk Mitigation • Need to meet incredible demand • Fast

    cycles • Happy users/partners • Able to change, think GitHub • Seize Market opportunities
 (in the face of rapid change)
  18. What You Can Do: 1. Try Apiary Out for Free:


    https://apiary.io 2. Talk to me:
 [email protected]
 (what problems are you coming across?) 3. Get Swag:
 This room!