SlideShare a Scribd company logo
1 of 14
Download to read offline
PETER S LOOK
SEPTEMBER 21, 2022
Docs-as-Code:
Evolving the API
Documentation Experience
Motorola Solutions Public
https://www.linkedin.com/in/peterlook/
2
THE API PLATFORMS & PARTNER PROGRAMS (A3P) ORGANIZATION
IS A DEVELOPER
RELATIONS
(DEVREL) TEAM
INCLUDES
ENGINEERING &
BUSINESS STAFF
SUPPORTS DEV
COMMUNITIES &
PRIVATE
PARTNERSHIPS
CURATES
SELECTIVE
RELATIONSHIPS
W/ DEVELOPERS
APPLICATION DEVELOPER PROGRAM (ADP)
OPERATING
WORLDWIDE
SINCE 2007
APPS ATTACHED
TO DEVICES &
SYSTEMS
EXECUTES A
“DEVELOPER-PLU
S” BUSINESS
MODEL
Motorola Solutions Public
3
AN ATYPICAL ECOSYSTEM
Apps are deployed to a broadband-narrowband integrated network.
This network has specific operating requirements:
● Voice & data are transported through the system
● Resources are shared - Voice has priority over data
● Narrowband throughput is (at most) 1.2Kbps (vs >10’s Mbps for broadband)
Requires network knowledge to implement the API; network behavior is difficult to abstract
Motorola Solutions Public
4
EARLY CHOICES
● Build a software team w/ tech writing skills
○ Leverage experience of engineers who built the technology
○ Support other developer success activities (i.e. training & technical services)
○ Reduce layers of knowledge transfer
○ Author doc revisions with proper context
● Apply “classic” project management methods to guide work
○ Adopt development practices of tech writing teams in company
○ Track & schedule activities - entry / exit criteria, dependencies, critical paths
● Deliver comprehensive API documentation
○ Produce detailed specs & thorough narratives
○ Organize revisions into a major release for digital publication
Motorola Solutions Public
5
COMPOUNDING PROBLEMS
● Inaccurate project planning - historical data
not reliable for estimations
● Large project schedules - difficult to maintain,
required high-touch oversight
● Detailed work breakdown - task management
complexity
● Serialized workflow, rigid resource management
● Inflexible collaboration w/ software teams
executing delivery in agile manner
Motorola Solutions Public
6
INSTITUTING CHANGE (ca. 2016)
● External influences
○ Org responsibilities & scope increased
○ Project mgmt practices & resources refocused
○ Flexible tooling for defining / managing work
● Building a Platform for Developer Relations
○ Selected a DevOps platform solution to use as a developer portal & work environment (kanban board!)
○ Increased alignment w/ engineering sprint plans; adopt & adapt agile dev methods
○ Assess Epics, create stories, determine impacts for docs as well as tools, training
○ Task management flexibility based on component or subject matter
○ Team empowered to manage work with independent agility
○ Clarity in progress, status, and backlog
Motorola Solutions Public
7
EARLY DECISIONS & MITIGATIONS
Motorola Solutions Public
8
CREATION & CONSUMPTION DIFFICULTIES
● Docs contain specs and narratives on how to use the API
○ Word / Microsoft Office - tool of choice in company; the most used file format (at the time) between teams
○ Typical flow - draft Word doc, formal tech review, make repairs, final inspection, convert to PDF & release
● Emerging problems
○ Inconsistent expertise in Word / too many ways to create a format’s look and feel
○ Difficult to ensure consistent formatting and templates
○ Serialized development / concurrent work on single doc not possible
○ Multiple tools needed to create resources such as diagrams, charts, message flows
○ Frequently modified docs become very large, prone to long loading times, risk of file corruption
○ Revision history of limited use as new changes made older modifications difficult to track
Motorola Solutions Public
9
A BETTER EXPERIENCE
● Trigger conditions
○ Earlier PoC work on automating doc pipelines to build PDFs and release packages
○ New employees receive PCs with Google Workspace only; no support for MS Office / Word
● Transition to Markdown (started in March 2022)
○ Limited number of formats - templates can be defined with an exact style guide
○ Docs partitioned into smaller, manageable chunks; reusable components & concurrent development
○ Use git (+ DevOps platform) for source control and doc distribution
○ Track changes using issues; audit & approve using merge requests; record release versions w/ git tags
○ Use commit history to trace changes over time; developers use diff to learn more
○ Include Mermaid to codify diagrams and message flows; eliminate binary resource files
○ Instituted for any new docs going forward
Motorola Solutions Public
10
EARLY DECISIONS &
Motorola Solutions Public
11
ACCEPTABLE TRADE-OFFS / POSITIVE GAINS
● Community flexibility to new delivery method
○ Docs are completely online - docs not formatted for PDF or printout
○ Downloading docs means cloning the repo and using a Markdown viewer
○ Mixed media for at least a year - PDF docs & Markdown delivered together
○ Mixed workflow for at least a year - doc source in Word & Markdown formats
○ Reduced capacity / tech debt for 1+ year
● Streamlined workflow for internal development
○ Reduced format depth / consistent format output
○ No conversion errors - pagination, layout, hyperlinks
○ Robust artifacts - little to no risk of corruption, open/save/close & push/pull/clone performance
○ Lower resource requirements - disk space
Motorola Solutions Public
12
STILL MORE TO DO
● Complete transition to Markdown
○ Backlog of 30+ docs, 4000+ pages for conversion using PanDoc
○ Refactor diagrams using Mermaid (https://mermaid-js.github.io/mermaid/#/)
○ Expect completion around August 2023
● Re-examine build pipelines
○ Test docs using http://proselint.com/ or https://vale.sh/ or https://github.com/markdownlint/markdownlint
Motorola Solutions Public
13
EVOLVING THE API DOC EXPERIENCE
● Adopting & adapting software development practices to how projects are managed
○ Agile methods for project execution
○ Tools for issue tracking & management (e.g. Kanban board)
● Write docs like how you write code
○ Transform into “code-like” formats (e.g. asciidoc, markdown, mermaid) for easier development
○ Use dev environments & tools to source control, release manage, and automate
Motorola Solutions Public
14
14
THANK YOU!
Motorola Solutions Public
Peter S Look
Senior Engineering Manager
Engineering & Business Operations
API Platforms & Partner Programs
https://www.linkedin.com/in/peterlook

More Related Content

Similar to Evolving API Docs Experience with Markdown

Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPYoussef Bennani
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Debraj GuhaThakurta
 
Epm demonstration projerct online and project server 2013
Epm demonstration projerct online and project server 2013Epm demonstration projerct online and project server 2013
Epm demonstration projerct online and project server 2013Jerome Quinton
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudCloudify Community
 
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Story
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer StoryMigrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Story
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Storyp6academy
 
Aayush Sinha_8.4Yrs_PO_BA
Aayush Sinha_8.4Yrs_PO_BAAayush Sinha_8.4Yrs_PO_BA
Aayush Sinha_8.4Yrs_PO_BAaayush sinha
 
Balancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMBalancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMProduct School
 
Resume - Joydeep Lodh -Updated
Resume - Joydeep Lodh -UpdatedResume - Joydeep Lodh -Updated
Resume - Joydeep Lodh -UpdatedJoydeep Lodh
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?Wong Hoi Sing Edison
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015rgristroph
 
flexpod_hadoop_cloudera
flexpod_hadoop_clouderaflexpod_hadoop_cloudera
flexpod_hadoop_clouderaPrem Jain
 
GHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureGHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureMaree Courts
 
Informatica_Rajesh-CV 28_03_16
Informatica_Rajesh-CV 28_03_16Informatica_Rajesh-CV 28_03_16
Informatica_Rajesh-CV 28_03_16Rajesh Dheeti
 

Similar to Evolving API Docs Experience with Markdown (20)

Subhankar chakrabarti 0216
Subhankar chakrabarti 0216Subhankar chakrabarti 0216
Subhankar chakrabarti 0216
 
Large Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAPLarge Scale Production DITA landscape @SAP
Large Scale Production DITA landscape @SAP
 
Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017Team Data Science Process Presentation (TDSP), Aug 29, 2017
Team Data Science Process Presentation (TDSP), Aug 29, 2017
 
Bhushan_Salgar
Bhushan_SalgarBhushan_Salgar
Bhushan_Salgar
 
Madhu_Resume
Madhu_ResumeMadhu_Resume
Madhu_Resume
 
Epm demonstration projerct online and project server 2013
Epm demonstration projerct online and project server 2013Epm demonstration projerct online and project server 2013
Epm demonstration projerct online and project server 2013
 
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4CloudDevOps Digital Transformation: A real life use case enabled by Alien4Cloud
DevOps Digital Transformation: A real life use case enabled by Alien4Cloud
 
Neil-Leslie-CV
Neil-Leslie-CVNeil-Leslie-CV
Neil-Leslie-CV
 
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Story
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer StoryMigrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Story
Migrating from Instantis 8.0 to EnterpriseTrack 8.7 - A Customer Story
 
Aayush Sinha_8.4Yrs_PO_BA
Aayush Sinha_8.4Yrs_PO_BAAayush Sinha_8.4Yrs_PO_BA
Aayush Sinha_8.4Yrs_PO_BA
 
Balancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PMBalancing PM & Software Development Practices by Splunk Sr PM
Balancing PM & Software Development Practices by Splunk Sr PM
 
GurudasBhondkar5055
GurudasBhondkar5055GurudasBhondkar5055
GurudasBhondkar5055
 
Resume - Joydeep Lodh -Updated
Resume - Joydeep Lodh -UpdatedResume - Joydeep Lodh -Updated
Resume - Joydeep Lodh -Updated
 
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
[HKDUG] #20151017 - BarCamp 2015 - Drupal 8 is Coming! Are You Ready?
 
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
Large drupal site builds   a workshop for sxsw interactive - march 17, 2015Large drupal site builds   a workshop for sxsw interactive - march 17, 2015
Large drupal site builds a workshop for sxsw interactive - march 17, 2015
 
Drupal for Enterprises
Drupal for EnterprisesDrupal for Enterprises
Drupal for Enterprises
 
flexpod_hadoop_cloudera
flexpod_hadoop_clouderaflexpod_hadoop_cloudera
flexpod_hadoop_cloudera
 
Manigandan_narasimhan_resume
Manigandan_narasimhan_resumeManigandan_narasimhan_resume
Manigandan_narasimhan_resume
 
GHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureGHD iConnect - our intranet for the future
GHD iConnect - our intranet for the future
 
Informatica_Rajesh-CV 28_03_16
Informatica_Rajesh-CV 28_03_16Informatica_Rajesh-CV 28_03_16
Informatica_Rajesh-CV 28_03_16
 

More from Pronovix

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too latePronovix
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackPronovix
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portalPronovix
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AIPronovix
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pagesPronovix
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesPronovix
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsPronovix
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3Pronovix
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designPronovix
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docsPronovix
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsPronovix
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyonePronovix
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?Pronovix
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsPronovix
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communitiesPronovix
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them AllPronovix
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productPronovix
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatednessPronovix
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...Pronovix
 
APIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesAPIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesPronovix
 

More from Pronovix (20)

By the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too lateBy the time they're reading the docs, it's already too late
By the time they're reading the docs, it's already too late
 
Optimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and FeedbackOptimizing Dev Portals with Analytics and Feedback
Optimizing Dev Portals with Analytics and Feedback
 
Success metrics when launching your first developer portal
Success metrics when launching your first developer portalSuccess metrics when launching your first developer portal
Success metrics when launching your first developer portal
 
Documentation, APIs & AI
Documentation, APIs & AIDocumentation, APIs & AI
Documentation, APIs & AI
 
Making sense of analytics for documentation pages
Making sense of analytics for documentation pagesMaking sense of analytics for documentation pages
Making sense of analytics for documentation pages
 
Feedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiencesFeedback cycles and their role in improving overall developer experiences
Feedback cycles and their role in improving overall developer experiences
 
GraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing DocsGraphQL Isn't An Excuse To Stop Writing Docs
GraphQL Isn't An Excuse To Stop Writing Docs
 
API Documentation For Web3
API Documentation For Web3API Documentation For Web3
API Documentation For Web3
 
Why your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API designWhy your API doesn’t solve my problem: A use case-driven API design
Why your API doesn’t solve my problem: A use case-driven API design
 
unREST among the docs
unREST among the docsunREST among the docs
unREST among the docs
 
Developing a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIsDeveloping a best-in-class deprecation policy for your APIs
Developing a best-in-class deprecation policy for your APIs
 
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyoneAnnotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
Annotate, Automate & Educate: Driving generated OpenAPI docs to benefit everyone
 
What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?What do developers do when it comes to understanding and using APIs?
What do developers do when it comes to understanding and using APIs?
 
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and ConfigurationsInclusive, Accessible Tech: Bias-Free Language in Code and Configurations
Inclusive, Accessible Tech: Bias-Free Language in Code and Configurations
 
Creating API documentation for international communities
Creating API documentation for international communitiesCreating API documentation for international communities
Creating API documentation for international communities
 
One Developer Portal to Document Them All
One Developer Portal to Document Them AllOne Developer Portal to Document Them All
One Developer Portal to Document Them All
 
Developer journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your productDeveloper journey - make it easy for devs to love your product
Developer journey - make it easy for devs to love your product
 
Complexity is not complicatedness
Complexity is not complicatednessComplexity is not complicatedness
Complexity is not complicatedness
 
How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...How cognitive biases and ranking can foster an ineffective architecture and d...
How cognitive biases and ranking can foster an ineffective architecture and d...
 
APIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfacesAPIs: Semi-permeable, osmotic interfaces
APIs: Semi-permeable, osmotic interfaces
 

Recently uploaded

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 

Recently uploaded (20)

Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 

Evolving API Docs Experience with Markdown

  • 1. PETER S LOOK SEPTEMBER 21, 2022 Docs-as-Code: Evolving the API Documentation Experience Motorola Solutions Public https://www.linkedin.com/in/peterlook/
  • 2. 2 THE API PLATFORMS & PARTNER PROGRAMS (A3P) ORGANIZATION IS A DEVELOPER RELATIONS (DEVREL) TEAM INCLUDES ENGINEERING & BUSINESS STAFF SUPPORTS DEV COMMUNITIES & PRIVATE PARTNERSHIPS CURATES SELECTIVE RELATIONSHIPS W/ DEVELOPERS APPLICATION DEVELOPER PROGRAM (ADP) OPERATING WORLDWIDE SINCE 2007 APPS ATTACHED TO DEVICES & SYSTEMS EXECUTES A “DEVELOPER-PLU S” BUSINESS MODEL Motorola Solutions Public
  • 3. 3 AN ATYPICAL ECOSYSTEM Apps are deployed to a broadband-narrowband integrated network. This network has specific operating requirements: ● Voice & data are transported through the system ● Resources are shared - Voice has priority over data ● Narrowband throughput is (at most) 1.2Kbps (vs >10’s Mbps for broadband) Requires network knowledge to implement the API; network behavior is difficult to abstract Motorola Solutions Public
  • 4. 4 EARLY CHOICES ● Build a software team w/ tech writing skills ○ Leverage experience of engineers who built the technology ○ Support other developer success activities (i.e. training & technical services) ○ Reduce layers of knowledge transfer ○ Author doc revisions with proper context ● Apply “classic” project management methods to guide work ○ Adopt development practices of tech writing teams in company ○ Track & schedule activities - entry / exit criteria, dependencies, critical paths ● Deliver comprehensive API documentation ○ Produce detailed specs & thorough narratives ○ Organize revisions into a major release for digital publication Motorola Solutions Public
  • 5. 5 COMPOUNDING PROBLEMS ● Inaccurate project planning - historical data not reliable for estimations ● Large project schedules - difficult to maintain, required high-touch oversight ● Detailed work breakdown - task management complexity ● Serialized workflow, rigid resource management ● Inflexible collaboration w/ software teams executing delivery in agile manner Motorola Solutions Public
  • 6. 6 INSTITUTING CHANGE (ca. 2016) ● External influences ○ Org responsibilities & scope increased ○ Project mgmt practices & resources refocused ○ Flexible tooling for defining / managing work ● Building a Platform for Developer Relations ○ Selected a DevOps platform solution to use as a developer portal & work environment (kanban board!) ○ Increased alignment w/ engineering sprint plans; adopt & adapt agile dev methods ○ Assess Epics, create stories, determine impacts for docs as well as tools, training ○ Task management flexibility based on component or subject matter ○ Team empowered to manage work with independent agility ○ Clarity in progress, status, and backlog Motorola Solutions Public
  • 7. 7 EARLY DECISIONS & MITIGATIONS Motorola Solutions Public
  • 8. 8 CREATION & CONSUMPTION DIFFICULTIES ● Docs contain specs and narratives on how to use the API ○ Word / Microsoft Office - tool of choice in company; the most used file format (at the time) between teams ○ Typical flow - draft Word doc, formal tech review, make repairs, final inspection, convert to PDF & release ● Emerging problems ○ Inconsistent expertise in Word / too many ways to create a format’s look and feel ○ Difficult to ensure consistent formatting and templates ○ Serialized development / concurrent work on single doc not possible ○ Multiple tools needed to create resources such as diagrams, charts, message flows ○ Frequently modified docs become very large, prone to long loading times, risk of file corruption ○ Revision history of limited use as new changes made older modifications difficult to track Motorola Solutions Public
  • 9. 9 A BETTER EXPERIENCE ● Trigger conditions ○ Earlier PoC work on automating doc pipelines to build PDFs and release packages ○ New employees receive PCs with Google Workspace only; no support for MS Office / Word ● Transition to Markdown (started in March 2022) ○ Limited number of formats - templates can be defined with an exact style guide ○ Docs partitioned into smaller, manageable chunks; reusable components & concurrent development ○ Use git (+ DevOps platform) for source control and doc distribution ○ Track changes using issues; audit & approve using merge requests; record release versions w/ git tags ○ Use commit history to trace changes over time; developers use diff to learn more ○ Include Mermaid to codify diagrams and message flows; eliminate binary resource files ○ Instituted for any new docs going forward Motorola Solutions Public
  • 10. 10 EARLY DECISIONS & Motorola Solutions Public
  • 11. 11 ACCEPTABLE TRADE-OFFS / POSITIVE GAINS ● Community flexibility to new delivery method ○ Docs are completely online - docs not formatted for PDF or printout ○ Downloading docs means cloning the repo and using a Markdown viewer ○ Mixed media for at least a year - PDF docs & Markdown delivered together ○ Mixed workflow for at least a year - doc source in Word & Markdown formats ○ Reduced capacity / tech debt for 1+ year ● Streamlined workflow for internal development ○ Reduced format depth / consistent format output ○ No conversion errors - pagination, layout, hyperlinks ○ Robust artifacts - little to no risk of corruption, open/save/close & push/pull/clone performance ○ Lower resource requirements - disk space Motorola Solutions Public
  • 12. 12 STILL MORE TO DO ● Complete transition to Markdown ○ Backlog of 30+ docs, 4000+ pages for conversion using PanDoc ○ Refactor diagrams using Mermaid (https://mermaid-js.github.io/mermaid/#/) ○ Expect completion around August 2023 ● Re-examine build pipelines ○ Test docs using http://proselint.com/ or https://vale.sh/ or https://github.com/markdownlint/markdownlint Motorola Solutions Public
  • 13. 13 EVOLVING THE API DOC EXPERIENCE ● Adopting & adapting software development practices to how projects are managed ○ Agile methods for project execution ○ Tools for issue tracking & management (e.g. Kanban board) ● Write docs like how you write code ○ Transform into “code-like” formats (e.g. asciidoc, markdown, mermaid) for easier development ○ Use dev environments & tools to source control, release manage, and automate Motorola Solutions Public
  • 14. 14 14 THANK YOU! Motorola Solutions Public Peter S Look Senior Engineering Manager Engineering & Business Operations API Platforms & Partner Programs https://www.linkedin.com/in/peterlook