Link to a PDF.
https://drive.google.com/open?id=0B8M9TF3ub5XZZkQ1bnFZTnY3WDREQmlMeGlGTEg3ZjlNMS1r
Discovering Alexander’s Properties of Lively things in Your Code and Your Life
Friday Session led by Rebecca Wirfs-Brock
A quote from Christopher Alexander from his Nature of Order Book that leads us to consider “centers” and the geometric/special properties of things that have “life”.
Christopher Alexander wrote four volumes on the Nature of Order. Volume 1 explains centers and the 15 properties. Volume 2 focuses on processes for creating lively things.
“There is a class of entities which I call centers appearing everywhere in space. … Every part of the world, at every scale, has centers appearing in it.
…Although the system of centers is fluid, and changes from time to time as the configuration and arrangement and conditions all change. Still, at any given moment, these centers form a definite pattern. This pattern of all the centers appearing in a given part of space—constitutes the wholeness of that part of space. It is this structure, which is responsible for its degree of life.” —Christopher Alexander
Another possible source for understanding Alexander is this book, which is a highly personal account into Christopher Alexander’s work by Jenny Quillien who knows Chris.
Read this book if you are interested in getting a deeper perspective into Alexander’s work:
https://www.amazon.com/DelightS-Christopher-AlexanderS-Nature-Order/dp/143031317X
Here are some photos Rebecca took in Kyoto, Japan which illustrate these properties in the world
In our session we saw photos illustrating all these properties and then discussed our code and our life and where we saw some of these properties.
One easy example: the Open Space Circle is a Strong Center that is surrounded by a boundary (the chairs). It is a strong center because it is a void around which calmness exists and our focus is drawn.
We also explored these properties as related to our code and the way we work and our lives.
Some examples: tests are echoes of the behavior of our code
Some of the refactorings we do create are to create appropriate levels of scale (all code in a method is at the same level, with smaller snippets factored into helper methods)
We also talked about roughness of our code…and that a little roughness is good, especially when you are figuring out how to make code work. But our tolerance for roughness may vary between our team members.
The different levels of refactoring Arlo brought up for legacy code might be an example of gradients (and lead us to knowing what to do to create more life in our code, based on its current state).
Possible follow-on activities:
Rebecca might create a flickr channel where photos are posted with property tags, with others who might contribute examples, too.
(Thought I had after this session: How can we do that for code examples? That would be awesome).
A visualization of Alexander’s 15 Properties of Things Which Have Life
Illustration of Alexander’s geometrical properties (Iba and Sakai, 2014)
Twenty-Four Fundamental Behavioral Properties
Below is a visualization of twenty-four fundamental behavioral properties that Takashi Iba and his colleagues have identified from their pattern languages for human interactions/collaborations
A preliminary version of their paper explaining these properties can be found here (it was presented at the 2915 patterns conference):
http://www.hillside.net/plop/2015/papers/steelers/32.pdf
No comments:
Post a Comment