Wabi sabi - the japanese art of impermanence

is an excellent book by Andrew Juniper (isbn 0-8048-3482-2). As usual I'm going to quote from a few pages:
As the silence between notes is vital, so the space provided in art is just as expressive, and wabi sabi has used brevity to magnify the intensity of the expression.
There is an expression in Japanese that says that someone who makes things of poor quality is in fact worse than a thief, because he doesn't make things that will last or provide true satisfaction. A thief at least redistributes the wealth of society.
Zen monks believe that our reason is the greatest source of misunderstanding because it actually hinders a student's deeper comprehension of the world that exists beyond words. Humans are slaves to words and the reason they produce.
Translation is treason (part of an Italian proverb)
Unlike many [ceramics] in the West they rarely have handles, as the tactile nature of the pots makes handling them a part of the pleasure.
The minimal expression used in chabana flower arranging is again reinforcing the idea that less is indeed more and in some ways the work of an artist is as much in what they refrain from adding as what they actually put in.
Whereas modern design often uses inorganic materials to defy the natural aging effects of time, wabi sabi embraces them and seeks to use this transformation as an intergral part of the whole.
More than any learned ideas, it was the effort and attitude of the gardener that would decide the outcome of the garden.
The attitude does not come from the art.
Attach your lives to a goal not people or things [Albert Einstein]

The art of war

is an excellent book by Sun Tzu (isbn 0-87773-537-9). As usual I'm going to quote from a few pages:
Victory in war is not repetitious, but adapts its form endlessly.
Foreknowledge cannot be gotten from ghosts and spirits, cannot be had by analogy, cannot be found by calculation. it must be obtained from people, people who know the conditions of the enemy.
The condition of a military force is that its essential factor is speed.
When they give out numerous rewards, it means they are at an impasse; when they give out numerous punishments, it means they are worn out.
Let diplomatic relations be established at borders.
Preparedness everywhere means lack everywhere.
Good warriors seek effectiveness in battle from the force of momentum, not from the individual.
Great wisdom is not obvious, great merit is not advertised. When trouble is solved before it forms, who calls that clever? When there is victory without battle, who talks of bravery?
Making yourself invincible means knowing yourself.
...is like going to announce to your superiors that you want to put out a fire - by the time you get back with an order, there is nothing left but ashes.
It takes twenty pounds of provisions to deliver one pound of provisions to a distant army.

The tao of business

is an excellent book by Ansgar Gerstner (isbn 978-988-18154-7-7). As usual I'm going to quote from a few pages:
Taoism emphasizes compassion, spontaneity, and respect for nature.
Taoism believes in a kind of self-organizing system, that there are patterns to the world and its affairs, and that it is best to let these patterns operate without interference.
Wuwei is closely linked with this idea. In order to be able to apply wuwei - to "act by not acting" - you need good intuition and instinct and be excellent at sensing what is going on.
You have to be careful to recognize the limitations of your knowledge and not interfere with processes in the false belief that you completely understand a situation and can predict precisely the outcome of a certain action.
The point of karaoke is not singing, which is almost always awful. It is getting to know your partners.
The focus in the Daodejing is not "adding", it is on "reducing".
It is often the fear of losing control that makes people add issues and complexities to a situation.
Keeping things simple is an art. And, as with any art, simplicity needs to be cultivated.
You will not be dealing with the abstract notion of a business, but with real individuals.
What makes water "invincible" is that nothing can change its inherent quality of utmost adaptability and agility.
An effective way to maintain flexibility and with it creativity, is to foster a learning culture in your business.
It is important in all kinds of contexts not to hold on to things too tightly.

The dance of life

is an excellent book by Edward T. Hall (isbn 0-385-19248-7). As usual I'm going to quote from a few pages:
All societies depend for the stability on feedback from the people. Depersonalization reduces feedback to a minimum, contributing to instability and lowering the overall level of congruence in the society.
Some things are not easily bent to simple linear description. Time is one of them.
Symbols should always be viewed as tools and consciously distinguished from the events which they symbolize.
Without environmental change, complex forms of life cannot evolve.
It is clear that our emphasis on saving time, which goes with quantifying time and treating it as a noun, would also lead to a high valuation of speed, which is demonstrated in much of our behaviour.
Nothing can grow in a healthy way unless it is in a time-controlled, uniform manner; for example, it is the unregulated (out-of-phase) growth of cells in the body that characterizes cancer.
"We have everything, but we don't have each other" [Takeo Matsuda]
The Pueblos believe that thoughts have a life of their own and that these live thoughts are an integral part of any man-made structure and will remain with that structure forever.
The more information that is shared... the higher the context.
As context is lost, information must be added if meaning is to remain constant.

If you're not catching...

I love coarse fishing. Float fishing on rivers in particular. Contrary to popular opinion we coarse fishers (and there are an awful lot of us - it's the most popular pastime in the UK by a long way) do not, repeat not, kill the fish we catch. We treat them with care and respect and return them to the water a little bit startled perhaps, but also a little bit fatter. Lots of us follow Uncle Bob's boy scout rule - we collect litter from around the spot where we're fishing. In fact, in a fishing competition you'll be disqualified if there's litter in your fishing spot - regardless of "whose litter it is".

I don't think you'll be too surprised to read that part of the pleasure in coarse fishing is catching fish. And yet, if you actually watch someone fishing, you're quite likely to see them repeating the following actions over and over and over again. For hours.
  • cast out (to the same spot as last time)
  • don't get a bite (the same as they didn't last time)
  • reel the float back in
Contrary to popular opinion, the best fishermen are not patient. If a good fisherman is not catching they don't keep on doing the same thing. They know that if they keep doing the same thing they'll almost certainly keep getting the same outcome. So they change something. They might try:
  • changing the depth; a bit deeper or a bit shallower - fish like to stay where they like to stay
  • changing the cast; a bit closer in or a bit further out - fish like to stay where they like to stay
  • changing the bait - fish have preferences just like people
  • changing the bait - a big bait won't even fit inside a small fish's mouth. And bigger fish are often attracted by smaller fish feeding
  • changing the weights - to change the way the bait behaves in the current
  • changing the line - the thinner the line the less chance the fish will see it, and the more naturally the bait will behave in the current. I once set up my rod with lines of varying strengths and tied the end of the line to the bike shed. It is utterly astonishing how hard you have to pull to snap line with a diameter of 0.10mm. You won't believe it unless you try it for yourself.
  • changing the hook - the smaller the hook the less chance the fish will see it, and the less it will weigh, so the more naturally the bait will behave in the current. I regularly use a size 22 hook. It's about half the size of my little fingernail. Again it is far far stronger than you'd imagine. There is even a trick to make a maggot swallow air to counteract the weight of the hook!
  • changing where you hook - throw a maggot into the water and watch carefully how it sinks. It always sinks lying horizontally. If you hook the maggot in the middle you can mimic this.
  • loose feed - if you're fishing with maggots then throw a dozen loose maggots at the float every cast. Every cast. Every single cast. If you can't throw them far enough then buy a fishing catapult. The best way to catch a fish on a maggot is to catch a fish that's already eaten lots of maggots. This is the most important rule.
There's definitely a skill in knowing what to change, but you've got to walk before you can run. The most important thing is to change something.

If you're part of a team painfully producing poor quality software then I humbly suggest you consider changing something. If you don't it's a fair bet you'll continue not catching.

Notes on the synthesis of form

is an excellent book by Christopher Alexander (isbn 0-674-62751-2). As usual I'm going to quote from a few pages:
Poincaré once said: "Sociologists discuss sociological methods; physicists discuss physics." I love this statement. Study of method by itself is always barren.
Culture is changing faster than it has ever changed before...what once took many generations of gradual development is now attempted by a single individual.
Modern mathematics deals at least as much with questions of order and relation as with questions of magnitude.
If the world were totally regular and homogeneous, there would be forces, and no forms. Everything would be amorphous. But an irregular world tries to compensate for its own irregularities by fitting itself to them, and thereby takes on form. D'Arcy Thompson has even called form the "diagram of forces" for the irregularities.
No complex adaptive system will succeed in adapting in a reasonable amount of time unless the adaptation can proceed subsystem by subsystem, each subsystem relatively independent of the others.
We define a concept in extension when we specify all the elements of the class it refers to. And we define a concept in intension when we try to explain its meaning analytically in terms of other concepts at the same level.
Design is by nature imaginative and intuitive.
Every form can be described in two ways: from the point of view of what it is, and from the point of view of what it does.
It is the culmination of the designer's task to make every diagram both a pattern and a unit. As a unit it will fit into the hierarchy of larger components that fall above it; as a pattern it will specify the hierarchy of smaller components which it itself is made of.
What is it about the internal structure of any problem that makes it hard to solve? In nine cases out of ten, we cannot solve it, because we cannot grasp it.

Quality Software Management
Vol 3. Congruent Action

is an excellent book by Jerry Weinberg (isbn 0-932633-28-5). As usual I'm going to quote from a few pages:
Distrust any enterprise that requires new clothes. [Henry David Thoreau]
Incongruence is stereotyped behavior because it is not appropriate for the particular situation.
Busy management is bad management.
One of the functions of a leader is to become a focus for hostility.
Culture makes language, then language makes culture.
Breaking up economic teams is economic nonsense. Why is it so common?
In all Steering organizations the team is the fundamental unit of production.
In Steering organizations, managers rise above the level of product management and begin concentrating on process management.
We connect through our sameness and grow through our differences. [Virginia Satir]
Intellect is great, but character is more important.
Social skills influence more and more the effectiveness of technical skills.
We blame out of fear, and the blame creates a situation that justifies the fear.

Cleaning this brass is a waste of time...

I did a weeks UML/Agile training/consultancy in Huddersfield recently. Relaxing in a pub one evening, I noticed two of the staff cleaning the brass drip-trays. Then I heard one of them say this

Cleaning this brass is a waste of time. It takes 10 minutes and when you've done it there's no difference.

I was immediately reminded of Jerry Weinberg's Fast Food Fallacy "no difference plus no difference plus no difference plus ... eventually equals a clear difference".

Models and abstraction

My friend Kevlin Henney recently did a in-the-brain-of talk for SkillsMatter. He talked about Models and Modelling. Here's part of Kevlin's definition of a model

A model is an abstraction ... for a purpose.

There is an intimate relationship between a model and its abstraction. I think it was Andrew Koenig who said

Abstraction is selective ignorance.

The word 'ignorance' might mislead you here. It doesn't mean ignorance in the sense of an ignorant person - a person who should know something important but doesn't. It means ignorance in the sense of not being aware of something unimportant. The word 'selective' relates to the word 'purpose'. A clear purpose helps you decide what's important and what's not. Things that aren't important can then be omitted. Modelling is primarily an act of omission. The less clarity of purpose in your mind, the less omission is likely to take place, the more the model will try to say, without clarity.


The London underground tube map as a nice example of modelling. The usefulness of the tube map is directly related to the massive amount of omission in it (or should that be not in it?)

  • it's not scaled - 5cm on the map does not relate to 5 miles on the ground.
  • it's not proportional - stations 8cm apart on the map are not twice as far apart (on the ground) as stations 4cm on the map.
  • it's not relative - stations north/south of each other on the map are not necessarily north/south of each other on the ground.
  • it doesn't tell you street names.
  • it doesn't tell you where the bus stops are.
  • the turns in the River Thames are not all 90 degrees or 45 degrees.
  • the little nicks on one side of the line don't tell you if the platform will be on the left or right.
  • ...
These things are all omitted because they don't relate to the model's primary purpose - to help you get from one tube station to another tube station.


Things that a model does say should be said consistently. For example, the station names are all written horizontally, in the same font and style. If some were horizontal, some vertical, some slanted, some in black, some in blue, some large, some small, we might start wonder if the differences were significant. The model would be leading us astray. If the tube map was trying to be geographically accurate some parts of the map would get very squashed. The squashed stations might get a smaller font. And some might be angled into the only available space.


There is also at least one act of addition in the tube map. The lines have different colours. The circle line is yellow for example. Kevlin promises me that the steel tracks on the circle line are not yellow! But then again, perhaps the colour refers to the trains running on the track. Are the trains on the circle line noticeably yellow? If so, which had the yellowness first, the tube lines on the map or the actual trains? Or, over time, have they influenced each other?


It's easy to ignore just how much effort went into figuring out what to remove from the tube map. Wikipedia has a nice entry on how the tube map has changed over time. I remember once reading how Harry Beck spent years working on an early version of the tube map which his supervisor rejected because it needed to contain less.


A powerful abstraction helps you create a model of clarity, but the clarity can easily seduce you - you're not aware of all that has been omitted, and the effort needed to omit it. When you look at the tube map you just see the tube map.



Quality Software Management
Vol 1. Systems Thinking

is an excellent book by Jerry Weinberg (isbn 0-932633-22-6). As usual I'm going to quote from a few pages:
There is only one sin, and that's failing to believe you have a choice. [Jean-Paul Sartre]
A culture is a self-sustaining pattern that has remarkable powers of resistance to change.
The essence of a pattern is what it can do consistently.
When trying to introduce change in software engineering practices (or any practices, for that matter), it's often better to work by addition, rather than subtraction. Instead of continually emphasizing what people are doing wrong, emphasize what they are doing right so that they will do more of it.
The Reversible Fallacy: What is done can always be undone.
The Causation Fallacy: Every effect has a cause ... and we can tell which is which.
One of the most important tasks is not merely describing these laws, but in distinguishing which ones are "natural" laws that we'll have to learn to accept and which ones are "human decision" laws that we'll have to learn to control.
People's language often reveals when they believe that they are victims of events, rather than having a choice of reactions to the event. Learn to listen for falsely deterministic key words.
Any time you say, "I can't do that, " you'll always be right.
IQ scores would be a lot more meaningful if you added 10,000 to each score.
An hour of work is not an hour of work if you are interrupted during the hour.
The average defect detection time will keep rising throughout the project.
Poor quality hurts much more than good quality helps.
The software industry tends to focus on tools rather than on people.

The corporation

is an excellent book by Joel Bakan (isbn 1-84529-174-3. As usual I'm going to quote from a few pages:
"The corporation has essentially replaced the church in terms of who you are", says Edison Schools financier Michael Moe.
Indeed, the very notion that there is a public interest, a common good that transcends our individual self-interest, is slipping away. … These are the elements of an emerging order that may prove to be as dangerous as any fundamentalism that history has produced.
Socialism for the rich and capitalism for the poor, to borrow a phrase from George Bernard Shaw.
Most corporate law statutes include provisions that permit governments to dissolve a corporation, or seek a court order to dissolve it.
Corporations are our creations. They have no lives, no powers, and no capacities beyond what we, through our governments, give them.
We believe that some things are too vulnerable, precious, or important to exploit for profit.

The wisdom of crowds

is an excellent book by James Surowiecki (isbn 0-316-86173-1). As usual I'm going to quote from a few pages:
Diversity and independence are important because the best collective decisions are the product of disagreement and contest, not consensus or compromise.
The best way for a group to be smart is for each person in it to think and act as independently as possible.
To be smart at the top, the system has to be smart all the way through.
Adding in a few people who know less, but have different skills, actually improves the group's performance.
We have bad intuitions about averaging.
Keep the mistakes that people make from becoming correlated.
Information isn't in the hands of one person. It's dispersed across many people.
The problem starts when people's decisions are not made all at once, but rather in sequence.
People are more overconfident when facing difficult problems than when facing easy ones.
Encouraging people to make incorrect guesses actually made the group as a whole smarter.

Growing a business

is an excellent book by Paul Hawken (isbn 0-413-19340-3). As usual I'm going to quote from a few pages:
Be careful, you may succeed.
Gregory Bateson once defined the most elementary unit of information as the 'difference that makes a difference'. … The ability to create differences in manufacturing and delivery of goods and services will be the key to success.
Don't start two businesses.
Take a product and reduce it to its essence.
If employees, customers, and vendors don't laugh and have a good time at your company, something is wrong.
You don't ever manage people - you work with them.
Enterprises fail more often because of the sum total of seemingly inconsequential events acting upon them than because of a sudden disaster or discontinuity.
In the beginning, survival is more important than success.
Nothing in nature tells us that rapid growth is good, and certainly nothing in human biology. In our own bodies, the most rapid growth of all is cancer.
Businesses that grow too fast or in the wrong way overwhelm the adaptive capacity of the people who work there.
Responsibility is participation.
If a village in Europe or China wanted to censure and remove a member of its society, the townspeople went to the offender's home and burned it to the ground, along with all the possessions inside. That's how they fired someone.
Hire the person, not the position.

Linked

is an excellent book by Albert-László Barabási (isbn 0-7382-0667-9). As usual I'm going to quote from a few pages:
Mathematicians call this phenomenon the emergence of a giant component, one that includes a large fraction of all nodes. Physicists call it percolation and will tell you that we just witnessed a phase transition, similar to the moment in which water freezes.
What is the structure of the network encoding how the crickets, or people influence each other?
Power laws rarely emerge in systems completely dominated by a roll of the dice. Physicists have learned that most often they signal a transition from disorder to order.
Trapped between order and chaos, water molecules participate in a majestic dance in which some molecules come together, form small and somewhat ordered groups, move together, and in no time break apart to join other molecules forming yet other groups.
In the vicinity of the critical point we need to stop viewing atoms separately.
The theory of phase transition told us loud and clear that the road from disorder to order is maintained by the powerful forces of self-organization.
Errors and failures typically corrupt all human designs.
Computer simulations we performed on networks generated by the scale-free model indicated that a significant fraction of nodes can be randomly removed from any scale-free network without its breaking apart.
Innovations spread from innovators to hubs.
We need to understand living systems in their integrity.
Real networks are not static, as all graph theoretical models were until recently. Instead, growth plays a key role in shaping their topology.