1 of 62

‌‌‌‌ Long-Term Documentation Maintenance: 

 Critically Necessary, 

 Deeply Underappreciated 

Kenzie Woodbridge

2 of 62

I… attend meetings?

Hi! I’m Kenzie (Pronouns: They/them)

3 of 62

I Contribute Substantively In Meetings!

Hi! I’m Kenzie (Pronouns: They/them)

4 of 62

I care about documentation a lot (and talk obsessively about it in meetings)

Hi! I’m Kenzie (Pronouns: They/them)

5 of 62

Work at BCIT. Write and edit Docs.Design and deliver user training. �Support and advocate for users.

Hi! I’m Kenzie (Pronouns: They/them)

6 of 62

7 of 62

The dream

The Problem

Documentation is Great...

… But *ONLY* When It Is Current, Accurate, and Relevant.

And Sometimes, It Isn’t.

8 of 62

Definitions

What is Documentation?

“The Life-Changing Magic of Writing Things Down.”

9 of 62

Definitions

What is Documentation?

Developer Documentation, User Documentation, Code Comments, Knowledge Base, Code Samples, Release Notes, Embedded Help, UI Text, User Manual, Etc., Etc., Etc.

10 of 62

Definitions

Everything We Do To Ensure Continued Accuracy, Relevance, and Currency Of Our Documentation Over Months To Years.

What is Long-Term Maintenance?

11 of 62

The Hard TrutH

Technology Won’t Save Us.

I’m So Sorry.

… But, It Still Comes Down to People.

Technological Solutions Can Help

12 of 62

The Plan

A. Introductions and Definitions

B. Crush Hopes and Dreams

C. What Makes a Maintenance � Strategy “Good”?

D. Strategies

E. Summary and Conclusions

F. Restore Optimism and Hope for Future� (Optional, Time-Permitting)

13 of 62

criteria

a good Docs maintenance strategy:

14 of 62

criteria

a good Docs maintenance strategy:

1. Works for the people using it

15 of 62

criteria

a good Docs maintenance strategy:

1. Works for the people using it

2. ensures docs remain accurate, relevant, � and current over time

16 of 62

criteria

a good Docs maintenance strategy:

1. Works for the people using it

2. ensures docs remain accurate, relevant, � and current over time

3. Is self-sustaining/encourages use

17 of 62

criteria

a good Docs maintenance strategy:

1. Works for the people using it

2. ensures docs remain accurate, relevant, � and current over time

3. Is self-sustaining/encourages use

4. Fits budgets (money, time, attention, � performance, etc.)

18 of 62

criteria

a good Docs maintenance strategy:

1. Works for the people using it

2. ensures docs remain accurate, relevant, � and current over time

3. Is self-sustaining/encourages use

4. Fits budgets (money, time, attention, � performance, etc.)

5. is forward-thinking and can scale as � needed

19 of 62

The Plan, Revisited

D. Strategies

E. Summary and Conclusions

F. Restore Optimism and Hope for Future� (Optional, Time-Permitting)

A. Introductions and Definitions

B. Crush Hopes and Dreams

C. What Makes a Maintenance � Strategy “Good”?

20 of 62

Docs Strategies That support maintenance:

21 of 62

Docs Strategies That support maintenance:

* “Self-Documenting” Code

22 of 62

Source: PC Weenies, 2012

23 of 62

“Self-Documenting” Code?

Well-Commented Code?

Can:

* Make Code Base More Maintainable

* Save Future Developer Time

* Inspire Enthusiasm

But:

* No Holistic View of Docs - Hard to Identify

Gaps, Duplications, Etc.

* Inaccessible to End Users, Limited Reusability

* Not Actually a Thing (Sorry)

* Make Outdated Info Very Unlikely

* Make Outdated Info Unlikely

* Quality Can Be Variable

24 of 62

Source: CommitStrip 2016

25 of 62

Well-Commented Code?

Write Good Code

CAN:

* Make Code Base More Maintainable

* Save Future Developer Time

* Inspire Enthusiasm

* Make Outdated Info Unlikely

BUT:

* Quality Can Be Variable

* No Holistic View of Docs - Hard to Identify

Gaps, Duplications, Etc.

* Inaccessible to End Users, Limited Reusability

26 of 62

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

27 of 62

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

28 of 62

Structured Content �(Dita, etc.)

But:

* Docs Tool is Likely Completely Separate From Code Base

* Daunting For Inexperienced Writers

Can:

* Make Duplication and Inconsistency Unlikely

* Build In Holistic View of Docs

* Make Docs Easier to Update Over Time * Scale Well

29 of 62

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

30 of 62

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

31 of 62

Automatic Documentation �Generation

But:

* Quality is Variable and Gaps are Inevitable

* Generator is One More Thing to Maintain

Can:

* Be Just So Much Fun! (If You Are A Developer)

* Make Docs Easy to Update - Just Generate Again

* Ensure That Code Samples Are Very Likely to Actually Work

32 of 62

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

33 of 62

* Good Records

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

34 of 62

Good Records

35 of 62

Good Records

But:

* Records Are One More Thing to Maintain

* Record-Keeping is The Easiest Thing To Drop

Can:

* Make Holistic View Accessible on Demand

* Help Identify Duplications And Gaps

36 of 62

* Good Records

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

37 of 62

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

38 of 62

Docs Strategist/Team�Integrated With Devs

Docs Environment/Processes�Integrated With Dev Environment/Processes

But:

* Requires $, Organizational Will

Can:

* Maintain Good Holistic Overall View of Docs

* Deal With Gaps, Duplications, Outdated Info

* Support Devs, User Support Team, Users, etc.

39 of 62

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

40 of 62

Small Scale, Budget:

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

41 of 62

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

42 of 62

“Let’s Go Review �All The Docs”

But:� * Doesn’t Scale; Time-Consuming and Onerous if Lots o’ Docs� * More Likely to be Interrupted/Not Finished� * Everyone Loves it… Until They Don’t

Can:� * Provide Good Holistic View of Docs� * Identify Gaps, Duplications, Outdated Content

43 of 62

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

44 of 62

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

45 of 62

User-triggered Review/Update

Can:

* Ensure No Wasted Work

* Prioritize Efforts

* Be Cheap/Free

But:

* Lacks Holistic View of Docs

* Can’t Identify Gaps or Duplications

* Doesn’t Really Scale

46 of 62

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

47 of 62

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

48 of 62

METRICS-DIRECTED REVIEW

Top three resources:

(home page) 9.68

16.86

6.96

+ 3.81

37.25%

49 of 62

METRICS-DIRECTED REVIEW

But:

* Deliberately Creates Gaps * No Holistic View

* Can’t Identify Duplications, etc.

Can:

* Prioritize Efforts by User Need

* Be Efficient * Be Used At Any Scale

50 of 62

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

51 of 62

Larger Scale, Budget, Period of Time, Audience, Team:

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

52 of 62

Larger Scale, Budget, Period of Time, Audience, Team:

* Scheduled Enforced � Review

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

53 of 62

Scheduled Enforced Regular review

Can:

* Make Outdated Docs Rare/Short-Lived�* Eliminate Gaps and Duplications

* Make Workload Manageable Over Time

But:

* Requires Committed Resource/s to � Support and Enforce Review

* Reliant on Good Records

54 of 62

Larger Scale, Budget, Period of Time, Audience, Team:

* Scheduled Enforced � Review

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

55 of 62

Larger Scale, Budget, Period of Time, Audience, Team:

* Scheduled Enforced � Review

* “Grand Unified Theory of

Everything”

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

56 of 62

“Grand Unified Theory

of Docs Maintenance”

“Grand Unified Theory

of EVERYTHING”

To start:

  1. Assign and Workload a Docs Person
  2. Add User Trigger for Review (5 Mins)
  3. Add Analytics/Metrics (30 Mins)
  4. “Let’s Review All The Docs!” (Once)
    1. Assign Owners/Maintainers
    2. Start Keeping Good Records
  5. Start Scheduling/Enforcing Regular Review

57 of 62

“Grand Unified Theory

of Docs Maintenance”

To start:

  • Assign and Workload a Docs Person
  • Add User Trigger for Review (5 Mins)
  • Add Analytics/Metrics (30 Mins)
  • “Let’s Review All The Docs!” (Once)
    • Assign Owners/Maintainers
    • Start Keeping Good Records
  • Start Scheduling/Enforcing Regular Review

Later On:

* Keep on Enforcing Regular Review (Forever)

* Do Metrics-Directed Review (5-30 mins, Repeat)

* Look at Ensuring Good Code and Consider Using � Automatic Documentation Generator

* Consider Structured Content Approach for Docs

- Start with Docs Templates

58 of 62

“Grand Unified Theory

of Docs Maintenance”

But:

* Hey Presto, Complexity!

Can:

* Reinforce Each Strategy and Reward Use

* Backfill Deficiencies of Any One Strategy

* Ensure That Kanban Board Never Empties

59 of 62

Larger Scale, Budget, Period of Time, Audience, Team:

* Scheduled Enforced � Review

* “Grand Unified Theory of

Everything Docs

Maintenance”

Small Scale, Budget:

* “Let’s Go Review All The � Docs”

* User-Triggered Review/� Update

* Metrics-Directed � Review

* Good Records

* Dedicated Docs Strategist/Team � Integrated with Dev Team

Strategies That Support Maintenance:

* “Self-Documenting” Good Code

* Structured Content

* Automatic Doc Generation

60 of 62

The Plan, Revisited

D. Strategies

E. Summary and Conclusions

F. Restore Optimism and Hope for Future� (Optional, Time-Permitting)

A. Introductions and Definitions

B. Crush Hopes and Dreams

C. What Makes a Maintenance � Strategy “Good”?

?

61 of 62

Summary

* Scale and Resources are Important.

* Plenty of Strategies to Choose From.

* Start Now With What and Who You Have,� From Where You Are. Something > Nothing.

* Keep Going. And Good Luck!

62 of 62

Thank you!