TITLE: XP as a Long-Term Learning Strategy
AUTHOR: Eugene Wallingford
DATE: December 02, 2019 11:41 AM
DESC:
-----
BODY:
I recently read Anne-Laure Le Cunff's
Interleaving: Rethink The Way You Learn.
Le Cunff explains why interleaving -- "the process of mixing the
practice of several related skills together" -- is more effective
for long-term learning than blocked practice, in which students
practice a single skill until they learn it and then move on to
the next skill. Interleaving forces the brain to retrieve
different problem-solving strategies more frequently and under
different circumstances, which reinforces neural connections and
improves learning.
To illustrate the distinction between interleaving and blocked
practice, Le Cunff uses this image:
When I saw that diagram, I thought immediately of Extreme Programming.
In particular, I thought of a diagram I once saw that distinguished
XP from more traditional ways of building software in terms of how
quickly it moved through the steps of the development life cycle.
That image looked something like this:
If design is good, why not do it all the time? If testing is good,
why not do it all the time, too?
I don't think that the similarity between these two images is an
accident. It reflects one of XP's most important, if sometimes
underappreciated, benefits: By interleaving short spurts of analysis,
design, implementation, and testing, programmers strengthen their
understanding of both the problem and the evolving code base. They
develop stronger long-term memory associations with all phases of
the project. Improved learning enables them to perform even more
effectively deeper in the project, when these associations are more
firmly in place.
Le Cunff offers a caveat to interleaved learning that also applies
to XP: "Because the way it works benefits mostly our long-term
retention, interleaving doesn't have the best immediate results."
The benefits of XP, including more effective learning, accrue to
teams that persist. Teams new to XP are sometimes frustrated by
the small steps and seemingly narrow focus of their decisions.
With a bit more experience, they become comfortable with the
rhythm of development and see that their code base is more supple.
They also begin to benefit from the more effective learning that
interleaved practice provides.
~~~~
Image 1: This image comes from Le Cunff's article, linked above.
It is by Anne-Laure Le Cunff, copyright Ness Labs 2019, and
reproduced here with permission.
Image 2: I don't remember where I saw the image I hold in my memory,
and a quick search through Extreme Programming Explained
and Google's archives did not turn up anything like it. So I made
my own. It is licensed
CC BY-SA 4.0.
-----