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
 
lincpa profile image
Lin Pengcheng
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
 
jitendrachoudhary profile image
Jitendra Choudhary

Well written post

Collapse
 
iam_randyduodu profile image
Duodu Randy 💻🐍

Thank you 🫡

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
 
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.