HOME | CONTACT | QUICK JOIN | SITEMAP
About
Join
Members
Conference
Newsletter
Awards
Board

Newsletter

SIGDOC Newsletter
September 2004 :: Volume 5, Number 3


Our members | Looking Ahead | Interesting Items | Features | Job Market

Features

Prototyping an Information Architecture

By Rob Pierce
robertp@us.ibm.com

Prototyping is a commonly known concept and best practice that helps accomplish a successful design, development, and delivery of a product. And for any given product, there is going to be a list of requirements or specifications that describe and define the product. All products are developed as a combination or interplay between prototypes of the product and its requirements.

For example, in the automotive industry, designs are created for an automobile, a list of specifications are identified, and prototypes are created that may or may not need to be modified as a project progresses and before actual production of a product takes place.

One of the known best practices in software development is called "iterative development." This practice implies that the full project development cycle is completed in iterations - that is, in chunks or blocks where portions of the projected complete implementation are developed and tested during each cycle, or portion of the whole project. To not group a project into a series of cycles or iterations where an organization attempts to complete an entire project top down, where all of the implementation is attempted before testing of the product begins, is sometimes known as "waterfall development.”

In our automobile example, each cycle of design, development, creation of a prototype, testing, and reviewing represents one iteration. The goal of developing in iterations is to increase the odds of a successful product delivery.

Rapid development may imply more prototypes and thus more iterations. The speed at which a product is developed may correspond to the speed at which it designs, builds, and tests prototypes. By quickly developing prototypes, an organization can more quickly assess what is desired, what is required, what will not work, and what can or should be discarded, included, or modified. Prototyping also lends itself to collaboration where colleagues and possibly customers or partners can quickly assess the status of a product and offer input before the product is manufactured or delivered.

back to top

The concepts of prototyping and iterative development correctly apply to information development. Using these best practices can help the successful design, implementation, and delivery of technical content deliverables.

For example, a Help system, including its information architecture and the actual content in the Help system, as well as its format and presentation all benefit from iterative development and prototyping.

Technical writers create their content iteratively throughout a development cycle and as the content is being developed, prototypes of the documentation deliverable can be created that are focused on the form and not the content. Form might include platform support, format, search capability, linking or cross-referencing, information hierarchy or architecture. Usability aspects can all be explored, assessed, tested, and refined by iteratively creating prototypes.

The following information delivery requirements leave design questions unanswered:

  1. An installation guide must be delivered
    a) The guide must conform to this
    b) The guide must conform to that
    c) The guide must conform to some other thing
  2. An Administrator's Guide must be delivered
    a) The guide must conform to this
    b) The guide must conform to that
    c) The guide must conform to some other thing
  3. All new features must be included in the Release Notes documentation
  4. The deliverable formats must be html and pdf
  5. The source files must be in xml
  6. All files must include the company copyright in the footer
  7. All files must reference the company legal matter page

The unanswered design are:

  1. A TOC is required for each deliverable
  2. An index is required for each deliverable
  3. There must be context-sensitive help and search capability
  4. No topic should have more than two subtopics or sections
  5. A second window can open on a peer topic but not a child topic nor a subsection
  6. The look and feel to the Help system must conform to company guidelines

back to top

All of these issues can be iteratively developed by creating prototypes of the Help system, assessing the output, testing it, and modifying the structure based on reviewer’s feedback.

We assume that, in the automotive industry, an entire car, a car body design, or even one aspect of a car such as the front seats or dashboard, would be developed iteratively, with prototypes being developed and assessed before a design actually moved on to the assembly line for production and delivery.

Computer technology enables rapid prototyping in any industry. In the automotive industry there are computer-aided design (CAD) tools. In software development, there are modeling tools. In information development, there are authoring tools.

In software development environments, test builds of the product are usually created, which are a form of a prototype. A test build is a snapshot of the current state of the product or application. Test builds enable a product to be tested and reviewed throughout a development cycle. Similarly, information developers can use their authoring tools to generate output at any point in the development cycle to assess the output and its usability, and have technical and user reviews done.

Information developers and architects can also use modeling tools to design the information architecture – both the hierarchy of topics, the use cases, and information flow for a given use case. The information model can be reviewed by all interested parties or stakeholders including customers. The stakeholders may be a cross-functional team that consists of members from Development, Support, Quality engineering, Management, and Marketing. Following iterations of modeling and testing the prototyped output helps ensure a more successful finished product.

back to top

To a large degree, all finished products are the result of implementing concepts and requirements. And to some extent, concepts and requirements embody both ideas and facts on how something should be. Providing prototypes enables a quick assessment on how close to completion a project might be and helps provide the forum for collaborative input that may guide the direction for change.

For example, If you have completed 30% of your technical content in a Help system, you can still generate the output and assess the usability and presentation aspects of your finished product and make modifications as needed. Additionally, you can create stubs – sections, topics, or files with no content yet created but linked by their filenames, headings, or other unique identifiers. In this way, while the content is not yet available, the structure is in place. Stubbing is a common practice in software development for marking out functionality “to be developed” in a later iteration or version.

Prototyping and listing requirements may not always be in harmony. In theory, each iteration is an attempt to have a prototype come closer to meeting all of the requirements. Working iteratively implies trial and error where each cycle of development, assessment, and modification will hopefully produce a more complete prototype or version of the finished product.

By working iteratively, information developers can design and implement both the content and the structure of information that elicits effective reviewer input to help ensure that the goals of the product are met or exceeded.

back to top