SIGDOC Newsletter
September 2004
:: Volume 5, Number 3
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:
- 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
- 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
- All new features must be included in the Release Notes documentation
- The deliverable formats must be html and pdf
- The source files must be in xml
- All files must include the company copyright in the footer
- All files must reference the company legal matter page
The unanswered design are:
- A TOC is required for each deliverable
- An index is required for each deliverable
- There must be context-sensitive
help and search capability
- No topic should have more than two subtopics
or sections
- A second window can open on a peer topic but not a
child topic nor a subsection
- 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 |