Organize a documentação de acordo com as necessidades do público-alvo.
No seu caso, o público principal são aparentemente desenvolvedores de software. As partes a considerar aqui devem abordar diferentes "sub-audiências" desta:
- Olá Mundo.
Para aqueles que desejam experimentar rapidamente, basta criar e executar um aplicativo de amostra para ver como ele se parece.
Pense no público como aquele abordado pelo MySQL "15 minutes rule" :
... um usuário para poder ter o MySQL em funcionamento 15 minutos depois de terminar o download.
- Fundamentos.
Para os caras dispostos a aprender rapidamente as coisas necessárias para começar a produzir software de trabalho.
- Tópicos avançados.
Para desenvolvedores já bem familiarizados e praticados com fundamentos, interessados em saber o que há além. Tópicos principais que não foram abordados nos Fundamentos .
- Guia de Estilo / Práticas Recomendadas.
Aconselhamento e orientação subjetiva para os interessados na maneira como você recomenda fazer as coisas.
A pergunta não indica se isso poderia ter um público substancial no seu caso; portanto, as opções a serem consideradas são incluí-lo como parte / apêndice de tópicos avançados ou até mesmo descartá-lo completamente.
- Peculiaridades.
Tópicos obscuros, fora do mainstream, que podem interessar uma fração bastante limitada do seu público. Por exemplo, se você tem uma linha herdada, ou coisas como atualização / migração / interoperabilidade com o herdado - coloque aqui. Se houver alguns efeitos colaterais para alguma função em um ambiente "exótico" específico, isso ocorre nesta parte.
Seu público secundário é o mantenedor do manual. Esses caras podem criar ou quebrar a maneira como as coisas funcionam para o seu público principal, para que você cuide melhor de suas necessidades e problemas.
E se algo no manual for questionável / ambíguo? E se a explicação completa de conceitos particulares dificultar a leitura do manual? E se a versão específica do manual apresentar erros?
Duas coisas a considerar para os mantenedores são:
- Especificação técnica / formal.
Sempre que houver um tópico questionável / ambíguo / difícil de explicar no manual, o leitor pode ser referido a um parágrafo específico da especificação para uma declaração "oficial" estrita e clara sobre isso. Uma descrição rigorosa e completa (e provavelmente muito chata) da sintaxe da linguagem seria melhor.
As considerações fundamentais para a Especificação são a precisão e a completude técnicas, mesmo que elas ocorram à custa da legibilidade.
- Suplemento online.
Basta reservar um URL e colocá-lo no início de cada documento que você liberar, para que os caras que estão se perguntando o que diabos acabaram de ler possam ir lá (em vez de incomodar os mantenedores manuais) e encontrar o erro explicado.
Errata> Fundamentos> Release 2.2> Typo na página 28, segunda começa frase com sorte , leia bloqueio em seu lugar.
Conceitos como estratégias de bloqueio, detalhes relacionados ao desempenho devem ser incluídos (possível parcialmente) nos locais em que você espera que o público-alvo precise.
Por exemplo, os mantenedores manuais aparentemente estariam interessados em uma descrição completa e precisa da concorrência e do bloqueio na especificação formal - coloque-a lá. Os leitores de tópicos Fundamentos ou Avançados podem estar interessados em uma visão geral / introdução / guia extraída da especificação e adaptada às suas necessidades, etc.
Pode ser útil organizar um estudo comparativo da documentação de referência fornecida para outros idiomas como o seu. Aponte este estudo para aproveitar a experiência adquirida por aqueles que o fizeram antes e aprender a evitar erros que cometeram.
O último, mas não menos importante, considere configurar o desenvolvimento da documentação de maneira semelhante ao desenvolvimento de software. Quero dizer coisas como controle de versão, lançamentos regulares, rastreamento de problemas, garantia de qualidade, etc. Você pode fazer alguns compromissos, se for constatado que o (s) seu (s) escritor (es) técnico (s) não estão realmente confortáveis com coisas assim. Não queremos obter conteúdo de baixa qualidade "em troca" de um processo de desenvolvimento perfeito, não é?