Chunking Principle

(Alias: clustering)

Chunking is a strategy used to improve memory performance. It helps you present information in a way that makes it easy for your audience to understand and remember. Chunking is based on the assertion that our working memory is easily overloaded by excessive detail. The best way to deliver your message is therefore to organise disparate pieces of information into meaningful units ("chunks").

Research has shown that given a set of unrelated facts to recall, there is a critical change in performance at around 7 items. People can readily handle up to seven items of information; with more than seven they find it difficult.

The concept of chunking was first put forward in the 1950s by Harvard psychologist George A. Miller in a landmark journal article entitled "The Magical Number Seven, Plus or Minus Two". Miller studied the capabilities of our short term memory. For example, he researched how many numbers we can reliably remember a few minutes after we've been told them only once. The answer was: "The Magical Number Seven, Plus or Minus Two".

Miller's concept goes beyond numbers. For example, most of us can remember about seven recently learned chunks of similarly classified data. Keep this in mind when you are presenting information to other people.

Principle

All information should be presented in small digestible units.

Digestible unit defined

A digestible unit of information contains no more than nine separate items of information.

Rationale

Research suggests that human beings can understand and remember no more than seven plus or minus two items of information at a time. This phenomenon is called the "chunking limit". Further, as the complexity of the information increases the chunking limit decreases.

Lessons learned

All information intended for human consumption should be presented in units that do not exceed the chunking limit. In the software industry this principle can be applied to documentation, object, data, functional and dynamic models and synthesis of computer programs.

Benefits

By chunking information the author improves the reader's comprehension and ability to access and retrieve the information.

Applications

No more than nine bullet points on a slide

No more than nine bullet points on a bulleted list - classify the information into smaller logically related groups and introduce a subheading

No more than nine bubbles on a single data flow diagram - consider reducing this further if the functions are complex

No more than nine classes in an object model module - consider creation of more super-classes or a more granular partitioning

No more than nine states in a single state transition diagram - consider creation of super-states.

Bad example

The following bulleted list has too many chunks presented at once:
System concept descriptions provide:

The missions, features, capabilities and functions of the system

Major system components and interactions

Operational environment including manual procedures required

Operational modes such as production, backup and maintenance

Interfaces with other systems

Required performance characteristics such as response time, throughput and data volumes

Quality attributes such as availability, reliability and usability

Other considerations such as security, audit, safety and failure modes in emergency situations

Deployment considerations such as acquisition of business data to support the system including data cleansing and loading

The classes of users that will interact with the system

Requirements for support of the system such as maintenance organization and help desk.

Good example

The chunking principle requires you to classify the items into groups to reduce the information overload as follows:
System concept descriptions provide:
Functional requirements

The missions, features, capabilities and functions of the system

Major system components and interactions

Operational environment including manual procedures required

Operational modes such as production, backup and maintenance

Interfaces with other systems

Non-functional requirements

Required performance characteristics such as response time, throughput and data volumes

Quality attributes such as availability, reliability and usability

Other considerations such as security, audit, safety and failure modes in emergency situations

Deployment and Operational Requirements

Deployment considerations such as acquisition of business data to support the system including data cleansing and loading

The classes of users that will interact with the system

Requirements for support of the system such as maintenance organization and help desk.