Effectively Managing Documentation
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,065
On Slideshare
1,062
From Embeds
3
Number of Embeds
2

Actions

Shares
Downloads
19
Comments
0
Likes
0

Embeds 3

http://www.fashion-networks.com 2
http://www.slideshare.net 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Effectively Managing Documentation for Embedded Linux™ Projects Jeffrey Osier-Mixon
  • 2. Who Am I
    • Technical writer, project manager, developer
    • Open source experience
    • Embedded and bare-metal experience
    • Enterprise software experience
    • Consumer electronics experience
    • http://www.jefro.net
  • 3. Who Are You
    • Technical writers and editors
    • Project managers for open-source projects
    • Project managers for Linux-based proprietary products
    • Engineers stuck with writing tasks
    • Ten-year-old robotics enthusiasts
  • 4. Goals of this Presentation
    • The importance of solid documentation
    • The four critical elements of documentation
    • Meeting expectations of readers
    • The importance of effective project management
    • Emerging fashions
  • 5. The importance of solid documentation
  • 6. What is documentation?
    • “ What you tell other people about your project”
    • I emphasize solid rather than good documentation:
      • Complete and correct
      • Appropriate to audience
      • Answers the reader’s questions
    • Spectrums of complexity, openness, and familiarity in presentation—always based on audience
  • 7. What makes it solid?
    • Primary education & training—concepts
    • Primary descriptions behavior and features—tasks
    • Primary definitive organized resource list—reference
    • Primary line of support—troubleshooting
    • (foreshadowing the four critical elements)
  • 8. Who are the readers?
    • Partners—product manufacturers or others who turn your project into a product to resell
    • Developers—organizations or people who use your project as basis for creating products of their own
    • End-users—people who finally use the end result of the above activities
    • Internal folks—people in your organization
  • 9. The importance of solid documentation
    • From a partner’s point of view, solid documentation:
    • Conveys intent as well as structure
    • Shows a clear product development path
    • Augments their own internal resources (engineering, QA, FAE, marketing, sales)
    • Makes their jobs easier:
      • faster time to market
      • lower costs
      • higher satisfaction with provider
    • Provides a format for change requests
  • 10. The importance of solid documentation
    • From the developer’s perspective, solid documentation:
    • Cements relationship with the provider
      • Establishes professionalism
      • Reduces fear, uncertainty, and doubt
    • Augments their own internal resources (engineering, QA, FAE, marketing, sales)
    • Makes their jobs easier:
      • faster time to market
      • lower costs
      • higher satisfaction with provider
    • Reduces support costs
  • 11. The importance of solid documentation
    • From the end user’s point of view, solid documentation:
    • Educates and involves the reader
    • Shows the product’s features in clear detail—if this can’t be easily done, the product itself is too complex
    • Provides a detailed, organized reference so that all details of the product can be instantly found
    • Provides troubleshooting, the first line of support
  • 12. The importance of solid documentation
    • From the product’s point of view, solid documentation:
    • Adds value to the product
    • Provides a glimmer of hope that education may prevail before trial-and-error sets in
    • Is the essential element to convert a bench project into a customer product –a process called productization
    • Doesn’t allow cleverness go unnoticed
      • Describe and explain the product in ever finer detail, otherwise…
      • Useful features can go unnoticed in favor of the default behavior
  • 13. The importance of solid documentation
    • From the internal folks ’ point of view, good documentation:
    • Provides a resource for the entire customer relationship:
      • Marketing
      • Pre-sales
      • Professional services
      • Support
      • Retention
    • Provides a basis for internal training
    • Provides a valuable record
  • 14. The importance of solid documentation
    • From an open-source point of view:
    • Collaboration and cooperation are key to success
    • Collaboration is made possible by communication
    • From a consumer electronics point of view:
    • A product can not be considered “marketable” without documentation describing it completely and correctly
  • 15. The four critical elements of documentation
  • 16. Four Critical Elements
    • In order by increasing level of detail:
    • Concepts
    • Tasks & Examples
    • Reference
    • Troubleshooting
  • 17. Concepts
    • The Big Picture: 35,000 foot high-resolution view
    • Describe the feature, construct, API, entire platform, etc. with the reader in mind
    • Keep cross-references to a minimum
    • “ Tell” rather than “show”
    • Keep tone professional, not conversational
  • 18. Tasks
    • Step by step examples: 5,000 foot view
    • Take common (and uncommon) tasks one at a time in a logical order, with running examples
    • “ Show” rather than “tell”
    • Feed on previous tasks and examples, but try to make each one self-contained
    • Consistency is key
    • Keep cross-references to a minimum
  • 19. Reference
    • Organized menu showing everything that’s available: street view
    • Describe in as much detail as is appropriate
    • Leave no stone unturned
    • Refer back to previous sections for conceptual descriptions and examples
    • Keep cross-references to a maximum
  • 20. Troubleshooting
    • Answering questions: through the looking glass and looking back—the reader’s view
    • Probably the most important and most-read section, and least often included
    • Content is King, but understanding the reader is the Prime Minister
    • Display a sympathy for the reader and a willingness to show and teach—to be an advocate for the reader
  • 21. The Four-Element Theme
    • Four-element theme is recursive:
    • Good example: MontaVista’s DevRocket doc set
    Cross-refs to related information Cross-refs to reference documents Step by step instructions Introduce topic, task, example Each individual element Cross-refs to related information Cross-refs to reference documents Task and example sections Overview Each chapter Optional trouble-shooting sec. Appendices Index “ How-To” chapters Prefatory chapters Each document FAQs KBs API Guides Glob. Index Search func. Prog. Guides Tutorials Overview & Specs Doc set in general Trouble-shooting Reference Tasks & Examples Concepts
  • 22. Meeting expectations of readers
  • 23. Meeting Reader’s Expectations
    • Who are the readers
    • Partners—product manufacturers or others who turn your project into a product to resell
    • Developers—organizations or people who use your project as basis for creating products of their own
    • End-users—people who finally use the end result of the above activities
    • Internal—people in your organization
  • 24. Meeting Reader’s Expectations
    • What are their expectations? Interview? Survey? Educated guess?
    • Educate yourself with research—become the reader
    • Find out what they need to know conceptually
    • Find out what tasks they need to accomplish and make sure they are adequately described in your document
    • Find out where they can look for more information
  • 25. Who are you, anyway?
    • For this presentation:
      • Technical writers and editors
      • Project managers
      • Engineers stuck with writing tasks
    • Whom have I missed?
  • 26. And what do you want?
    • Goals of this presentation
      • The importance of solid documentation
      • The four critical elements of documentation
      • Meeting expectations of readers
      • The importance of effective project management
      • Emerging fashions
    • What do you want to know that we haven’t covered here?
  • 27. The importance of effective project management
  • 28. Effective Project Management
    • Documentation as a product is fundamentally different from software
      • Didactic rather than declarative
    • Documentation project management is fundamentally similar to software project management
      • Development, production, testing, deployment
    • Documentation is fundamentally cross-functional
  • 29. Effective Project Management
    • Establish resources
      • Define and staff roles rather than jobs
      • Identify tools, SMEs, access to information
    • Plan: begin with the end in mind
      • Get everyone’s input: marketing, sales, support, engineering, professional services, potential end users
    • Aim for synergy with partners, developers, end users
    • Follow up, but don’t hover
  • 30. Questions for managers to ask
    • Nature of the project:
    • Is this an open-source project, or a proprietary project built on open-source components and/or tools
    • Hardware, software, or device containing both?
    • Where and for whom does this project add value?
  • 31. Questions for managers to ask
    • Let the money be your guide, let the customer be your rudder:
    • Who is the customer base? Partners, developers, end-users?
    • In which market niche? How does the market set expectations?
    • Who is the expected audience? Are they different from the customer base?
  • 32. Questions for managers to ask
    • Project management issues:
    • Home grow the docs with available resources, or seek professional writers?
    • If home grown, how to minimize costs and development downtime while maximizing quality?
    • If professional, contract or hire?
  • 33. Emerging Fashions
  • 34. Emerging Fashions
    • What kind of fashions? Why not “trends”?
      • “ Trends” indicates business purpose
    • But you just told me to ignore fashions, didn’t you?
    • Many come from open source community
    • How to use fashions effectively in open-source:
      • Emphasize developer participation & cooperation rather than secrecy and direct competition
      • Follow fashions that increase value, ignore others
      • Remember that content is King
  • 35. Emerging Fashions
    • Political Direction
    • Content Delivery Mechanisms
    • Source Management
    • Stylistic Trends
    • Tools
  • 36. Political Direction—Toward Openness
    • How does the open-source philosophy affect documentation, and CE products in general?
    • Openness
    • Collaboration
    • Cooperation
    • Very confusing for historically proprietary markets such as consumer electronics & telecommunications
  • 37. Content Delivery Mechanisms
    • Open SDKs and developer portals
      • Blogs and RSS feeds
      • Developer forums
      • FAQ and Knowledge Base
    • Wikis and public bug tracking systems
      • Public participation
      • Direct feedback to developers and end-users
    • White papers, articles, technical specifications
  • 38. Source Management
    • Searchable HTML (printable PDF is so early 2k)
    • Structured, open format—XML in its many forms
    • Source-generated docs (doxygen, javadoc)
    • Content management systems
    • Bug tracking
  • 39. Stylistic Trends
    • Minimalism—counteracting the “dummies” trends and showing respect for the reader
    • Conversational tone vs professional tone, both in vogue in different contexts
    • Writing for non-native English speakers, writing for translation and localization
    • Pictures—images, line drawings, screenshots, etc. can convey meaning beyond translation
  • 40. What about tools?
    • Tools don’t matter, content is King
    • Easy to bog down believing one tool is superior
    • Any document can be written with any decent set of writing tools. Pick a good one and get going
    • Avoid “tool fashion” at all costs
    • Saving money on tools is no more effective in software development than it is in house construction
  • 41. What about tools?
    • Tools matter a little bit, because timing is Queen
    • A known tool beats a new one when time is short
    • Writing tools should be a very small percentage of the project’s budget, but time and labor can be a very large percentage with the wrong tools
    • Using proprietary tools in an open-source project can sometimes lead to problems down the road
    • If a tool makes the job harder, uglier, longer, or less future-proof, replace it
  • 42. Solid Documentation Matrix Internal KBs, searchable docs Public & private API docs Source code Internal examples Internal wikis Internal training Internal Folks FAQs, Knowledge Bases Good indices Searchable docs Step-by-step instructions with pictures White papers Training End-Users Blogs, forums, white papers Public API documents on a public portal Programming guides, good samples Conceptual overviews Developers Shared wikis, white papers Private API documents Source code Low-level guides Good samples Specifications Partners Trouble-shooting Reference Tasks & Examples Concepts
  • 43. Review: Goals of this Presentation
    • The importance of solid documentation
    • The four critical elements of documentation
    • Meeting expectations of readers
    • The importance of effective project management
    • Emerging fashions
    • How did we do?
  • 44.
    • Jeffrey Osier-Mixon
    • 707 326 3758
    • [email_address]
    • http:// www.jefro.net