TITLE: The Small Doses Pattern
AUTHOR: Eugene Wallingford
DATE: April 23, 2008 6:16 PM
Update: Added a known use contributed by Joe Bergin. -- 05/19/08.
Also Known As Frequent Releases
From Pattern Language Graduate Student
You are writing a large document that one or more other people
must read and provide feedback on before it is distributed
The archetype is a master's thesis or doctoral dissertation,
which must be approved by a faculty committee.
You want to give your reviewers the best document possible.
You want them to give you feedback and feel good about
approving the document for external distribution.
You want to publish high-quality work. You would also like
to have your reviewers see only your best work, for a variety
of reasons. First, you respect them and are thankful for
their willingness to help you. Second, they often have the
ability to help you further in the future, in the form of
jobs or recommendations. Good work will impress your reviewers
more than weaker work. A more complete and mature document
is more likely to resemble the final result than a rougher,
In order to produce a document of the highest quality, you
need time -- time to research, write, and revise. This delays
your opportunity to distribute it to your reviewers. It also
delays their opportunity to give you feedback.
Your reviewers are busy. They have their own work to do and
are often volunteering their time to serve you.
Big tasks require a lot of time. If a task takes a lot of
time to do, some people face a psychological barrier to
starting the task.
A big task decomposed into several smaller tasks may take as
much time as the big task, or more, but each task takes a
smaller time. It is often easier to find time in small chunks,
which makes it easier to start on the task in the first place.
The sooner your reviewers are able to read parts of the
document, the sooner they will be able to give you feedback.
This feedback helps you to improve the document, both in the
large (topic, organization) and the small (examples, voice,
illustrations, and so on).
Distribute your document to reviewers periodically over a
relatively drawn out period. Early versions can be complete
parts of the document, or rough versions of the entire document.
In the archetypal thesis, you might give the reviewers one
chapter per week, or you might give a whole thesis in which
each part is in various stages of completeness.
There is certainly a trade-off between the quality of a
document and the timeliness of delivery. Don't worry; this
is just a draft. You are always free to improve and extend
your work. Keep in mind that there is also a trade-off between
the quality of a document and the amount of useful feedback
you are able to incorporate.
There is value in distributing even a very rough or incomplete
document at regular intervals. If reviewers read the relatively
weak version and make suggestions, they will feel valuable.
If they don't read it, they won't know or mind that you have
made changes in later versions. Furthermore, they may feel
wise for not having wasted their time on the earlier draft!
With the widespread availability of networks, we can give
our reviewers real-time access to an evolving document in
the form of an-line repository. In such a case, Small
Doses may take the form of comments recorded as each
change is committed to the repository. It is often better
for your reviewers if you give them periodic descriptions
of changes made to the document, so that they don't have to
wade through minutiae and can focus on discrete meaningful
jumps in the document.
I have seen Small Doses work effectively in a variety
of academic contexts, from graduate students writing theses
to instructors writing lecture notes and textbooks for
students. I've seen it work for master's students and
doctoral students, for text and code and web sites.
says that this pattern is an essential feature of the
Doctor of Professional Studies
program at Pace University. Joe has documented
for succeeding in the DPS program.
(If you know of particularly salient examples of Small
Doses, I'd love to hear them.)
Often times, the value of Small Doses is demonstrated
best in the results of its applying its antipattern,
Avalanche. Suppose you are nearing a landmark date,
say, the deadline for graduation or the end of spring semester,
when faculty will scatter for the summer. You dump a 50-, 70-,
or 100+-page document on your thesis committee. In the busy
time before the magic date, committee members have a difficulty
finding time to read the whole document. Naturally, they put
off reading it. Soon they fall way behind and have a hard time
meeting the deadline -- and they blame you for the predicament,
for unrealistic expectations. Of course, had you given the
committee a chapter at a time for 5 or 6 weeks leading up to
the magic date, some committee members would still have fallen
behind reading it, because they are distracted with their own
work. But then you could blame the them for not getting done!
and other agile software methodologies encourage Short
Iterations and Frequent Releases. Such
frequent releases are the Small Doses of the
software development world. They enable more continuous
feedback and allow the programmers to improve the quality of
the code based on what they learn. The Avalanche
antipattern is the source of many woes in the world of software,
in large part due to the lack of feedback they afford from
users and clients.
I learned the Small Doses pattern from
my Artificial Intelligence II professor at Michigan State
University in 1987. Professor Page was a bright guy and very
good computer scientist, with an often dark sense of humor.
He mentored his students and advisees with sardonic stories
like Small Doses. He was also father to another