How (not) to document

79
// // Dear maintainer: // // Once you are done trying to 'optimize' this routine, // and have realized what a terrible mistake that was, // please increment the following counter as a warning // to the next guy: // // total_hours_wasted_here = 42 //

Transcript of How (not) to document

Page 1: How (not) to document

// // Dear maintainer: // // Once you are done trying to 'optimize' this routine, // and have realized what a terrible mistake that was, // please increment the following counter as a warning // to the next guy: // // total_hours_wasted_here = 42 //

Page 2: How (not) to document

Janos Pasztor

Development Lead @

Sole Proprietor @

Who am I?

Page 3: How (not) to document

DistribLoad subscription management system

IxoPay payment services

IxoAds marketing and advertisements

Customer support services

We are hiring: ixolit.com/careers

Work with us!

Page 4: How (not) to document

IT consulting

Linux-based web stacks

Performance problems

Infrastructure cleanup

Open source projects

Educational videos

That’s

me!

Page 5: How (not) to document

Where?

What?

Who?How?

When?

DocumentationDocumentationWhy?

Page 6: How (not) to document

When?

Page 7: How (not) to document

When?

Stop feeling badabout it!

Page 8: How (not) to document

Business value!

When?

Page 9: How (not) to document

Why?

Page 10: How (not) to document

Why?

Preserve information

Page 11: How (not) to document

Why?

Preserve informationfor others

Page 12: How (not) to document

Why?

Preserve informationfor ourselves

Page 13: How (not) to document

Why?

Prepare for meetings

Page 14: How (not) to document

Why?

Preserve decisions

Page 15: How (not) to document

Why?

Teach the new employee

Page 16: How (not) to document

Why?

Teach the customer

Page 17: How (not) to document

How?

Page 18: How (not) to document

How?

Page 19: How (not) to document

How?

Page 20: How (not) to document

How?

Make it sexy!

Page 21: How (not) to document

How? Focus attention

Page 22: How (not) to document

How? Focus attention

Page 23: How (not) to document

How? Fill the frame

Page 24: How (not) to document

How? Typography

getbootstrap.com

Page 25: How (not) to document

How? Example

Page 26: How (not) to document

How?

Structure your content!

Page 27: How (not) to document

How? Structure

Page 28: How (not) to document

How? Structure

Page 29: How (not) to document

How?

Watch your language!

Page 30: How (not) to document

How? Language

Page 31: How (not) to document

How?

“This class show upthe bill”

Language

Page 32: How (not) to document

How?

“This class createsthe invoice”

Language

Page 33: How (not) to document

Where?

Page 34: How (not) to document

Where?

Wiki software

Page 35: How (not) to document

“…a Wiki is where gooddocumentation goes to die.”

— Jacob Kaplan-MossPyCon US 2014

Where? Wiki software

Page 36: How (not) to document

Where? Wiki software

Page 37: How (not) to document

Where? Wiki software

Page 38: How (not) to document

Where? Wiki software

Page 39: How (not) to document

Where? Wiki software

Page 40: How (not) to document

Where? Wiki software

Page 41: How (not) to document

Where? Wiki software

Dokuwiki

Page 42: How (not) to document

Where? Wiki software

Page 43: How (not) to document

Where? Wiki software

Page 44: How (not) to document

Where? Wiki software

Page 45: How (not) to document

Where?

Documentation generators

Page 46: How (not) to document

Where? Generators

Page 47: How (not) to document

Where? Generators

Page 48: How (not) to document

Where?

Interactive documentation

Page 49: How (not) to document

Where? Interactive

Page 50: How (not) to document

Where? Interactive

Page 51: How (not) to document

Where? Interactive

Page 52: How (not) to document

Where? Interactive

Page 53: How (not) to document

Where? Interactive

Page 54: How (not) to document

Where? Interactive

Twilio

Page 55: How (not) to document

What?

Page 56: How (not) to document

What?

Business decisions

Page 57: How (not) to document

What?

What happened when?

Business decisions

Page 58: How (not) to document

What?

January 1, 2012: VAT changes to 27%

Business decisions

Page 59: How (not) to document

What?

Date X:We change our

signup flow

Business decisions

Page 60: How (not) to document

What? Business decisions

Page 61: How (not) to document

What?

Projects

Page 62: How (not) to document

What?

Project overview

Projects

Page 63: How (not) to document

What? Projects

Page 64: How (not) to document

What? Projects

Page 65: How (not) to document

What?

Non-trivialbusiness cases

Projects

Page 66: How (not) to document

What?

Big modules

Projects

Page 67: How (not) to document

What?

Class/code docs

Projects

Page 68: How (not) to document

What?

Provide examples!

Projects

Page 69: How (not) to document

What?

Document the WHYnot the WHAT!

Projects

Page 70: How (not) to document

Who?

Page 71: How (not) to document

Who?

Everyone! (DUH)

Page 72: How (not) to document

Who?

Dream on…

Page 73: How (not) to document

Who?

The new guy?girl

Page 74: How (not) to document

Who?

The person whoknows the most!

Page 75: How (not) to document

Who?

Copy-paste

Page 76: How (not) to document

Who?

Keeping itup to date

Page 77: How (not) to document

Summary

Page 78: How (not) to document

Summary

1. Business-critical first2. Easy to edit3. Good structures4. Up to date

Page 79: How (not) to document

Thank you

Thank you for listening!