Documentation for developers: A gift to your future self

A presentation at Florida DrupalCamp in February 2024 in Orlando, FL, USA by Kurt Trowbridge

Slide 1

Slide 1

Documentation for developers A gift to your future self Kurt Trowbridge Front-End Development Team Leader Gravity Works Design + Development

Slide 2

Slide 2

Learning curve for popular CMS platforms 2

Slide 3

Slide 3

Content types · Nodes · Fields · Taxonomy vocabularies Display settings · Templates · Image styles · User roles Permissions · Views · Blocks · Modules · Plugins · Hooks Workflows · Composer · Drush · Caching 3

Slide 4

Slide 4

Content types · Nodes · Fields · Taxonomy vocabularies Display settings · Templates · Image styles · User roles Permissions · Views · Blocks · Modules · Plugins · Hooks Workflows · Composer · Drush · Caching · Semantic HTML Responsive design · CSS · Preprocessors · Modern JavaScript Atomic Design · Accessibility · Performance · Typography Build tools · DNS · Server management · Security · Git · CI/CD 3

Slide 5

Slide 5

Content types · Nodes · Fields · Taxonomy vocabularies Display settings · Templates · Image styles · User roles Permissions · Views · Blocks · Modules · Plugins · Hooks Workflows · Composer · Drush · Caching · Semantic HTML Responsive design · CSS · Preprocessors · Modern JavaScript Atomic Design · Accessibility · Performance · Typography Build tools · DNS · Server management · Security · Git · CI/CD Task management · Meetings · Collaboration · Deadlines Customer service · Understanding requirements · Email Scope creep · Professional development · Work/life balance… 3

Slide 6

Slide 6

Content types · Nodes · Fields · Taxonomy vocabularies Display settings · Templates · Image styles · User roles Permissions · Views · Blocks · Modules · Plugins · Hooks Workflows · Composer · Drush · Caching · Semantic HTML Responsive design · CSS · Preprocessors · Modern JavaScript Atomic Design · Accessibility · Performance · Typography Build tools · DNS · Server management · Security · Git · CI/CD Task management · Meetings · Collaboration · Deadlines Customer service · Understanding requirements · Email Scope creep · Professional development · Work/life balance… 3

Slide 7

Slide 7

There’s a lot to learn.

Slide 8

Slide 8

5

Slide 9

Slide 9

6

Slide 10

Slide 10

Slide 11

Slide 11

Documentation benefits… 01 02 03 You, now Your team You, in the future 8

Slide 12

Slide 12

Preparing & planning Managing the messy middle Unlocking future potential Effective > efficient 9

Slide 13

Slide 13

5174812218 10

Slide 14

Slide 14

Your memory is an unreliable narrator. 11

Slide 15

Slide 15

Component planning Brad Frost 12

Slide 16

Slide 16

Documenting your content model Drupal Spec Tool 13

Slide 17

Slide 17

Development task planning (1/2) 5 Make your title actionable—start with a ver+ 5 Identify a problem, and make the title the solutio# 5 Include descriptions when context is neede 5 Don’t be afraid to rename tasks or update descriptions later 14

Slide 18

Slide 18

Development task planning (2/2) 15

Slide 19

Slide 19

Documentation is the act of thinking and then putting those thoughts on paper. 16

Slide 20

Slide 20

Preparing & planning Managing the messy middle Unlocking future potential Effective > efficient 17

Slide 21

Slide 21

Miller’s Law The immediate memory span of people is limited to approximately seven items, plus or minus two. 18

Slide 22

Slide 22

?????????? 19

Slide 23

Slide 23

(517) 481-2218 20

Slide 24

Slide 24

Benefits of chunking / Breaks down large tasks into smaller, more manageable piece / Makes it easier to make progress between meetings and in spare tim” / Reduces cognitive overhea / Enables delegation and faster feedback Eugenia Hauss Chunking also prevents this. 21

Slide 25

Slide 25

Document where you’re going to see it. 22

Slide 26

Slide 26

Documenting code with comments 0 Good documentation is selfdescriptive, but include business logic where neede0 Use chunking to think through the code before you write i# 0 Leave URLs as breadcrumbs to inspiration or earlier thinking 23

Slide 27

Slide 27

Architecture Decision Records (ADRs) 2 Document “invisible standards” that are expected, but not yet written dow2 Include context about why the decision was mad” 2 Should exist for the long term, but can change as technology evolves 24

Slide 28

Slide 28

Taking notes in meetings , Yes, developers should take notes too , Note important information, decisions, and next steps—don’t transcribe the full conversatio# , Use document templates for easy prep Emojis help highlight next steps during a meeting. 25

Slide 29

Slide 29

Checking out ( Before you wrap up on a task and switch to something else, take note of where you’re leaving o ( Helps project managers stay in the loo ( Reduces effort needed to spin back up next time 26

Slide 30

Slide 30

Retrieving information from memory storage and bringing it into the focus of awareness, comparing information, evaluating, deciding—all make demands on the mind’s limited processing capacity. —Mihaly Csikszentmihalyi, Flow 27

Slide 31

Slide 31

Preparing & planning Managing the messy middle Unlocking future potential Effective > efficient 28

Slide 32

Slide 32

Using docs to power AI tools NotebookLM (Google) 29 Notion AI

Slide 33

Slide 33

Speech-to-text AI apps can help with meeting transcriptions, so you can focus on documenting decisions, business rules, and next steps. 30

Slide 34

Slide 34

Documentation is a team sport. 31

Slide 35

Slide 35

Collective knowledge strategies 01 02 03 04 Write as you learn Rubber-duck Work in public Answer questions with a link 32

Slide 36

Slide 36

Collective knowledge provides resilience against: 01 02 03 Vacations Sick days Employee turnover 33

Slide 37

Slide 37

Preparing & planning Managing the messy middle Unlocking future potential Effective > efficient 34

Slide 38

Slide 38

“Year of Efficiency”

Slide 39

Slide 39

Efficient teams: Effective teams: 6 Adopt the mantra “move fast and break things1 6 Build with purpose and intentioB 6 Value urgency over relevanc 6 Value relevancy over urgenc 6 Work in unstable environments prone to errors and mistakes 6 Make time to build processes and practices that establish stability 36

Slide 40

Slide 40

Being effective means getting good at the thinking and problem-solving that AI can’t do for you.
 Documentation helps speed up that process. 37

Slide 41

Slide 41

How to make documentation happen 01 Build it into your culture 02 Do it little by little 03 Make it everyone’s responsibility 38 04 Tend to your garden

Slide 42

Slide 42

Make documentation part of your definition of “done.” 39

Slide 43

Slide 43

Thank you! Slides, notes, and resources: KurtTrowbridge.com