Finding without Searching - applied!

Introduction

Confluence is a perfect tool for online team collaboration. It makes it easy for everyone on the team to add information. Due to a lack of structure the team wiki may pretty fast become a place where it gets more and more difficult to add information so that it can be found in a reasonable amount of time. It also gets harder for team members to know where to add new content.

In the last article, Finding without Searching, we examined the different ways of information seeking needs and behaviors. We came to the conclusion that categorizing information is the key to understanding and to support the users of an information system. In the context of a project the users are first and foremost the members of the teams and stakeholders with access to the project wiki.

Let's examine how to apply categories with tools provided by Confluence and projectdoc.

Prerequisites

It may be helpful to know about the following resources prior to continuing reading this article:

  1. Obviously it is recommended to have skimmed through the first article Finding without Searching which introduces some concepts of structuring information for users.
  2. According to projectdoc you may have a glance at projectdoc Document for a short introduction to projectdoc documents and how they differ from native Confluence wiki pages. This article assumes that you know what a document property is.
  3. If you don't know Confluence you may start learning about wikis in Why Wiki Software? Collaborate and Accelerate Productivity.

Tools

In a project team members usually have not much time to organize and reorganize information. So we are looking for some time-savers that support teams on creating project documentation collaboratively. We will not dive into any specifica here, but investigate generic approaches that are helpful for any project or communication need.

We examine the following tools:

  1. Categories
  2. Tags
  3. Subjects
  4. Specific Types
  5. Doctypes in General
  6. Simple Values
  7. Automatic Lists

Knowing these tools for categorizing your information will improve your documentation in aspects of extending and navigating.

Categories

If you add a page to another page in your wiki as a child, you are building a hierarchy and therefore categorize your content. The parent relationship is quite strong. While a parent may have many children, each child has exactly one parent. And although there lies some value in defining your categories mutual exclusive, you should not feel to be bound to. But since each child cannot have more than one parent, you would need to be strict by design.

A Category enables the team to define a classification outside a single page hierarchy. A document may be assigned to multiple categories and therefore may have multiple semantic parents.

The information is attached to a category by selecting it's name as a value for the Categories property.


The category is itself documented by a document. The document automatically lists all documents associated with it. The following example shows the document for the category 'AtlasCamp'. The example shows two documents attached to this category.


Categories define navigation paths through your documentation. It is typically useful to define the major categories that are relevant for your team and project. Creating them adhoc usually yields inferior results.

It is also helpful to define your category hierarchies more wide than deep.

Tags

Confluence allows to tag documents with labels. This is an adhoc approach that is easy to use. Unfortunately labels are usually not documented. So authors may use a single term differently or use different terms for referring to the same thing.

The Tag document type allows to add semantics to a tag. To have a lightweight start to define a controlled vocabulary. You may also use them in the context of folksonomy, but be prepared that this may not work out great without effort.

The advantage of folksonomies isn't that they're better than controlled vocabularies, it's that they're better than nothing, because controlled vocabularies are not extensible to the majority of cases where tagging is needed...

Peter Morville and Louis Rosenfeld. Information Architecture

If you use the Tag List Macro then Confluence Labels are automatically considered tags in the projectdoc world. While labels are automatically visible to readers, tags may be hidden.

Subjects

While a document can be associated with any number of categories and tags, the subject is defined to be exclusive (although there is no technical constraint that enforces this). Think of a subject as a workspace to hold information for a specific project or spike. Subjects may be temporary. If you conduct a spike you may add all insights to a subject. Later in the iteration you have more information on the matter and may apply the collected resources where they belong.

Subjects are typically not hierarchic, but if it works out well for you, you can organize you subjects as you can do for categories, tags, or any other document type.

If you expect to work on a subject with a larger team, consider to create a separate workspace and link from the subject document to that space. This is especially useful to get your team running without having to consider where to place a new piece of information. After the spike is run, the team decides which information will make it to a topic space and which is only an intermediary result to be archived with that space. This helps to decide which information has a stakeholder and is assumed to be valuable on the long run. Every document is a liability that absorbs maintenance costs.

Specific Types

For every document type you may define specific types that are only valid for this type. Think of

Whenever you have specific categorization in mind for a group of document instances, consider to define a new specific type. But every type requires additional work! Be sure to discuss the usefulness of additional types with your team. As often, less is more.

Other than the categorization types discussed so far, specific types are key-value pairs. The name of the type is the key.

If you define a new type, this type typically names the reasons and stakeholders that support this type.

The page with the type instance definition usually also lists the documents associated with this type. Therefore each instance of a type is a natural hub for information tagged with this type.

Types may be semantical or technical. Albeit semantics are usually more helpful than pure technical categorization, due to their combination they can form a powerful tool to categorize content with automatic lists.

Every Doctype is a Type

There is nothing special for a doctype to be a type document. So every doctype supports your organization system. For instance you may

  • use Glossary Items to define the terms of your domain and relate information to them
  • collect information according to Organizations you are partnering or competing with on your project
  • organize publications by their Authors via the Person Doctype.

This approach is very generic. Use what works best and naturally. But you need to discuss and communicate your strategy within your team.

Simple Values

Simple values do, in opposition to all the other mentioned categorization tools, not refer to document that documents the semantics of the value. Examples are the Iteration Property or the amount of story points of a user story.

Simple values are simply a tool to define metadata for a document. A doctype usually defines the properties for all document instances. Authors are free to add any number of a additional properties, but doing so may hurt the principle of similar structured documents. Similar structures support authors to create documents and makes them more easily readable by users.

Automatic Lists

Once you have organized the documents in your space and labelled them, it is easy to render context-sensitive links with automatic lists.

You may define queries to list all documents with a set of properties bound to specific values. These automatic lists - automatic since new documents will be automatically matched and show up in the list - are a helpful tool to define context sensitive navigations.

The following projectdoc macros are rendering automatic lists:

Display List Macro
Lists references to projectdoc documents in a list. List contain names and optional short descriptions.
Display List Template Macro
Lists references to projectdoc documents in a list. List items are defined by templates referencing properties.
Display Table Macro
Lists references to projectdoc documents in a table. Allows to select document properties for columns. Also non-list representations are provided.
Index Card Macro
Renders transcluded content fetched from documents of a result set.
Index Entries Table Macro
Renders a table of index entries.
Transclude Documents Macro
Renders transcluded content fetched from documents of a result set.

The basic principle behind the combination of categorization and automatic list is the open/closed principle: Your documentation is open for extension, but each individual document is closed for modification. If you add a new document you extend your documentation. But you do not need to modify existing documents. This helps you creating and maintaining your documentation as a team.

Conclusion

We had a deep look into tools provided by projectdoc to organize information in Confluence spaces. Unfortunately there no not a single hard rule that can be applied on what tool to use for which categorization. But we gave same rules of thumb and offered some basics to discuss with your team.

Most of the automatic collection of information by type work best for a small to medium amount of documents for that particular type. Once your space gets larger and larger you'll probably add additional queries to establish more partitions for your space. Either you can use hierarchies (parent/child relationships) or add additional space index pages.

Creating a sound and easy-to-use organization structure for your project documentation is not an easy feat. Nor is it a one-shot endeavor. As you learn more about your domain, do not consider it a fault if you need to refactor your documentation. In fact it may be a moment to celebrate since you have worked your way to a new insight.

If you have questions or want to discuss your improvement ideas, please do not hesitate to get in touch!