Slashdot Mirror


Single Sourcing: Building Modular Documentation

Scott Abel writes "Kurt Ament has hit the nail on the head! His latest effort, Single Sourcing: Building Modular Documentation is a valuable reference for those of us who seek to save time, effort, and money by implementing a productive method of creating information once and reusing it often." It's not a big book -- just 246 pages. Read on for Abel's brief review. Single Sourcing: Building Modular Documentation author Kurt Ament pages 246 publisher William Andrew Publishing rating 10 reviewer Scott Abel ISBN 0815514913 summary How to build modular documentation you can re-use in different formats for different audiences and purposes Ament covers the issues -- step by step -- that many others only discuss. He lays out a simple roadmap, complete with real world examples that have worked -- or not worked -- for his clients.

In Chapter 1 (About Single Sourcing), he carefully defines "single sourcing" and explains related concepts (reusable content, modular writing, and assembled documents) in ways that are easy to understand and free of techno-jargon. And, he does us all a big favor by addressing the negatives associated with using technology to assemble documents by explaining that it actually takes more creativity to write content that can fit into multiple media, for multiple audiences, than it does to continually rewrite information over and over again each time it is needed.

Chapter 2 (Building Documents) and Chapter 3 (Structuring Content) are of particular value to those seeking to understand the shift in thinking required to master single sourcing. Writers, programmers and managers will all benefit from these chapters. Each chapter is packed full of tips and examples you can begin using today!

Chapter 4 (Configuring Language) explains how to "configure" your writing to support and increase usability while Chapter 5 (Leveraging Technology) touches on issues including conditional text, conventions, localization, translation, variables and more. As are the previous chapters, Chapter 5 is written in clear, concise language and is not a chapter business types should skip. In fact, it's just the opposite. Managers and decision makers need to understand the concepts explained in this chapter because many of the benefits a single source strategy can deliver are made possible by combining good planning with the right technology. And, while this chapter is certainly not about selecting software tools, the author helps his readers understand some of the issues they will need to understand as they begin thinking about their strategy and the types of functionality they'll need to support with the tools they select.

What I like most about "Single Sourcing" is that Ament went straight for the meat of the issues. He doesn't belabor points or confuse the reader by jumping back and forth from subject to subject (as so many poorly written IT-related books do). Instead, he supplies us with a book you can read in an afternoon and use the information contained within the next day at work.

But, be forewarned. You're going to want your sticky notes and your highlighting markers nearby. Chances are you'll be using them a lot!

Other resources:

Scott Abel (abelsp@netdirect.net) is a content management strategist who assists his clients in planning and preparing for content management initiatives. Scott is a frequent presenter at industry and professional service seminars, an instructor at Indiana University Purdue University at Indianapolis Community Learning Network, and vice president of the Society for Technical Communication (STC), Hoosier Chapter. You can purchase Single Sourcing: Building Modular Documentation from bn.com, though new copies are currently out of stock. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

13 of 130 comments (clear)

  1. Creativity? by chmod000 · · Score: 5, Interesting
    And, he does us all a big favor by addressing the negatives associated with using technology to assemble documents by explaining that it actually takes more creativity to write content that can fit into multiple media, for multiple audiences, than it does to continually rewrite information over and over again each time it is needed.


    This would seem to be more of a reason to avoid modular doco. Creativity is not, shall we say, plentiful? at the typical workplace. And often, it isn't wanted when it is available.

    --
    Aptal soru yoktur; sadece merakli aptallar vardir.
  2. Will they read the finer manual? by SourceHammer · · Score: 5, Insightful

    It seems that no matter how much I spend creating documentation, the users of the system don't use it, don't know how to access it, won't use it.

    I say take your money and buy a book on user interface design. The problem is not how well written the docucumentation is; it is the fact that we NEED the documentation.

    --



    Open source development is my way of competing with the low-cost programmers in India...
  3. Re:Use Eiffel by BlueGecko · · Score: 3, Funny
    Because of design by contract the code is pretty much self documenting.
    Well, so's COBOL, but that's hardly a strong argument to use it.

    (Calm down, it's meant in gest. :)
  4. use XML by stonebeat.org · · Score: 4, Interesting

    use XML. provides re-use of content. no big deal. and now there are collaborative XML editors, which allows authors to work on various sections of the same document.

    1. Re:use XML by Ozan · · Score: 3, Informative

      And there is already a nice DTD for documentation called DocBook.

      There are also various XSL and DSSSL stylesheets to convert the docbook xml into html, xsl-fo, pdf, latex etc.

      Best thing with XML is, you can pack all of the documentation in one single place and create various documentations according to each audience (user, professional user, developer, etc) and language. There is no need to write duplicate informations, you only have to add certain attributes to the xml tags.

  5. Cheesy by Webmonger · · Score: 5, Funny

    In a similar vein, Scott Abel has demonstrated how to use the same review for multiple audiences.

    Why not just submit a link, Scott? Sheesh.

  6. Maven does some neat stuff with documentation.... by tcopeland · · Score: 3, Informative

    ....using Maven's xdocs, you can generate both HTML and PDF docs from the same XML source file.

    We use this on GForge and it works pretty well....

    Tom

  7. 246 pages is not big? by Junks+Jerzey · · Score: 3, Interesting

    I guess we've all gotten used to artificially inflated monster technical books, where it's expected that Learn Java 2 in 24 Hours needs to be 950 pages or it's crap.

    Here's a clue: Those big books are hugely padded by:

    1. Large margins so there can be a little note every few pages.
    2. Repeated program listings, also with huge margins.
    3. A hundred or more pages of fluffy introductory chapters ("What is a programming language?").
    4. Massive redundancy.

    Personally I'm waiting for the return of slim, readable books.

  8. Documentation professionals are creative by HWheel · · Score: 3, Insightful

    I think that a lot of this information is aimed at documentation professionals (technical writers, content strategists, knowledge management system workers, there are a lot of titles) who are very creative and love to work with these systems, rather than analyst/developers who view documentation as an evil waste of time.

    From personal experience, I know that it's not that difficult to mark text as "internal use only" so the developers can quickly find the names and values of parameters and "end user only" so that users who actually use the compiled system can see what the different options are.

    I think that the issue is less of "creativity" than it is of thinking through the issues and handling them consistently.

  9. Re:Wonderful review, only one question by HWheel · · Score: 3, Informative

    The Single-Source SIG (special interest group) of STC (Society for Technical Communication) defined single-sourcing as "using a single document source to generate multiple types of document outputs; workflows for creating multiple outputs from a document or database source."

    For more information:
    http://www.stcsig.org/ss/index.htm

  10. Kudos by jeepliberty · · Score: 3, Insightful
    Between small business environments and downsizing, engineers are now put in a position that requires them to document their software as well as providing operational and installation documentation.

    I remember providing input to a tech writer, then red-lining the first draft to the point that rewriting the entire document seemed necessary. While I would rather write PHP or scripts, there is no one who better understands code than its author.

    Today's on line documentation provides a variety of methods for an engineer to provide documentation. Such examples are:

    How to's and Mini How To's

    FAQ

    Web page with screen shots

    Forums and Blogs

    That being said, I am reminded of a conversation with Clyde, a retired avid sailor, who talked about stories in "SAIL" magazine. "First person stories written by sailors usually suck!" he said. "Give me an article written by a professional writer. They're easier to read."

    It's easier to write documentation than to try to tell someone what to write. ....Now if only I can break away from coding long enough to read this document on creating documentation.

  11. turning point? by voixderaison · · Score: 5, Interesting

    This review was stimulating, and filled me briefly with hope, then I crashed after pondering a bit. I'd like to think that we could look back on this someday as a turning point of some sort, perhaps the foundation of a new engineering discipline of documentation. Of course, lots of people thought (and probably still do) that SGML was the foundation and now we're building walls. And maybe it was, but SGML (and the derivatives HTML, XML, and future arbitrary useful DTD to come) suffer from some problems - external and cultural mostly. The technologies are somewhat complex, and there is a general lack of understanding about how to apply the technology to advantage.

    The core concept of arbitrary display and formatting of structured text, which appears to underly this new work, remains alien to most of the people making business decisions and authoring documents. When you combine a vacuum style lack of good tools to author documentation in the target technology with a flood of readily available "old paradigm" authoring tools for making stuff look pretty (word processors and desktop publishing stuff) you get the explosion in documents that was seen in the 90's. You also get the tremendous resource drain as these docs are updated and reformatted for subsequent generations of word processor formats that continue to mix content and presentation. We also see a direct parallel problem with the amazing fanatical market success of programming environments where logic and presentation are mixed (MS.asp, PHP, etc.) over object oriented tools. Far, far more dynamic web sites are built "the old fashioned way" despite the availability of decent, even "better" authoring tools that exist in the object oriented world.

    Unfortunately most organizations that produce and use documentation do so as an aside at best, or an afterthought at worst. Organizations typically don't value documentation highly enough to create job descriptions for skilled technical writers. Corporations with IT staffs of hundreds of people - managers, systems administrators, help desk workers, developers -- often don't have a single Technical Writer.

    Take the help desk as a primary example. Just about every big company produces volumes of documentation for use by the help desk workers. Sadly, much of that documentation is created after the fact, by desperately struggling front line help desk workers themselves, who randomly try to assemble facts and myth about problem resolution. The folk creating the systems are generally not given sufficient time to develop and maintain documentation, often barely enough resources to develop the system in the first place, before moving to the next task. It's rare for companies even to realize the blatant "in your face" opportunities to save money by investing in better documentation.

    If we can't get developers to understand this basic concept, how can we get front line help-desk workers who are writing documentation for themselves out of desperation and under the clock of "you still gotta answer twenty calls an hour and resolve 19 of the problems before hanging up"? Even better, how do we get a bureaucratic organization to invest in skilled technical writers?

    It seems to me that to get to this point we will need to create authoring tools that are so powerful and easy to use that the authors of documentation don't need to think about the separation of content and formatting -- it "just happens" in the background. Anybody who writes such a tool gets to spend the rest of their life retired on a beach, earning twenty percent and drinking rum from hollowed out pineapple shells with little paper umbrellas in them.

    --
    Things should be made as simple as possible, but not any simpler. -- Albert Einstein
  12. Re:Use Eiffel by joto · · Score: 3, Informative
    Use Eiffel

    Because of design by contract the code is pretty much self documenting.

    Yeah, right!

    Design by contract won't make your code any more self-documenting than design by committee.

    If you want self-documenting code, write something ridicoulusly simple. If you are doing something hard, you need explanation beside the code (unless you assume that everyone reading the code will be a domain expert, but in that case I wouldn't call it self-documenting).

    Eiffel isn't even designed to be self-documenting. It is designed to facilitate run-time (and in some very few cases: static) checking of program invariants, preconditions and postconditions. This will help for correctness, but not much for documentation. In many cases, the code will be easier to understand without them. (Not that I would recommend it, I do like DbC, but only as means to correctness, not as documentation).

    Sure, writing down assertions will in some cases help you in how to use an interface, or help you with other underlying assumptions in the code, making it easier to change something without breaking it. But it will never tell you anything about what the code is supposed to do, why it's supposed to do that, and why this way has been chosen to do it.

    Now, go re-read your Eiffel book, and come back evangelizing it when you understand it's purpose!