SlideShare a Scribd company logo
Taking Documentation to the Next Level
in Young Software Projects
Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Do you contribute to documentation?






Have you created a web page, blog posting,
webinar, video, etc. about a software project?
Have you answered a question on a mailing list
or forum?

Have you asked a question on a mailing list or
forum?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Structure of this talk
Problems of documentation in young software
projects

Some research into the use of mailing lists and
discussion forums







Comments about online Erlang documentation
Suggestions for developing more and better
documentation

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Documentation and the adoption curve

Innovators Early Adopters

Mainstream success

Documentation
needed

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

Publishers (best case)

Decline

Publishers (worst case)
Documentation by the innovators
Software developers tend to write for other
people like themselves

Assume deep background knowledge that can
be transferred to their project

Elements of innovator documentation

Architectural justifications

Comparisons to other projects

Quick-starts

Reference material



Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Example: Riak documentation


Focuses on architecture



Useful to distinguish Riak from similar projects



But does not connect architecture to use cases
to make the information practical

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Early adopters arrive






They possess enough background to use
innovators' documentation
Consider documentation adequate
Promote project and generate enthusiasm that
draws other users

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Mainstream users arrive






Confused and alienated by the documentation
Desperately search for help, which may or may
not arrive
Leave project if not engaged and aided

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Research on mailing lists


Used on every project



Easy to quantify results



Every question reflects a failure at documentation
Perhaps the feature is undocumented

Perhaps the documentation could not be found

Perhaps the documentation didn't seem
relevant to the question


Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Questions asked about mailing lists


How many technical questions get answered?



How long does it take to get an answer?



How much noise is on the thread?

http://praxagora.com/andyo/professional/mailing_list/mailing_list.html
http://www.praxagora.com/andyo/professional/mailing_list_follow_up

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
How many questions were answered?
Unanswered
7
7
7
5

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

Answered
Fedora Linux

7

Ubuntu Linux

7

Rails

7
Perl

9
So, are mailing lists effective?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
How is Erlang documentation?
Erlang is in a lucky position

It is not a young project

It has been able to develop innumerable
training materials over the decades

Several publishers have released
professional books

Functional principles have spread
throughout the programming field

One must consider the whole information
ecosystem



Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


Site is run by Ericsson



Potentially backed by lots of resources



But how much attention does the company
give it?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


Getting Started

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Assumptions in documentation


Reader understands the math



Reader understands the notion of recursion



Reader has seen factorials used as an example
of recursive programming

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Focusing on the code



Reader must be able to pick out “active ingredients”
in code

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Focusing on the executable code



Reader must determine when and why each
function runs

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlang.org


An Erlang Course

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Questions left by course




Why does Erlang offer both tuples and lists?
Do tuples and lists work like they do in other
languages?

When do you use a tuple and when do you use
a list?

Other lapses in course: unexplained syntax, isolated
examples that don't build on each other, etc.


Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Comments on erlangcentral.org


Site run by the Industrial Erlang User Group



Points to wide range of documents and other sites



Solicits user contributions to wiki

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Criteria for evaluating documentation


Availability—does it exist at all?



Findability—can readers get answers?



Quality—accuracy, readability, relevance, etc.

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—try crowdsourcing








Your developers don't have time to write
everything
Users have innate sympathy for other users
They'll generate content anyway, so you can
coordinate it intelligently
Give up on “One Ring to Rule Them All”

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Crowdsourcing has a history

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Models for crowdsourcing


Development and study of Talmud



Greek symposium

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Mobilizing users for documentation


Search for bloggers, contributors to forums



External motivations can encourage contributions



Access to developers is a motivation



Don't strive for unity—embrace multivocality



Let people use their own favorite media

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—FLOSS Manuals

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Availability—FLOSS Manuals


Coordinate volunteers around the world



Create conventional books



Foster translations

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
FLOSS Manuals—sprints


Bring volunteers together in one space



Usually sponsored by an open source project



Google has hosted many documentation sprints

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Findability—more than a search engine


Add boxes for people to recommend documents



“Read before this document”



“Read after this document”



Long-term goal: spider creates recommended
paths through documents

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Quality—What's the ultimate goal?



After reading the document, can the reader
accomplish the task she set out to do?

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Quality—A/B testing






Attach a quiz to a document
As you rewrite the document, check how well
the readers can answer the quiz

Remember: a user experience encompasses more
than one document

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
Summary






Documentation and training materials are crucial
to mainstream adoption of young projects
A serious need exists for better documentation
Invest special efforts to create documentation,
make it findable, and improve its quality

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media
About me
@praxagora
andyo@oreilly.com
http://programming.oreilly.com/andyo

Erlang Factory, 23 October 2013
Andy Oram, O'Reilly Media

More Related Content

Viewers also liked

Forest, Our Lifeline
Forest, Our LifelineForest, Our Lifeline
Forest, Our Lifeline
Samyak Jain
 
Saints
SaintsSaints
Saints
Samyak Jain
 
Mathematics Quiz Class 9
Mathematics Quiz Class 9Mathematics Quiz Class 9
Mathematics Quiz Class 9
Samyak Jain
 
History of Cricket
History of CricketHistory of Cricket
History of Cricket
Samyak Jain
 
Tenses (Basic Rules of Tenses)
Tenses (Basic Rules of Tenses)Tenses (Basic Rules of Tenses)
Tenses (Basic Rules of Tenses)
Samyak Jain
 
Freedom fighters’ slogans
Freedom fighters’ slogansFreedom fighters’ slogans
Freedom fighters’ slogans
Samyak Jain
 
Integers
IntegersIntegers
Integers
Samyak Jain
 
Algebraic identities
Algebraic identitiesAlgebraic identities
Algebraic identities
Samyak Jain
 
Atoms and Molecules
Atoms and MoleculesAtoms and Molecules
Atoms and Molecules
Samyak Jain
 
CROP PRODUCTION AND MANAGEMENT
CROP PRODUCTION AND MANAGEMENTCROP PRODUCTION AND MANAGEMENT
CROP PRODUCTION AND MANAGEMENT
Samyak Jain
 
SOIL CONSERVATION
SOIL CONSERVATIONSOIL CONSERVATION
SOIL CONSERVATION
Samyak Jain
 
Paryavaran pradushan (hindi)- Pollution
Paryavaran pradushan (hindi)- PollutionParyavaran pradushan (hindi)- Pollution
Paryavaran pradushan (hindi)- Pollution
Samyak Jain
 

Viewers also liked (12)

Forest, Our Lifeline
Forest, Our LifelineForest, Our Lifeline
Forest, Our Lifeline
 
Saints
SaintsSaints
Saints
 
Mathematics Quiz Class 9
Mathematics Quiz Class 9Mathematics Quiz Class 9
Mathematics Quiz Class 9
 
History of Cricket
History of CricketHistory of Cricket
History of Cricket
 
Tenses (Basic Rules of Tenses)
Tenses (Basic Rules of Tenses)Tenses (Basic Rules of Tenses)
Tenses (Basic Rules of Tenses)
 
Freedom fighters’ slogans
Freedom fighters’ slogansFreedom fighters’ slogans
Freedom fighters’ slogans
 
Integers
IntegersIntegers
Integers
 
Algebraic identities
Algebraic identitiesAlgebraic identities
Algebraic identities
 
Atoms and Molecules
Atoms and MoleculesAtoms and Molecules
Atoms and Molecules
 
CROP PRODUCTION AND MANAGEMENT
CROP PRODUCTION AND MANAGEMENTCROP PRODUCTION AND MANAGEMENT
CROP PRODUCTION AND MANAGEMENT
 
SOIL CONSERVATION
SOIL CONSERVATIONSOIL CONSERVATION
SOIL CONSERVATION
 
Paryavaran pradushan (hindi)- Pollution
Paryavaran pradushan (hindi)- PollutionParyavaran pradushan (hindi)- Pollution
Paryavaran pradushan (hindi)- Pollution
 

Similar to Taking Documentation to the Next Level in Young Software Projects

Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for Libraries
Amber Billey
 
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UXContext, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
Ultan O'Broin
 
How to choose an open-source project
How to choose an open-source projectHow to choose an open-source project
How to choose an open-source project
Susan Tan
 
The Technical Writers Guide to Contributing to Open Source Projects
The Technical Writers Guide to Contributing to Open Source ProjectsThe Technical Writers Guide to Contributing to Open Source Projects
The Technical Writers Guide to Contributing to Open Source Projects
All Things Open
 
Boolean Basics. TAQ #1
Boolean Basics. TAQ #1Boolean Basics. TAQ #1
Boolean Basics. TAQ #1chrisjcruz
 
The changing nature of technical content (tekom tcworld 2013 conference)
The changing nature of technical content (tekom tcworld 2013 conference)The changing nature of technical content (tekom tcworld 2013 conference)
The changing nature of technical content (tekom tcworld 2013 conference)
Ellis Pratt
 
Ppd ssf open access mar13
Ppd ssf open access mar13Ppd ssf open access mar13
Ppd ssf open access mar13
Rachel Henderson
 
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
Ken Varnum
 
Uncork Your Licenses!
Uncork Your Licenses! Uncork Your Licenses!
Scholarly Communication, Open Access & Repositories
Scholarly Communication, Open Access & RepositoriesScholarly Communication, Open Access & Repositories
Scholarly Communication, Open Access & Repositories
Gaz Johnson
 
Case Study: We're Watching You: How and Why Researchers Study Open Source And...
Case Study: We're Watching You: How and Why Researchers Study Open Source And...Case Study: We're Watching You: How and Why Researchers Study Open Source And...
Case Study: We're Watching You: How and Why Researchers Study Open Source And...
All Things Open
 
Open Education Resources: Content Development
Open Education Resources: Content DevelopmentOpen Education Resources: Content Development
Open Education Resources: Content Development
shekknett
 
Trikonf 2015 - Community, Studio and the OpenExchange
Trikonf 2015  - Community, Studio and the OpenExchangeTrikonf 2015  - Community, Studio and the OpenExchange
Trikonf 2015 - Community, Studio and the OpenExchange
Paul Filkin
 
Distributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You CanDistributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You Can
TechWell
 
Lean Startup and Tech
Lean Startup and TechLean Startup and Tech
Lean Startup and Tech
Obie Fernandez
 
Project managing your postgrad research feb 2013v2
Project managing your postgrad research feb 2013v2Project managing your postgrad research feb 2013v2
Project managing your postgrad research feb 2013v2carolynejacobs
 
Engineering culture
Engineering cultureEngineering culture
Engineering culturePamela Fox
 
Patters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team QualityPatters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team QualityTechWell
 
Introduction to Open Educational Rersources (OER)
Introduction to Open Educational Rersources (OER)Introduction to Open Educational Rersources (OER)
Introduction to Open Educational Rersources (OER)
Jisc Scotland
 

Similar to Taking Documentation to the Next Level in Young Software Projects (20)

Open Source Software for Libraries
Open Source Software for LibrariesOpen Source Software for Libraries
Open Source Software for Libraries
 
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UXContext, Coffee, and the Death of Crapplications: Enabling Great Global UX
Context, Coffee, and the Death of Crapplications: Enabling Great Global UX
 
How to choose an open-source project
How to choose an open-source projectHow to choose an open-source project
How to choose an open-source project
 
The Technical Writers Guide to Contributing to Open Source Projects
The Technical Writers Guide to Contributing to Open Source ProjectsThe Technical Writers Guide to Contributing to Open Source Projects
The Technical Writers Guide to Contributing to Open Source Projects
 
Boolean Basics. TAQ #1
Boolean Basics. TAQ #1Boolean Basics. TAQ #1
Boolean Basics. TAQ #1
 
The changing nature of technical content (tekom tcworld 2013 conference)
The changing nature of technical content (tekom tcworld 2013 conference)The changing nature of technical content (tekom tcworld 2013 conference)
The changing nature of technical content (tekom tcworld 2013 conference)
 
Ppd ssf open access mar13
Ppd ssf open access mar13Ppd ssf open access mar13
Ppd ssf open access mar13
 
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
Discovery Here, Discovery There: The Pros and Cons of Local & Remote Hosting ...
 
Uncork Your Licenses!
Uncork Your Licenses! Uncork Your Licenses!
Uncork Your Licenses!
 
Scholarly Communication, Open Access & Repositories
Scholarly Communication, Open Access & RepositoriesScholarly Communication, Open Access & Repositories
Scholarly Communication, Open Access & Repositories
 
Os Oram
Os OramOs Oram
Os Oram
 
Case Study: We're Watching You: How and Why Researchers Study Open Source And...
Case Study: We're Watching You: How and Why Researchers Study Open Source And...Case Study: We're Watching You: How and Why Researchers Study Open Source And...
Case Study: We're Watching You: How and Why Researchers Study Open Source And...
 
Open Education Resources: Content Development
Open Education Resources: Content DevelopmentOpen Education Resources: Content Development
Open Education Resources: Content Development
 
Trikonf 2015 - Community, Studio and the OpenExchange
Trikonf 2015  - Community, Studio and the OpenExchangeTrikonf 2015  - Community, Studio and the OpenExchange
Trikonf 2015 - Community, Studio and the OpenExchange
 
Distributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You CanDistributed Agile Testing: Yes, You Can
Distributed Agile Testing: Yes, You Can
 
Lean Startup and Tech
Lean Startup and TechLean Startup and Tech
Lean Startup and Tech
 
Project managing your postgrad research feb 2013v2
Project managing your postgrad research feb 2013v2Project managing your postgrad research feb 2013v2
Project managing your postgrad research feb 2013v2
 
Engineering culture
Engineering cultureEngineering culture
Engineering culture
 
Patters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team QualityPatters for Team Collaboration: Toward Whole Team Quality
Patters for Team Collaboration: Toward Whole Team Quality
 
Introduction to Open Educational Rersources (OER)
Introduction to Open Educational Rersources (OER)Introduction to Open Educational Rersources (OER)
Introduction to Open Educational Rersources (OER)
 

Recently uploaded

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Aggregage
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 

Recently uploaded (20)

Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Generative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionGenerative AI Deep Dive: Advancing from Proof of Concept to Production
Generative AI Deep Dive: Advancing from Proof of Concept to Production
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 

Taking Documentation to the Next Level in Young Software Projects

  • 1. Taking Documentation to the Next Level in Young Software Projects Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 2. Do you contribute to documentation?    Have you created a web page, blog posting, webinar, video, etc. about a software project? Have you answered a question on a mailing list or forum? Have you asked a question on a mailing list or forum? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 3. Structure of this talk Problems of documentation in young software projects  Some research into the use of mailing lists and discussion forums    Comments about online Erlang documentation Suggestions for developing more and better documentation Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 4. Documentation and the adoption curve Innovators Early Adopters Mainstream success Documentation needed Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media Publishers (best case) Decline Publishers (worst case)
  • 5. Documentation by the innovators Software developers tend to write for other people like themselves  Assume deep background knowledge that can be transferred to their project  Elements of innovator documentation  Architectural justifications  Comparisons to other projects  Quick-starts  Reference material  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 6. Example: Riak documentation  Focuses on architecture  Useful to distinguish Riak from similar projects  But does not connect architecture to use cases to make the information practical Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 7. Early adopters arrive    They possess enough background to use innovators' documentation Consider documentation adequate Promote project and generate enthusiasm that draws other users Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 8. Mainstream users arrive    Confused and alienated by the documentation Desperately search for help, which may or may not arrive Leave project if not engaged and aided Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 9. Research on mailing lists  Used on every project  Easy to quantify results  Every question reflects a failure at documentation Perhaps the feature is undocumented  Perhaps the documentation could not be found  Perhaps the documentation didn't seem relevant to the question  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 10. Questions asked about mailing lists  How many technical questions get answered?  How long does it take to get an answer?  How much noise is on the thread? http://praxagora.com/andyo/professional/mailing_list/mailing_list.html http://www.praxagora.com/andyo/professional/mailing_list_follow_up Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 11. How many questions were answered? Unanswered 7 7 7 5 Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media Answered Fedora Linux 7 Ubuntu Linux 7 Rails 7 Perl 9
  • 12. So, are mailing lists effective? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 13. How is Erlang documentation? Erlang is in a lucky position  It is not a young project  It has been able to develop innumerable training materials over the decades  Several publishers have released professional books  Functional principles have spread throughout the programming field  One must consider the whole information ecosystem  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 14. Comments on erlang.org  Site is run by Ericsson  Potentially backed by lots of resources  But how much attention does the company give it? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 15. Comments on erlang.org  Getting Started Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 16. Assumptions in documentation  Reader understands the math  Reader understands the notion of recursion  Reader has seen factorials used as an example of recursive programming Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 17. Focusing on the code  Reader must be able to pick out “active ingredients” in code Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 18. Focusing on the executable code  Reader must determine when and why each function runs Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 19. Comments on erlang.org  An Erlang Course Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 20. Questions left by course   Why does Erlang offer both tuples and lists? Do tuples and lists work like they do in other languages? When do you use a tuple and when do you use a list?  Other lapses in course: unexplained syntax, isolated examples that don't build on each other, etc.  Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 21. Comments on erlangcentral.org  Site run by the Industrial Erlang User Group  Points to wide range of documents and other sites  Solicits user contributions to wiki Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 22. Criteria for evaluating documentation  Availability—does it exist at all?  Findability—can readers get answers?  Quality—accuracy, readability, relevance, etc. Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 23. Availability—try crowdsourcing     Your developers don't have time to write everything Users have innate sympathy for other users They'll generate content anyway, so you can coordinate it intelligently Give up on “One Ring to Rule Them All” Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 24. Crowdsourcing has a history Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 25. Models for crowdsourcing  Development and study of Talmud  Greek symposium Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 26. Mobilizing users for documentation  Search for bloggers, contributors to forums  External motivations can encourage contributions  Access to developers is a motivation  Don't strive for unity—embrace multivocality  Let people use their own favorite media Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 27. Availability—FLOSS Manuals Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 28. Availability—FLOSS Manuals  Coordinate volunteers around the world  Create conventional books  Foster translations Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 29. FLOSS Manuals—sprints  Bring volunteers together in one space  Usually sponsored by an open source project  Google has hosted many documentation sprints Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 30. Findability—more than a search engine  Add boxes for people to recommend documents  “Read before this document”  “Read after this document”  Long-term goal: spider creates recommended paths through documents Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 31. Quality—What's the ultimate goal?  After reading the document, can the reader accomplish the task she set out to do? Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 32. Quality—A/B testing    Attach a quiz to a document As you rewrite the document, check how well the readers can answer the quiz Remember: a user experience encompasses more than one document Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media
  • 33. Summary    Documentation and training materials are crucial to mainstream adoption of young projects A serious need exists for better documentation Invest special efforts to create documentation, make it findable, and improve its quality Erlang Factory, 23 October 2013 Andy Oram, O'Reilly Media