Slide 1

Slide 1 text

DOCUMENTATION-DRIVEN DEVELOPMENT DANIELE PROCIDA

Slide 2

Slide 2 text

ALL ABOUT ME DANIELE PROCIDA ▸ Community & documentation manager, Divio ▸ Board member, Django Software Foundation ▸ Django core developer ▸ django CMS developer ▸ [email protected] ▸ EvilDMP (IRC, GitHub, Twitter)

Slide 3

Slide 3 text

DOCUMENTATION- DRIVEN DEVELOPMENT

Slide 4

Slide 4 text

DON’T DOCUMENT YOUR CODE, CODE YOUR DOCUMENTATION DOCUMENTATION-DRIVEN DEVELOPMENT ▸ like test-driven development, puts should before is ▸ establishes a shared, easily-accessible, higher-level overview of the work ▸ provides a shared, easily-accessible metric of success ▸ encourages contribution and engagement of non- programmers ▸ binds programming effort into a coherent narrative

Slide 5

Slide 5 text

LESSONS FROM THE DJANGO PROJECT DOCUMENTATION-DRIVEN DEVELOPMENT

Slide 6

Slide 6 text

DJANGO’S DOCUMENTATION IS EXEMPLARY

Slide 7

Slide 7 text

DJANGO’S DOCUMENTATION IS EXEMPLARY WHAT’S SO GOOD ABOUT IT? ▸ It’s structured properly (tutorials, how-to, reference, topics). ▸ Within that structure, it’s clear and consistent. ▸ It covers just about everything. ▸ It’s held to the highest standards. ▸ It exemplifies important values (clarity, courtesy, friendliness) ▸ Documentation in Django is a process, not just a product.

Slide 8

Slide 8 text

DJANGO’S DOCUMENTATION IS EXEMPLARY WHAT DIFFERENCE DOES THIS MAKE? ▸ It makes Django easier to learn and adopt. ▸ It makes people better Django programmers. ▸ It lowers the support burden. ▸ It makes the development of Django itself easier and faster.

Slide 9

Slide 9 text

DJANGO’S GOOD DOCUMENTATION IS GOOD FOR DJANGO

Slide 10

Slide 10 text

SOFTWARE IS NOT THE ONLY THING THAT DEVELOPS

Slide 11

Slide 11 text

WHAT DOES DOCUMENTATION MEAN FOR THE DEVELOPMENT OF COMMUNITIES AND PROGRAMMERS?

Slide 12

Slide 12 text

DEVELOPING A COMMUNITY

Slide 13

Slide 13 text

DEVELOPING A COMMUNITY DJANGO’S DOCUMENTATION ▸ represents its attitudes ▸ is an implicit contract with its community ▸ is a commitment to standards of communication and information ▸ is treated as an activity, not just as content

Slide 14

Slide 14 text

RTFM Unsympathetic programmers DEVELOPING A COMMUNITY

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

INFORMATION AND DOCUMENTATION AS PRODUCT AND CONTENT

Slide 17

Slide 17 text

INFORMATION AND DOCUMENTATION AS PROCESS AND ACTIVITY

Slide 18

Slide 18 text

DEVELOPING A COMMUNITY INFORMATION AS COMMUNICATIVE TRANSACTIONS BETWEEN AGENTS ▸ clarity ▸ intelligibility ▸ relevance ▸ comprehension ▸ attention to the needs and abilities of the other party ▸ affirmation of mutual understanding

Slide 19

Slide 19 text

GOOD DOCUMENTATION SHOWS RESPECT

Slide 20

Slide 20 text

DJANGO’S DOCUMENTATION INFORMS ITS COMMUNITY

Slide 21

Slide 21 text

DEVELOPING PROGRAMMERS

Slide 22

Slide 22 text

DEVELOPING PROGRAMMERS DOCUMENTATION ▸ represents an easy way in for new contributors ▸ is almost always welcome ▸ raises its author’s of understanding to new levels

Slide 23

Slide 23 text

DJANGO’S DOCUMENTATION STRUCTURE GUIDES NEW CONTRIBUTIONS

Slide 24

Slide 24 text

CONTRIBUTIONS TO DJANGO’S DOCUMENTATION ARE TAKEN SERIOUSLY AND HELD TO THE HIGHEST STANDARDS

Slide 25

Slide 25 text

CONTRIBUTIONS TO DJANGO’S DOCUMENTATION ARE VALUED

Slide 26

Slide 26 text

DOCUMENTING CODE IS THE BEST POSSIBLE WAY TO UNDERSTAND IT

Slide 27

Slide 27 text

DJANGO’S DOCUMENTATION ADVANCES THOSE WHO CONTRIBUTE TO IT

Slide 28

Slide 28 text

DJANGO DOES DOCUMENTATION-DRIVEN DEVELOPMENT

Slide 29

Slide 29 text

WHAT CAN YOUR PROJECT DO?

Slide 30

Slide 30 text

WHAT CAN YOUR PROJECT DO? PRACTICAL STEPS ▸ Structure your documentation correctly (tutorials, how-to, reference, topics). ▸ Make your documentation policies as rigorous as your code policies. ▸ Document your documentation. ▸ Value your documentation contributors. ▸ Value the activity of documentation and information.

Slide 31

Slide 31 text

WHAT CAN YOU OR YOUR ORGANISATION DO? PRACTICAL STEPS ▸ Attend a Write the Docs conference or workshop - writethedocs.org. ▸ Make being a Documentation manager part of someone’s role. ▸ Spend money and time on documentation.

Slide 32

Slide 32 text

DOCUMENTATION IS BECOMING A MOVEMENT

Slide 33

Slide 33 text

ANY QUESTIONS? THANK YOU

Slide 34

Slide 34 text

DOCUMENTATION-DRIVEN DEVELOPMENT - LESSONS FROM THE DJANGO PROJECT DANIELE PROCIDA ▸ [email protected] ▸ EvilDMP on IRC, GitHub, Twitter etc ▸ Visit the django CMS booth