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

Scaling API Reviews

Scaling API Reviews

How do you maintain the quality of colleague API reviews when you scale the number of feature teams? In this talk, I look at some tips on providing efficient, consistent API design reviews at scale.

Avatar for Ikenna Nwaiwu

Ikenna Nwaiwu

November 09, 2023
Tweet

More Decks by Ikenna Nwaiwu

Other Decks in Technology

Transcript

  1. About me 1 Intro to APIOps 2 Scaling API reviews

    3 API conformance 4 Summary 5 About me 1
  2. APIOps Lead API DESIGN GOVERNANCE API COMMUNITY OF PRACTICE ENABLING

    API TEAMS AUTHOR: AUTOMATING API DELIVERY Linkedin.com/in/ikenna
  3. Intro to APIOps 2 Intro to APIOps 2 Scaling API

    reviews 3 API conformance 4 Summary 5 About me 1
  4. The API delivery problem Increase speed of API design and

    delivery (Lower lead time) Consistency with API style guide. Quality API documentation. Well- tested, secure APIs. (Higher quality) Tension
  5. What is APIOps? APIOps is the end-to-end automation of the

    API life cycle using DevOps and GitOps principles to help API providers deliver more value to API consumers faster
  6. Scaling API reveiws 3 Intro to APIOps 2 Scaling API

    reviews 3 API conformance 4 Summary 5 About me 1
  7. Problem: How do you maintain the quality of colleague API

    reviews when you have 30 teams instead of 3?
  8. 3 areas of focus B. De fi ne important elements

    of API review process document A. De fi ne a process for becoming a reviewer C. Provide general API training
  9. Focus 1: De fi ne the process for becoming a

    reviewer B. Training sessions A. Coaching C. Use federated and central approvals
  10. “To become an API reviewer on the Kubernetes project, aspiring

    reviewers must gain a high level of pro fi ciency in the Kubernetes API style guide. They also need to have a good understanding of the project structure and the system architecture. They are required to have participated in preliminary API reviews where mentors coach them. Mentors help train them and facilitate their inclusion as formal reviewers.” - From ‘Automating API Delivery’ by Ikenna Nwaiwu Focus 1: De fi ne the process for becoming a reviewer Coaching
  11. Run training sessions for API reviewers on API style guide,

    API spec repo structure, API spec pipeline, API architecture, API spec publishing process, linting rules, API review document, expectations from API reviews, and so on. Training sessions Focus 1: De fi ne the process for becoming a reviewer
  12. Training sessions Focus 1: De fi ne the process for

    becoming a reviewer Run periodic retrospectives with API reviewers.
  13. Focus 1: De fi ne the process for becoming a

    reviewer Use federated and central PR approvals AT 10x, we have two levels of API review PR approvals: central and team level. As an Engineering Manager, you are automatically assigned as an API reviewer for your team's APIs.
  14. Focus 2: De fi ne important elements of the API

    review process document B. Process KPIs A. Process principles C. Disagreement resolution hierarchy
  15. A. Process principles Focus 2: De fi ne important elements

    of the API review process document API review process document should specify guiding principles so federated reviewers can refer to them. Suggested: quality, speed, dependability, fl exibility, and cost.
  16. Zulian & Bouza’s hierarchy of API design principles From ‘API

    Product Management’ by Andrea Zulian and Amancio Bouza
  17. 5. Cost Aim to lower cost. Reviewers should suggest new

    automated checks where possible. Also, aim to document new ideas in the style guide.
  18. B. Process KPIs Focus 2: De fi ne important elements

    of the API review process document Should specify API review process KPIs. 6 suggested: PR TTFRC, Number of Open PRs, PR lifetime, Review process satisfaction, and number of suggested improvements.
  19. 5 B. Process KPIs Number of suggested improvements to API

    style guide, linting rules, API process
  20. These are KPIs I suggest, but a more rigorous approach

    is to think of KPIs that fall into the SPACE framework dimensions
  21. SPACE Developer Productivity Metrics - ‘The SPACE of Developer Productivity’

    by Nicole Forsgren et al. https:// queue.acm.org/detail.cfm?id=3454124 “The most important takeaway from exposing these myths is that productivity cannot be reduced to a single dimension (or metric!). The prevalence of these myths and the need to bust them motivated our work to develop a practical multidimensional framework, because only by examining a constellation of metrics in tension can we understand and in fl uence developer productivity.”
  22. SPACE Developer Productivity Metrics ‘The SPACE of Developer Productivity’ by

    Nicole Forsgren et al. https://queue.acm.org/ detail.cfm?id=3454124
  23. Content: How this company builds APIs and approaches API- fi

    rst Focus 3: General API- fi rst training
  24. API Conformance 4 Intro to APIOps 2 Scaling API reviews

    3 API conformance 4 Summary 5 About me 1
  25. Problem? A Design-First approach to API development helps us adopt

    a user-centric design perspective. But how can we ensure the implemented API matches the design?
  26. Countermeasure Add controls in your process to ensure that the

    API behaviour matches the externally published OpenAPI de fi nition fi le. Bene fi ts: Accurate documentation for better consumer dev experience and better API security.
  27. 2. Use a validating proxy with existing tests or throwaway

    tests https://github.com/stoplightio/prism
  28. Summary Intro to APIOps 2 Scaling API reviews 3 API

    conformance 4 Summary 5 About me 1 5
  29. Summary The API delivery tension is between speed and quality.

    And APIOps helps us achieve both for APIs.
  30. Summary De fi ning API review process KPIs helps you

    measure the process performance. Use your API review process principles and the SPACE framework to guide you
  31. Summary The API review process should de fi ne a

    disagreement resolution hierarchy
  32. Summary API conformance controls are important and help you validate

    that your API implementation matches the designed spec
  33. Summary A light-touch conformance testing approach using a validating proxy

    like Prism is a good way to improve conformance gradually