Top Banner
Open-Source Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org
22

OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

May 26, 2018

Download

Documents

dinhthu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Open-Source Software DocumentationBest Practices

OW2 Technology CouncilOscar Quality Programme

oscar.ow2.org

Page 2: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Foreword

2

Page 3: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Preliminary Remarks

“Documentation can't be an afterthought – it needs to be part of the release process.”

Source: 10 tips for better documentationPaul Adams, director of engineering at KDAB

3

Reading the documentation is how users and developers will get one of their first impressions about your project. They will infer much about the project’s quality itself from their experience with the documentation.

Page 5: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Key Recommended Features

Attractive home page with nice layout

Common formatting across sections

Outline for easy navigation

Syntax highlighting

Screenshots

Search

Glossary

Accessibility

5

Page 6: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Before Writing…

Before writing, ask yourself:

“Why do my readers need this content? This question is probably the trickiest of all, because it puts the purpose of your content under scrutiny with the WIIFM (what's in it for me) test: Why are you even writing this content? Which pain are you solving for your readers? Why would they care about what you're writing? Lots of hard questions to answer, I know.”

Source: Content strategy: the new philosophy of technical documentation – Mikey Ariel, RedHat

6

Page 7: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

DocumentationTypes

7

Page 8: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Documentation Types

1. Getting started2. Installation and administration guide3. User guide4. Developer guide5. API documentation6. Code documentation7. Tutorials / cookbooks / recipes

8

Page 9: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

1/7 Getting Started or README Documentation

It is the strict minimumMust have sections:

Project’s featuresRequirements and installationSupportLicense

9

NB: “All this has to be written for someone who never heard of your project before, and may never even have considered something like your project. If you’ve got a module that calculates Levenshtein distance, don’t assume that everyone reading your README knows what that is. Explain that the Levenshtein distance is used to compare differences between strings, and link to more detailed explanation for someone who wants to explore its uses” Source: 13 Things people hate about your open-source software docs

Example: erocci

Page 10: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

2/7 Installation and Administration Guide

Purpose: provide guidance on the software installation and on its configurationRecommended sections:

RequirementsInstallation stepsSystem configurationSystem monitoringPerformance tuning Troubleshooting

10

Example: XWiki

Page 11: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

3/7 User Guide

Purpose: present the software goals and usage in greater detailsRecommended sections:

Table of content

One section per main function

Screenshots

FAQ

Links towards further help

11

Example: Lutece

Page 12: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

4/7 Developer GuidePurpose: facilitate developer contributionRecommended sections:

Getting the code

Build instructions

Architecture with diagrams

Issue tracking + easy bugs

Coding conventions

Patch submission

Testing process

Translation process12

Example: WebLab developer guide

Page 13: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

5/7 API Documentation

REST APIs: list all end points

Provide sample code

Consider API description languages: Swagger, Raml, JSON Hypermedia

Use an efficient UX

13

Example: ProActive Workflows & Scheduling

Page 14: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

6/7 Code Documentation

14

Code artefact naming is documentation

Use consistent naming rules

Documentation tells what you are doing, code shows how you are doing it and comments explain why you are doing it this way

Reference issues

Page 15: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

7/7 Tutorials, Cookbook, Recipes

15

Purpose: help solve specific problems and reduce the learning curveBest practices:

Use several formats to address different learning profiles: code recipes, videos, slides, …

Promote community materialExample: SpagoBI

Tutorials

Page 16: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Toolsand

Resources

16

Page 17: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Enterprise scriptable wikiLGPL v2, Java10+ years project and companyXWiki SAS OW2 corporate memberKey features for documentation:

Collaborative editingContent versioningSyntax formattingTable of contentDocument inclusion supportUML diagramming extensionsInternationalizationPDF export

Recommended Solution for Writing Documentation: XWiki

17

XWiki.org

Page 18: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Tools for API documentation, diagrams, a11y, …

REST API documentation generation: Swagger, MiredotDoc and UML diagrams generation:

Doxygen

Forums: discourse.orgAccessibility check: AsqatasunIssue tracker for keeping track of documentation related issuesAlternative writing tools: Corilla, Sphinx

18

Page 19: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Collaborative Project Documentation How-To

Create a dedicated space in the project’s public wikiRequest the creation of a dedicated navigation panelYour contacts at OW2:

Olivier Bouzereau, community coordinator

Olivier Lizounat, webmasterStéphane Laurière, CTOReach OW2 also via your project’s JIRA

19

Page 21: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

ContributorsList here who contributed to the guide +

tell about the license

21

Page 22: OW2 Technology Council Oscar Quality Programme … Software Documentation Best Practices OW2 Technology Council Oscar Quality Programme oscar.ow2.org

Open-source Software DocumentationBest Practices

Thank youoscar.ow2.org

22