DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports Events Over 2 million developers have joined DZone. Join Today! Thanks for visiting DZone today,
Edit Profile Manage Email Subscriptions Moderation Admin Console How to Post to DZone Article Submission Guidelines
View Profile
Sign Out
Refcards
Trend Reports
Events
Zones
Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones AWS Cloud
by AWS Developer Relations
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Partner Zones
AWS Cloud
by AWS Developer Relations
Securing Your Software Supply Chain with JFrog and Azure
Register Today

Trending

  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
  • Understanding Dependencies...Visually!
  • Database Integration Tests With Spring Boot and Testcontainers

Trending

  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
  • Understanding Dependencies...Visually!
  • Database Integration Tests With Spring Boot and Testcontainers

Live Blog: APIStrat 2017 Developer Experience Matters, Theme

Check out the news from the APIStrat 2017 developer conference to see how APIs are solving problems from the developer experience in the real world.

Ross Garrett user avatar by
Ross Garrett
·
Nov. 18, 17 · News
Like (3)
Save
Tweet
Share
6.35K Views

Join the DZone community and get the full member experience.

Join For Free

Coming to you LIVE from APIStrat 2017 in Portland, Oregon where over 300 API enthusiasts, ranging from seasoned veterans to first-timer's, have gathered to hear about emerging trends in the API Industry. This morning’s keynotes aligned around a common theme: APIs matter. Developer experience matters. For some of us, customer passion is often better stated as customer obsession. And it is critical that you build your API strategy around this obsession.

DNj6ZfiUMAA_S8u

Yina Arenas, Principle Program Manager at Microsoft shared a behind the scenes story of how her and her team transformed Microsoft’s APIs. The grassroots, scrappy journey led to evolving the entire API Strategy across Microsoft, creating a unified Microsoft Graph API. Similar to Daenerys Targaryen is the Mother of Dragons, Yina Arenas is the Mother of Microsoft Graph.

The Problem: Dozens of siloed projects across Microsoft had no guidance, governance or agreed upon styles to align around -- some were built on REST, or SOAP, RPC, even Powershell. Then, there were a plethora of ways to authenticate to the data and to connect to it. There were no canonical IDs to access the resources. For instance, one user resource might have looked like one of these 3 variations:

  • /users/john
  • /users(john@123) or
  • i:member:john_123

Even just inconsistency around the multiple user IDs led to issues and issues piling up across the products, consider that issue multiplied by the 8 TRILLION RESOURCES (emails, users, etc) on Microsoft, and you can start to really grasp the issue at hand. And Yina reminds us, “customers don’t care about product lines and organizational boundaries” they only care about their data.

DNj0M3WU8AAdkss

This monster led Yina to create a customer-obsessed team, with cross-functional members from all across Microsoft. They aligned around a common goal: reduce customer pain and allow for data to be easily accessible. Their goal was to translate that customer obsession to customer value with three initiatives:

  1. Standardization: agreeing to be consistent. Agreed to do REST, to have canonical ids across resources, and establish a council for API governance. Published the Microsoft API Guidelines.
  2. Breaking silos: Consistency for the sake of consistency is not enough. The team as Microsoft needed to break siloed products, both technically and culturally. They started by focusing on how customers access common resources and they were able to dynamically stitch their model schemas together.
  3. Developer experience: A great API on its own does not lead to a great experience. You must focus on defining the the developer experience and then drive it relentlessly. Documentation, for example, should be simple, easy to read and exactly what developers expect. As you put relentless focus behind your developer experience, gradually the tone of the feedback from your community will change, and start to prove that you are creating a developer experience that developers LOVE.

The effort started a movement within the company that aligns with its recent cultural transformation, shifting from old silos towards a new “One Microsoft” vision.

This project showed that the sum can be larger than its parts and that a scrappy team with heart and passion can influence from the bottom up. Yina will share her challenges and successes on the graph project, and how this effort transformed the API strategy across Microsoft.

dev Blog

Published at DZone with permission of Ross Garrett, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Trending

  • Essential Architecture Framework: In the World of Overengineering, Being Essential Is the Answer
  • Implementing a Serverless DevOps Pipeline With AWS Lambda and CodePipeline
  • Understanding Dependencies...Visually!
  • Database Integration Tests With Spring Boot and Testcontainers

Comments

Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com

Let's be friends: