DEV Community

Cover image for Why Docs-as-Code is the Key to Better Software Documentation

Why Docs-as-Code is the Key to Better Software Documentation

Duodu Randy πŸ’»πŸ on June 10, 2024

Introduction In the software development ecosystem, there is often friction between software developers and technical writers when it co...
Collapse
Β 
maq profile image
Maciej 'maQ' Kusz β€’

As for tools integration, is just a matter of finding one. I saw that problem when I started to work on my personal blog and decided to create a "bridge" for people who are a bit less tech savvy that connects MkDocs with Obsidian.md (both are using Markdown files). This way you can have a great editor that helps a lot with text formatting and cross documents linking and probably one of the best building and presentation side (especially with Material for MkDocs). If you are interested in my project take a look at MkDocs Publisher.

Collapse
Β 
iam_randyduodu profile image
Duodu Randy πŸ’»πŸ β€’

Will definitely check out MkDocs Publisher. Thank you.

Collapse
Β 
der_gopher profile image
Alex Pliutau β€’

Also diagrams as code - packagemain.tech/p/software-archit...

Collapse
Β 
iam_randyduodu profile image
Duodu Randy πŸ’»πŸ β€’

I agree πŸ’―. With Docs-as-Code you are able to convert plantuml, graphviz, mermaid or drawio codes into diagrams that help you to add more details to your documentation.

Collapse
Β 
lincpa profile image
Lin Pengcheng β€’
Collapse
Β 
harshitkumar31 profile image
Harshit Kumar β€’

I love how rust has cargo doc which supports this sort of stuff natively.

Collapse
Β 
martinbaun profile image
Martin Baun β€’

Very well complied!

Collapse
Β 
iam_randyduodu profile image
Duodu Randy πŸ’»πŸ β€’

Thank you 🫑

Collapse
Β 
jitendrachoudhary profile image
Jitendra Choudhary β€’

Well written post

Collapse
Β 
iam_randyduodu profile image
Duodu Randy πŸ’»πŸ β€’

Thank you 🫑

Collapse
Β 
samuel-braun profile image
Samuel Braun β€’

Very nice read πŸ”₯

We are currently using Vue for our application and I think with this approach we could use something like VitePress to generate docs as webpages for markdown documented requirements. That way the actual functionality/code is closely coupled to the requirements documentation and testers/stakeholders can review these for testing/understanding.

However, i'm not sure about other documentation that isnt directly connected to the current version of your code. There a system that just allows for quick editing and saving could be more beneficial. What do you think?

But at the end it really depends on the team size, experiences, use cases, project management, ...

Collapse
Β 
iam_randyduodu profile image
Duodu Randy πŸ’»πŸ β€’

However, i'm not sure about other documentation that isnt directly connected to the current version of your code. There a system that just allows for quick editing and saving could be more beneficial. What do you think?

If VitePress supports versioning then it will help to have your other documentations linked to your current version so that stakeholders can choose which version of the documentation to use based on the code version.

You can also checkout MkDocs and Material for MkDocsto see if it matches your use case.

Collapse
Β 
samuel-braun profile image
Samuel Braun β€’

Yea, I think for our use case simply linking is more than enough. MKDocs seems nice but I think we got more flexibility with VuePress since we are using Vue already so its not something new to learn or another technical workflow to add to the stack.

But really nice post, I'll definitely come back to this in the future.