Introduction:

In the dynamic realm of technology, companies are always searching for new ways to enhance their processes and maintain a competitive edge. By embracing “Doc as Code” and asynchronous work, tech startups and enterprises can revolutionize their operations and secure a path to success.

The Concept of “Doc as Code”:

“Doc as Code” refers to the sober and straightforward approach of documenting information in a machine-readable format, such as markdown or reStructuredText, and storing it with the code. This approach facilitates version control, collaboration, and access to the most recent documentation. Additionally, it enables automation and integration with other tools, such as issue trackers and continuous integration pipelines.

Real-Life Examples of Companies That Have Adopted “Doc as Code”:

  • GitHub: GitHub, the leader in software development, is a shining example of the advantages of “Doc as Code.” They use markdown to write documentation and store it with code, making it easy for developers to access and contribute. (Source: GitHub’s Documentation)
  • Netflix: Netflix is another company that has adopted “Doc as Code.” They use Sphinx, a popular documentation generator, to write and maintain their internal documentation. (Source: Netflix’s Blog)

The Benefits of Asynchronous Work:

Asynchronous work refers to the ability to work at different times and at a pace that suits the individual. This approach is becoming increasingly popular, especially with the rise of remote work. By embracing asynchronous work, companies can:

Improve productivity: Asynchronous work allows employees to work at their most productive times, leading to better results and higher efficiency. Foster collaboration: Async work can also increase collaboration by allowing for more flexible scheduling and enabling team members to work together from different locations.

Enhance work-life balance: By eliminating the need to be physically present at the same time, async work can improve work-life balance, leading to happier and more engaged employees.

The Manifesto for Async Software Development:

Yes there is always a manifesto ;) The Manifesto for Async Software Development outlines the principles of async work and the advantages it brings to software development teams. It includes principles such as “empowering individuals,” “valuing results over presence,” and “honoring time constraints.” By following these principles, companies can embrace async work and achieve better outcomes. Check the manifesto here.

Agile vs Async:

Agile and async are not mutually exclusive. In fact, many companies that embrace async work also follow agile methodologies. Agile focuses on delivering value to customers quickly and efficiently, while async work allows for more flexible scheduling and remote collaboration. By combining the two, companies can achieve even greater results. An even more if you can combine Async + Agile + doc as code you will defiitely reach the “god mode” of the tech game.

Steps in a fictional “Doc as Code” Workflow with Asynchronous Communication and Work:

Let’s imagine a fictional workflow of a smart startup with smart people (yes they are smart, that’s why we pay them 500K a year). Tom is the dev, Carlotta in the product owner, Imad is the tech writer (me, yes me, pay me 500K please, this was a subliminal message).

  • Step 1: Tom, Carlota, and Imad use a shared code repository on GitHub to store the code for their app.
  • Step 2: Tom writes code and pushes changes to the repository, documenting the changes in markdown files stored alongside the code.
  • Step 3: Carlota reviews the code changes and provides feedback using asynchronous communication tools using Jira - each ticket must assigned to one person - one ticket = one question = one bug = one problem… Tickets needs to be solved fast so don’t put multiple topics in one ticket…
  • Step 4: Imad updates the documentation to reflect the code changes and pushes the updated documentation to the same repository.
  • Step 5: The team uses continuous integration and deployment pipelines to automatically build and deploy the app, ensuring that the code and documentation are always in sync.
  • Step 6: As they work, Tom, Carlota, and Imad continue to communicate and collaborate asynchronously, using tools such as video conferencing and screen sharing to stay in touch and share updates.

This example demonstrates how the combination of “Doc as Code” and asynchronous work + agile can improve collaboration and streamline the software development process. By following this workflow, the team can work together effectively, regardless of location or time zone.

Conclusion:

In conclusion, tech startups and enterprises can greatly benefit from embracing “Doc as Code” and asynchronous work. By doing so, they can improve productivity, foster collaboration, and streamline their workflows. By following the principles of the Manifesto for Async Software Development and combining it with agile methodologies, companies can achieve even greater success. And there you have it, folks.

And don’t forget :

Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing. – Dick Brandon (?)