# Documentation

One of our main goal when delivering a project is to make sure that our customer can use autonomously the solution we have deployed. We achieve this by working hand in hands with the customer team during the implementation but mainly by writing down a solid documentation. We rely on [divio](https://documentation.divio.com/) principles for writing our documentation.

There is a secret that needs to be understood in order to write good software documentation: **there isn’t one thing called&#x20;*****documentation*****, there are four.**

They are: ***tutorials***, ***how-to guides***, ***technical reference*** and ***explanation***. They represent four different purposes or functions, and require four different approaches to their creation. Understanding the implications of this will help improve most documentation - often immensely.

<img src="/files/KEFEOxE5ysgA0fT2b5ZA" alt="" data-size="original">

People working with software need these four different kinds of documentation at different times, in different circumstances - so software usually needs them all, and they should all be integrated into your documentation.

And documentation needs to be explicitly structured around them, and they all must be kept separate and distinct from each other.

|               | [Tutorials](https://documentation.divio.com/tutorials/#tutorials) | [How-to guides](https://documentation.divio.com/how-to-guides/#how-to) | [Reference](https://documentation.divio.com/reference/#reference) | [Explanation](https://documentation.divio.com/explanation/#explanation) |
| ------------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------- | ----------------------------------------------------------------------- |
| *oriented to* | learning                                                          | a goal                                                                 | information                                                       | understanding                                                           |
| *must*        | allow the newcomer to get started                                 | show how to solve a specific problem                                   | describe the machinery                                            | explain                                                                 |
| *its form*    | a lesson                                                          | a series of steps                                                      | dry description                                                   | discursive explanation                                                  |
| *analogy*     | teaching a small child how to cook                                | a recipe in a cookery book                                             | a reference encyclopaedia article                                 | an article on culinary social history                                   |

This division makes it obvious to both author and reader what material, and what *kind* of material, goes where. It tells the author **how to write**, and **what to write**, and **where to write it**. It saves the author from wasting a great deal of time trying to wrestle the information they want to impart into a shape that makes sense, because **each of these kinds of documentation has only one job**.

In fact, it’s extremely hard to maintain good documentation that doesn’t implicitly or explicitly recognise the quadrants of this scheme. The demands of each kind are different from those of the others, so **any attempt at documentation that fails to maintain this structure suffers**, as it’s pulled in different directions at once.

Once you understand the structure, it becomes a very useful tool for analysing existing documentation, and understanding what needs to be done to improve it.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.astrafy.io/project-management/documentation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
