liqd / adhocracy

Adhocracy is a policy drafting and decision making software for distributed groups and open institutions.
GNU Affero General Public License v3.0
150 stars 37 forks source link

Structured documentation #76

Open nidico opened 12 years ago

nidico commented 12 years ago

There's quite some Adhocracy documentation, but it's spread over different places and partly mixed up with liquid democracy concept descriptions. This needs to be cleaned up.

There currently is:

There should be:

  1. One main place for documentation, which constantly evolves. This should include:

    • Adhocracy concepts (useful for everyone)
    • End user documentation (how do I...) - this shouldn't be important if the above (Adhocracy concepts) is done right
    • Developer documentation (to understand the code, used modules, etc.)
    • Administator documentation (installation, upgrading, deployment setups, also troubleshooting - s. #74)
    • Contributor guidelines (s. #75)

    We have previously discussed that this is best done with reStructuredText in the source code docs folder, which is automatically pushed to http://adhocracy.readthedocs.org/ on commit. The alternative would be the GitHub wiki (which is now disabled).

  2. One place for the current state of meta-discussion on how to move forward. I'd propose this should be the GitHub issue descriptions, which can be discussed in the issue comments and on the mailing list.
phihag commented 12 years ago

Don't forget the installation/quickstart instructions, for users as well as developers (I hesitate to just edit it in). Either github or the mailing list is fine. To me, issues seem easier to manage on github.

MicaSz commented 12 years ago

For the "Adhocracy concepts" part I would recommend to write a "lean and mean" documentation comparable to a standard "system requirements specification (SRS)", e.g with:

Your Opinions? I just started with the data model to get a better understanding of adhocracy features, but didn't get finished with it cause lack of time. Who is interested or wants to help with this?

nidico commented 12 years ago

@phihag - I had subsumed installation / quickstart under deployment under administrator documentation, but I've made it more explicit now. Okay like that, or do you want to see it somewhere else?

nidico commented 12 years ago

@MicaSz - I think that the bullet points you mentioned are useful in a documentation, and helping hands on this are very welcome! However, I would rather consider it as a system description than a requirement specification (as the system already exists right now, has grown and is simply not based straight well-formulated requirements), but that's only words.

My main focus is the conceptual data model, as this is a central point to grasp for both users and developers. I'd also like to connect this to the Liquid Democracy / Direct Parliamentarism concepts, as this explains some design decisions. Should we work on this together in a separate issue?

For the rest:

Doing proper requirement analysis with use cases and such would also be useful, but more in terms of further development, not documentation of the current system.

MicaSz commented 12 years ago

@nidico - I agree. At our company we call such conceptual system documentation a "System Specification" (in german "fachliche Systemdokumentation"; we use the term "System Description" for the technical documentation, like e.g. architecture, design etc.). Both are in fact lifecycle documents, whereas SRS' are used mainly for release "scoping" before implementation. But thats only words, I agree ;-)

Ok, I summarize the parts for such a conceptual documentation:

I would also recommend: