SlideShare a Scribd company logo
1 of 35
Download to read offline
Continuous Documentation
The best time is now
1@expensivestevie
Hello! Terve!
I’m Kenigbolo Meya Stephen
Front-End Engineering Lead @bcaster
Arch Conveyer/Community Manager @TheCodeAfrique
You can find me on twitter at @expensivestevie
22@expensivestevie
WHAT I’LL BE TALKING ABOUT
4
😉
✘ What is Continuous Documentation.
✘ Why is it important.
✘ Common pitfalls in current documentation practices.
✘ How to improve by implementing Continuous
Documentation
✘ Continuous Documentation - Moving forward 👉
44@expensivestevie
https://www.youtube.com/watch?v=XtS_t3F
HWe0
https://bit.ly/30Pg7W0
5
1.
WHAT IS CONTINUOUS DOCUMENTATION
6
66@expensivestevie
CONTINUOUS DOCUMENTATION
Continuous documentation is a documentation pattern
we’ve developed within the BCaster Frontend team where
the primary focus of taking into consideration constant
changes/improvements in code and business logic to be
reflected internally/externally for every single closed sprint.
7
77@expensivestevie
“In our industry, change occurs so
fast that it sometimes is difficult
to catch all of it. This is the same
case for the documentation and
unfortunately release notes
alone do not cut it.
8
88@expensivestevie
“The open source (OSS) world
uses Requests For Comments
(RFC) however even in that world
the RFC’s are rarely summarized.
What do you use internally in
your company?
9
99@expensivestevie
THE PROBLEM COMES WITH
ANOTHER
CHANGE
CHANGE
EVEN MORE
CHANGES
10
1010@expensivestevie
2.
WHY IT IS IMPORTANT
11
1111@expensivestevie
“The reasoning behind a change
that you fail to document today
might become lost forever
resulting in knowledge base gap.
What you end up having is an
unsynchronized knowledge base
12
1212@expensivestevie
TYPICAL DOCUMENTATION TYPES
✘ Proprietary software - Docs included and
maintained
✘ Popular Frameworks - Dedicated teams for
docs.
✘ Your company - Developers make docs?
Dedicated documentation team? How do you
handle your documentation?
13
1313@expensivestevie
3.
COMMON PITFALLS IN CURRENT
DOCUMENTATION PRACTICES
If you just said to yourself “we’re definitely doing it right” then trust
me when I say you’re definitely doing it wrong
14
1414@expensivestevie
1515@expensivestevie
SIMPLE THINGS YOU’RE PROBABLY DOING WRONG
Readme’s
If majority of your code
documentation are mostly
README.md documents then
you’ve been doing a lot of
dis-service to what
documentation should be
Unhelpful Phrasing
Do you have a word checker for
your documentation? Do you
spot unhelpful phrases in
documentation? Can you
define what an unhelpful
phrase is? If the answer to any
of those questions is “No” then
there’s room for improvement
Inconsiderate Writing
Can you take your
documentation and give to a
non technical person and
expect them to make any
sense out of it? If you answered
that question with “but it’s a
technical doc” then there’s
definitely room for
improvement
16
1616@expensivestevie
README
✘ Readme’s are supposed to be an entry point to your documentation
as opposed to it being your main documentation
✘ If you’re having more than three sections in a Readme that already
signifies there is a lot of information that needs to be somewhere
else.
✘ Ever heard about clutter? Extensive readme’s are simply that -
Clutter.
17
1717@expensivestevie
1818@expensivestevie
Unhelpful phrasing
✘ “Simply run the tests”..
✘ “Just write a compiler then it simply works”.
✘ “Simply”, “Just”, “Simple”, “Actually”, “Easy”, “Easily”, “Obviously”.
19
1919@expensivestevie
INCONSIDERATE WRITING
✘ Gender favouring - “Hey Guys”, “he”, “his”, “dude” etc.
✘ Avoid race related phrases (tricky one but we’ll see how to deal with
this later on).
✘ Polarizing/Unequal Phrasing - “It has always been like that” - It’s
safe to say we all have that one guy in our company.
20
2020@expensivestevie
4.
HOW TO IMPROVE VIA CONTINUOUS
DOCUMENTATION
Preconceptions are pure evil
21
��
2121@expensivestevie
“Always remember that
documentation is a form of
communication. Communication
is a two way street. If your
documentation is ambiguous
then you have failed to
communicate
22
2222@expensivestevie
Our process is easy
MAKE CHANGES
DOCUMENT
CHANGES
SCREEN
UPDATED DOCS
23
2323@expensivestevie
README
✘ First ensure your document is in Markdown format
✘ Badges are good and informative so if you have CI badges put them
up there.
✘ Create a separate folder for docs in every repository. Markdown
documents can be used to link to other markdown documents..
✘ Your readme should contain simply the description and getting
started installation instructions. Every other detail should be a link
to a respective Markdown document.
24
2424@expensivestevie
UNHELPFUL PHRASING
✘ Documentations are a tools for communication as opposed for a
place to expand your ego. Do not assume that everyone using them
is on the same skill level as you.
✘ Call a non-technical person or content writer to help you review.
Like pair programming, a second pair of eyes is always good.
✘ Review documentation changes just as you rigorously review your
code. It is equally as important
25
2525@expensivestevie
INCONSIDERATE WRITING
Don’t you think Primary/Replica sounds better than Master/Slave?
How about we use AllowList/DenyList instead of Whitelist/Blacklist?
Doesn’t “Hey everyone” sound more gender neutral than “Hey guys”?
I’m guessing now you’re already thinking about a lot of phrases that you
use but never considered inconsiderate up until this point?
26
2626@expensivestevie
“Release notes are nice and
should be a must have for every
major change irrespective of the
size of your company and
regardless of if you use semantic
versioning or not.
27
“There is no such thing like too
much of good documentation. If
there’s a reasonable change
somewhere there should be a
corresponding documentation
update to show that change.
28
“Auto generating documentation
from code while being a good
thing can most times result in a
lot of common mistakes flying
below the radar. Treat your
documentation quality better
than you even treat code quality.
29
5.
MOVING FORWARD
Continuous Documentation is all about continuous improvement to
documentation practices.
30
“Currently working on a documentation spec
that enforces certain standards but are
flexible enough to be configurable.
Also currently working on a linting tool using
those standards and it will be called DocLint.
It will be to documentation as EsLint is to
Javascript
31
DocLint target platforms
JavaScript
(JS Package)
RUST
(CLI)
BROWSERS
(EXTENSION)
32
“Interested in helping out? Let’s have a chat
and brainstorm ideas on how to proceed
with this. We’ve created an internal TC at
BCaster for this very purpose and I’d be
more than glad to share more info on this.
33
34
That’s all for today folks
34@expensivestevie
35
Thank You! Kiitos! (Key-Toss!)
Any questions?
You can find me at
▰ Twitter @expensivestevie
▰ Github @kenigbolo
35@expensivestevie

More Related Content

Similar to APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster

WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressmtoppa
 
Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3JoseRadinGarduque2
 
Good Code / Bad Code
Good Code / Bad CodeGood Code / Bad Code
Good Code / Bad CodeKelly Harrop
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceShawn Button
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesAtlassian
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
DevOpsDays Chicago 2019 "To comment or not to comment?"
DevOpsDays Chicago 2019 "To comment or not to comment?"DevOpsDays Chicago 2019 "To comment or not to comment?"
DevOpsDays Chicago 2019 "To comment or not to comment?"Veronica Hanus
 
Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshopMatthias Noback
 
Importance of Documentation for programmers
Importance of Documentation for programmers Importance of Documentation for programmers
Importance of Documentation for programmers NASSCOM
 
Startup Engineering for Non-Technical Founders
Startup Engineering for Non-Technical FoundersStartup Engineering for Non-Technical Founders
Startup Engineering for Non-Technical FoundersGrowth Hacking Asia
 
WordCamp Pune 2017- WordPress Coding standards
WordCamp Pune 2017- WordPress Coding standardsWordCamp Pune 2017- WordPress Coding standards
WordCamp Pune 2017- WordPress Coding standardsSwapnil Patil
 
Metrics that matter: Making the business case that documentation has value
Metrics that matter: Making the business case that documentation has valueMetrics that matter: Making the business case that documentation has value
Metrics that matter: Making the business case that documentation has valuePublishing Smarter
 
Agile documentation
Agile documentationAgile documentation
Agile documentationAteeq Khaliq
 
Agile documentation
Agile documentationAgile documentation
Agile documentationAteeq Khaliq
 
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...Abdelhalim DADOUCHE
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile developmentRajat Samal
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software designKfir Bloch
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?Red Gate Software
 

Similar to APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster (20)

WordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPressWordCamp Nashville: Clean Code for WordPress
WordCamp Nashville: Clean Code for WordPress
 
Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3Documenting Good Practices in School: Part 3
Documenting Good Practices in School: Part 3
 
DevOps for Managers
DevOps for ManagersDevOps for Managers
DevOps for Managers
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Good Code / Bad Code
Good Code / Bad CodeGood Code / Bad Code
Good Code / Bad Code
 
Continuous Deployment Through Technical Excellence
Continuous Deployment Through Technical ExcellenceContinuous Deployment Through Technical Excellence
Continuous Deployment Through Technical Excellence
 
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket PipelinesBuilding on the Shoulders of Giants: the Story of Bitbucket Pipelines
Building on the Shoulders of Giants: the Story of Bitbucket Pipelines
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
DevOpsDays Chicago 2019 "To comment or not to comment?"
DevOpsDays Chicago 2019 "To comment or not to comment?"DevOpsDays Chicago 2019 "To comment or not to comment?"
DevOpsDays Chicago 2019 "To comment or not to comment?"
 
Living documentation mini-workshop
Living documentation mini-workshopLiving documentation mini-workshop
Living documentation mini-workshop
 
Importance of Documentation for programmers
Importance of Documentation for programmers Importance of Documentation for programmers
Importance of Documentation for programmers
 
Startup Engineering for Non-Technical Founders
Startup Engineering for Non-Technical FoundersStartup Engineering for Non-Technical Founders
Startup Engineering for Non-Technical Founders
 
WordCamp Pune 2017- WordPress Coding standards
WordCamp Pune 2017- WordPress Coding standardsWordCamp Pune 2017- WordPress Coding standards
WordCamp Pune 2017- WordPress Coding standards
 
Metrics that matter: Making the business case that documentation has value
Metrics that matter: Making the business case that documentation has valueMetrics that matter: Making the business case that documentation has value
Metrics that matter: Making the business case that documentation has value
 
Agile documentation
Agile documentationAgile documentation
Agile documentation
 
Agile documentation
Agile documentationAgile documentation
Agile documentation
 
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
DevRel Salon - Writing Decent Documentation, a learning journey with plenty o...
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
A sweet taste of clean code and software design
A sweet taste of clean code and software designA sweet taste of clean code and software design
A sweet taste of clean code and software design
 
DevOps: What, who, why and how?
DevOps: What, who, why and how?DevOps: What, who, why and how?
DevOps: What, who, why and how?
 

More from apidays

Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbuapidays
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...apidays
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...apidays
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...apidays
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...apidays
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...apidays
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMapidays
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...apidays
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...apidays
 
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...apidays
 
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHub
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHubApidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHub
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHubapidays
 
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...apidays
 
apidays Australia 2023 - A programmatic approach to API success including Ope...
apidays Australia 2023 - A programmatic approach to API success including Ope...apidays Australia 2023 - A programmatic approach to API success including Ope...
apidays Australia 2023 - A programmatic approach to API success including Ope...apidays
 
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile API
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile APIapidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile API
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile APIapidays
 
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wise
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wiseapidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wise
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wiseapidays
 
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Ventures
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Venturesapidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Ventures
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Venturesapidays
 
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...apidays Singapore 2023 - Digitalising agreements with data, design & technolo...
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...apidays
 
apidays Singapore 2023 - Building a digital-first investment management model...
apidays Singapore 2023 - Building a digital-first investment management model...apidays Singapore 2023 - Building a digital-first investment management model...
apidays Singapore 2023 - Building a digital-first investment management model...apidays
 
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...apidays Singapore 2023 - Changing the culture of building software, Aman Dham...
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...apidays
 

More from apidays (20)

Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
Apidays Singapore 2024 - How APIs drive business at BNP Paribas by Quy-Doan D...
 
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
Apidays Singapore 2024 - Harnessing Green IT by Jai Prakash and Timothée Dufr...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
Apidays Singapore 2024 - Creating API First Engineering Team by Asim Suvedi, ...
 
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
Apidays Singapore 2024 - Designing a Scalable MLOps Pipeline by Victoria Lo, ...
 
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
Apidays Singapore 2024 - The 5 Key Tenets of a Multiform API Management Strat...
 
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBMApidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
Apidays Singapore 2024 - APIs in the world of Generative AI by Claudio Tag, IBM
 
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
Apidays Singapore 2024 - Banking: From Obsolete to Absolute by Indra Salim, a...
 
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...Apidays Singapore 2024 - Application and Platform Optimization through Power ...
Apidays Singapore 2024 - Application and Platform Optimization through Power ...
 
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
Apidays Singapore 2024 - Shift RIGHT to Better Product Resilience by Abhijit ...
 
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHub
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHubApidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHub
Apidays Singapore 2024 - API : New Economy for Telcos by Rajesh Mhatre, StarHub
 
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...
Apidays Singapore 2024 - The Nuance of Quantifying Digital Carbon Emissions b...
 
apidays Australia 2023 - A programmatic approach to API success including Ope...
apidays Australia 2023 - A programmatic approach to API success including Ope...apidays Australia 2023 - A programmatic approach to API success including Ope...
apidays Australia 2023 - A programmatic approach to API success including Ope...
 
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile API
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile APIapidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile API
apidays Singapore 2023 - Addressing the Data Gap, Jerome Eger, Smile API
 
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wise
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wiseapidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wise
apidays Singapore 2023 - Iterate Faster with Dynamic Flows, Yee Hui Poh, Wise
 
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Ventures
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Venturesapidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Ventures
apidays Singapore 2023 - Banking the Ecosystem, Apurv Suri, SC Ventures
 
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...apidays Singapore 2023 - Digitalising agreements with data, design & technolo...
apidays Singapore 2023 - Digitalising agreements with data, design & technolo...
 
apidays Singapore 2023 - Building a digital-first investment management model...
apidays Singapore 2023 - Building a digital-first investment management model...apidays Singapore 2023 - Building a digital-first investment management model...
apidays Singapore 2023 - Building a digital-first investment management model...
 
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...apidays Singapore 2023 - Changing the culture of building software, Aman Dham...
apidays Singapore 2023 - Changing the culture of building software, Aman Dham...
 

Recently uploaded

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
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
 

Recently uploaded (20)

08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
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
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
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
 

APIdays Paris 2019 - Continuous Documentation by Kenigbolo Meya Stephen, BCaster

  • 1. Continuous Documentation The best time is now 1@expensivestevie
  • 2. Hello! Terve! I’m Kenigbolo Meya Stephen Front-End Engineering Lead @bcaster Arch Conveyer/Community Manager @TheCodeAfrique You can find me on twitter at @expensivestevie 22@expensivestevie
  • 3.
  • 4. WHAT I’LL BE TALKING ABOUT 4 😉 ✘ What is Continuous Documentation. ✘ Why is it important. ✘ Common pitfalls in current documentation practices. ✘ How to improve by implementing Continuous Documentation ✘ Continuous Documentation - Moving forward 👉 44@expensivestevie
  • 6. 1. WHAT IS CONTINUOUS DOCUMENTATION 6 66@expensivestevie
  • 7. CONTINUOUS DOCUMENTATION Continuous documentation is a documentation pattern we’ve developed within the BCaster Frontend team where the primary focus of taking into consideration constant changes/improvements in code and business logic to be reflected internally/externally for every single closed sprint. 7 77@expensivestevie
  • 8. “In our industry, change occurs so fast that it sometimes is difficult to catch all of it. This is the same case for the documentation and unfortunately release notes alone do not cut it. 8 88@expensivestevie
  • 9. “The open source (OSS) world uses Requests For Comments (RFC) however even in that world the RFC’s are rarely summarized. What do you use internally in your company? 9 99@expensivestevie
  • 10. THE PROBLEM COMES WITH ANOTHER CHANGE CHANGE EVEN MORE CHANGES 10 1010@expensivestevie
  • 11. 2. WHY IT IS IMPORTANT 11 1111@expensivestevie
  • 12. “The reasoning behind a change that you fail to document today might become lost forever resulting in knowledge base gap. What you end up having is an unsynchronized knowledge base 12 1212@expensivestevie
  • 13. TYPICAL DOCUMENTATION TYPES ✘ Proprietary software - Docs included and maintained ✘ Popular Frameworks - Dedicated teams for docs. ✘ Your company - Developers make docs? Dedicated documentation team? How do you handle your documentation? 13 1313@expensivestevie
  • 14. 3. COMMON PITFALLS IN CURRENT DOCUMENTATION PRACTICES If you just said to yourself “we’re definitely doing it right” then trust me when I say you’re definitely doing it wrong 14 1414@expensivestevie
  • 16. SIMPLE THINGS YOU’RE PROBABLY DOING WRONG Readme’s If majority of your code documentation are mostly README.md documents then you’ve been doing a lot of dis-service to what documentation should be Unhelpful Phrasing Do you have a word checker for your documentation? Do you spot unhelpful phrases in documentation? Can you define what an unhelpful phrase is? If the answer to any of those questions is “No” then there’s room for improvement Inconsiderate Writing Can you take your documentation and give to a non technical person and expect them to make any sense out of it? If you answered that question with “but it’s a technical doc” then there’s definitely room for improvement 16 1616@expensivestevie
  • 17. README ✘ Readme’s are supposed to be an entry point to your documentation as opposed to it being your main documentation ✘ If you’re having more than three sections in a Readme that already signifies there is a lot of information that needs to be somewhere else. ✘ Ever heard about clutter? Extensive readme’s are simply that - Clutter. 17 1717@expensivestevie
  • 19. Unhelpful phrasing ✘ “Simply run the tests”.. ✘ “Just write a compiler then it simply works”. ✘ “Simply”, “Just”, “Simple”, “Actually”, “Easy”, “Easily”, “Obviously”. 19 1919@expensivestevie
  • 20. INCONSIDERATE WRITING ✘ Gender favouring - “Hey Guys”, “he”, “his”, “dude” etc. ✘ Avoid race related phrases (tricky one but we’ll see how to deal with this later on). ✘ Polarizing/Unequal Phrasing - “It has always been like that” - It’s safe to say we all have that one guy in our company. 20 2020@expensivestevie
  • 21. 4. HOW TO IMPROVE VIA CONTINUOUS DOCUMENTATION Preconceptions are pure evil 21 �� 2121@expensivestevie
  • 22. “Always remember that documentation is a form of communication. Communication is a two way street. If your documentation is ambiguous then you have failed to communicate 22 2222@expensivestevie
  • 23. Our process is easy MAKE CHANGES DOCUMENT CHANGES SCREEN UPDATED DOCS 23 2323@expensivestevie
  • 24. README ✘ First ensure your document is in Markdown format ✘ Badges are good and informative so if you have CI badges put them up there. ✘ Create a separate folder for docs in every repository. Markdown documents can be used to link to other markdown documents.. ✘ Your readme should contain simply the description and getting started installation instructions. Every other detail should be a link to a respective Markdown document. 24 2424@expensivestevie
  • 25. UNHELPFUL PHRASING ✘ Documentations are a tools for communication as opposed for a place to expand your ego. Do not assume that everyone using them is on the same skill level as you. ✘ Call a non-technical person or content writer to help you review. Like pair programming, a second pair of eyes is always good. ✘ Review documentation changes just as you rigorously review your code. It is equally as important 25 2525@expensivestevie
  • 26. INCONSIDERATE WRITING Don’t you think Primary/Replica sounds better than Master/Slave? How about we use AllowList/DenyList instead of Whitelist/Blacklist? Doesn’t “Hey everyone” sound more gender neutral than “Hey guys”? I’m guessing now you’re already thinking about a lot of phrases that you use but never considered inconsiderate up until this point? 26 2626@expensivestevie
  • 27. “Release notes are nice and should be a must have for every major change irrespective of the size of your company and regardless of if you use semantic versioning or not. 27
  • 28. “There is no such thing like too much of good documentation. If there’s a reasonable change somewhere there should be a corresponding documentation update to show that change. 28
  • 29. “Auto generating documentation from code while being a good thing can most times result in a lot of common mistakes flying below the radar. Treat your documentation quality better than you even treat code quality. 29
  • 30. 5. MOVING FORWARD Continuous Documentation is all about continuous improvement to documentation practices. 30
  • 31. “Currently working on a documentation spec that enforces certain standards but are flexible enough to be configurable. Also currently working on a linting tool using those standards and it will be called DocLint. It will be to documentation as EsLint is to Javascript 31
  • 32. DocLint target platforms JavaScript (JS Package) RUST (CLI) BROWSERS (EXTENSION) 32
  • 33. “Interested in helping out? Let’s have a chat and brainstorm ideas on how to proceed with this. We’ve created an internal TC at BCaster for this very purpose and I’d be more than glad to share more info on this. 33
  • 34. 34 That’s all for today folks 34@expensivestevie
  • 35. 35 Thank You! Kiitos! (Key-Toss!) Any questions? You can find me at ▰ Twitter @expensivestevie ▰ Github @kenigbolo 35@expensivestevie