Professional Documents
Culture Documents
Conor Murphy
Technical Solutions Architect – Data Centre
DEVNET-1069
12 things to include in your
documentation. You won't believe
what number 9 is!
Conor Murphy
Technical Solutions Architect – Data Centre
DEVNET-1069
Cisco Webex Teams
Questions?
Use Cisco Webex Teams to chat
with the speaker after the session
How
1 Find this session in the Cisco Events Mobile App
2 Click “Join the Discussion”
3 Install Webex Teams or go directly to the team space
4 Enter messages/questions in the team space
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 4
"If it isn't documented, it doesn't
exist."
http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=1680
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 5
https://web.archive.org/web/20071113213614/http://www.amazon.com/gp/plog/post.html/ref=cm_blog_pl?ie=UTF8&pt=personalBlog&aid=PlogMyCustomersAg
ent&ot=customer&pd=1164175937.423&pid=PMCA1J3TWE84RTHQXat1164175038&iid=A1J3TWE84RTHQX
https://web.archive.org/web/20070227072817/https://www.b-list.org/weblog/2007/01/22/choosing-javascript-library
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 6
https://www.youtube.com/watch?v=W9EwAg4Mu8Y
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 7
https://www.digitalocean.com/currents/october-2018/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 8
Acknowledgements
opinions
examples
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 10
readme
reference
cookbook
types of user guide
documentation blogpost
whitepaper
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 11
It's not just the contents, it's also how it
looks
• Depending on the project, your
documentation might include some or all of
the following components: An introduction
should show a very short overview of what
can be done with the product, using one or
two extremely simplified use cases. This is
the thirty-second pitch for your project. A
tutorial should show some primary use cases
in more detail. The reader will follow a step-
by-step procedure to set-up a working
prototype. An API reference is typically
generated from the code (see docstrings). It
will list all publicly available interfaces,
parameters, and return values.
https://docs.python-guide.org/writing/documentation/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 13
Depending on the project, your documentation might
• Depending on the project, your include some or all of the following components:
documentation might include some or all of
the following components: An introduction • An introduction should show a very short
should show a very short overview of what overview of what can be done with the product,
using one or two extremely simplified use cases.
can be done with the product, using one or
This is the thirty-second pitch for your project.
two extremely simplified use cases. This is
the thirty-second pitch for your project. A • A tutorial should show some primary use cases in
tutorial should show some primary use cases more detail. The reader will follow a step-by-step
in more detail. The reader will follow a step- procedure to set-up a working prototype.
by-step procedure to set-up a working • An API reference is typically generated from the
prototype. An API reference is typically code (see docstrings). It will list all publicly
generated from the code (see docstrings). It available interfaces, parameters, and return
will list all publicly available interfaces, values.
parameters, and return values.
https://docs.python-guide.org/writing/documentation/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 14
markdown lightweight and easy-to-use syntax
for styling
https://en.wikipedia.org/wiki/Markdown
https://guides.github.com/features/mastering-markdown/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 15
tool that analyzes source code to
https://en.wikipedia.org/wiki/Lint_(software)
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 16
This example uses Visual Studio
Code with the Markdown Preview
Enhanced extension
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 17
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 18
Example Markdown linter extension
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 19
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 20
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 21
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 22
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 23
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 24
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 25
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 26
Copy/Pasting – Need to be easy to
copy and paste. Makes it hard
when you have prompt with folder,
$ sign etc
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 27
"79 percent . . . always scanned
any new page . . . ; only 16
percent read word-by-word"
https://www.nngroup.com/articles/how-users-read-on-the-web/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 28
Markdown Tools and References
• https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
• https://www.markdownguide.org/basic-syntax/
• https://github.github.com/gfm/#introduction
• https://code.visualstudio.com/docs/languages/markdown
• https://marketplace.visualstudio.com/items?itemName=shd101wyy.markdown-
preview-enhanced
• https://medium.com/@tracymakes/five-tips-for-improving-your-technical-writing-
and-documentation-47353723c8a7
• https://stoplight.io/blog/writing-documentation-when-you-arent-a-technical-
writer-part-one-ef08a09870d1/
• https://brainhub.eu/blog/writing-good-documentation-open-source-library/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 29
What To Include In
A Readme?
https://opensource.com/article/17/8/doc-driven-development
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 31
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 32
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 33
https://www.researchgate.net/publication/318733467_Application_Programming_Interface_Docu
mentation_What_Do_Software_Developers_Want
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 34
Suppose you have to get into a new API: Which question comes up first?
You have to get into a new API. What are the first steps you take?’
https://www.researchgate.net/publication/318733467_Application_Programming_Interface_Documentation_What_Do_Software_Developers_Want
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 35
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 36
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 37
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 38
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 39
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 40
Release Notes
https://github.com/CiscoDevNet/webexteamssdk/releases
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 42
How Can People
Contribute?
https://github.com/atom/atom/blob/master/CONTRIBUTING.md
https://github.com/rails/rails/blob/master/CONTRIBUTING.md
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 44
How Do I License
My Project?
https://choosealicense.com
https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 46
https://choosealicense.com/licenses/mit/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 47
Software Licenses
Public
domain & Copyleft Permissive Noncommercial Proprietary Trade secret
equivalents
https://en.wikipedia.org/wiki/Copyleft
https://en.wikipedia.org/wiki/Copyright
https://en.wikipedia.org/wiki/Permissive_software_license
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 48
MIT License (Permissive)
https://en.wikipedia.org/wiki/MIT_License
https://www.gnu.org/licenses/gpl-3.0.en.html
https://www.apache.org/licenses/LICENSE-2.0
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 49
license legal framework that allows for
pieces of software with
compatibility different software licenses to be
distributed together
https://en.wikipedia.org/wiki/License_compatibility
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 50
https://github.com/github/licensed
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 51
Licensing Tools and References
• https://choosealicense.com
• https://help.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-
repository
• https://en.wikipedia.org/wiki/Software_relicensing
• https://github.com/github/licensed
• http://www.catb.org/~esr/Licensing-HOWTO.html#changing
• https://en.wikipedia.org/wiki/MIT_License
• https://www.gnu.org/licenses/gpl-3.0.en.html
• https://www.apache.org/licenses/LICENSE-2.0
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 52
A few extra tips on
documentation
vagrant
demo docker
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 54
How to draw an owl
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 56
Waterfall
Design
Build
Release
Time
Agile
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 57
documentation "when you modify code, get in the
development habit of editing comments and
related documentation"
lifecycle
https://blog.digitalocean.com/documentation-as-an-open-source-practice/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 58
pair programming
duo documentation?
the driver codes while the
the observer reviews each line of code
as it is typed
https://en.wikipedia.org/wiki/Pair_programming
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 59
"If a tree falls in a forest and no
one is around to hear it, does it
make a sound?"
George Berkley
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 60
" [Tweet and Blog.] Answer the
https://www.freecodecamp.org/news/what-i-learned-from-an-old-
github-project-that-won-3-000-stars-in-a-week-628349a5ee14/
https://blogs.cisco.com/developer/ucs-hx-veeam-powershell
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 61
ReadMe Tools and References
• https://github.com/matiassingers/awesome-readme
• https://gist.github.com/PurpleBooth/109311bb0361f32d87a2
• https://help.github.com/en/github/building-a-strong-community/setting-guidelines-for-repository-contributors
• https://docs.python-guide.org/writing/documentation/
• https://www.writethedocs.org/
• https://www.writethedocs.org/videos/portland/2019/
• Example READMEs
• https://github.com/CiscoDevNet/code-exchange-repo-template/tree/master/manual-sample-repo
• https://github.com/movinalot/dcloud-cisco-hyperflex-veeam-integration
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 62
What's Next?
tutorials video + text transcripts
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 64
https://stripe.com/docs/payments/accept-a-payment-charges
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 65
pycco produces HTML that displays your
comments alongside your code
https://pycco-docs.github.io/pycco/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 66
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 67
https://www.docslikecode.com/about/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 68
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 69
“I apologize for such a long letter - I
didn't have time to write a short
one.”
Mark Twain
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 70
where to host
additional
documentation?
https://readthedocs.org/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 71
where to host
additional
documentation?
https://pages.github.com/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 72
Interactive
Documentation
https://swagger.io/
https://github.com/OAI/OpenAPI-Specification/tree/master/examples/v3.0
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 74
https://developer.webex.com/docs/platform-introduction
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 75
https://news.codecademy.com/content/images/2018/08/Screen-Shot-2018-08-22-at-1.49.22-
PM.png
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 76
https://maintainer.io/
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 77
More to follow?
Learn more about the new DevNet Certifications
and how you can prepare now!
Associate Level Specialist Level Professional Level Expert Level
Engineering
Future
Offering
Software
Start Here | Upcoming Cisco DevNet Certifications
• Start at Meet DevNet
DEVNET-2864: Getting ready for Cisco DevNet Certifications
Offered daily at 9am, 1pm & 4pm at Meet DevNet
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 80
Find shared code repositories of
use cases for network automation & more! Don’t miss our 5
Automate Infrastructure
demos in the
DevNet Zone!
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 81
Complete your
online session
survey • Please complete your session survey
after each session. Your feedback
is very important.
• Complete a minimum of 4 session
surveys and the Overall Conference
survey (starting on Thursday) to
receive your Cisco Live t-shirt.
• All surveys can be taken in the Cisco Events
Mobile App or by logging in to the Content
Catalog on ciscolive.com/emea.
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 82
Continue your education
Demos in the
Walk-In Labs
Cisco Showcase
DEVNET-1069 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 83
Thank you