Air-luggage

I went to the excellent Agile Cambridge conference recently. At breakfast one morning I was chatting to Julian Fitzell and Jason Ayers and we got to discussing luggage when flying. I always take nothing but hand-luggage. However, it's true that checking luggage into the hold does have some advantages. I think you're viewed with increased suspicion if you fly long haul with only hand-luggage. That's certainly the impression I sometimes get when flying with just hand-luggage to Melbourne say. And for another the airline has a much greater incentive to ensure you make your flight if you've checked luggage into the hold. Otherwise they have to resort to a round of luggage-rummage to remove your bags.

We had a lot fun designing a potential solution. Simply check in an empty suitcase! But it would be very inconvenient carrying an empty suitcase just to check it in. So how about an inflatable suitcase! A self blow-up suitcase would be too inconvenient so it would have to contain a cartridge which you cracked open, mixing two chemicals and causing an expansion of gases. It could double as something to sit on too.

Airline companies have limits on the heaviness of luggage but we can't imagine they have limits on its lightness. But lightness could cause problems. We wouldn't want an unsuspecting luggage-handler falling over backwards trying to lift super-light air-luggage imagining it was normal heaviness. So we might have to put on stickers "Warning: Very Light". If the airlines introduced a minimum weight we might have to add weights pre-sealed inside the air-luggage. We could add words cast in metal to give the x-ray machine handlers something to read!

As well as a basic air-suitcase we can imagine some deluxe versions along with several spin off products. An executive version which, when inflated, includes a non-retractable carrying handle and non-wheeling wheels. And a selection of self-attach stickers naming various exotic foreign destinations such as Hawaii, Alaska, and Antarctica. And of course, there is huge potential for air luggage in shapes other than plain suitcases. A guitar for example. A true air-guitar.

Naturally the air-luggage would come pre-manufactured with a fake luggage tag. The address on all the tags would be the same - the factory where the air-luggage was made. That way we could reuse and recycle, reducing our costs and increasing our profits.

As a bonus we would actively look into ways of increasing the chance the airline lost your air-luggage. Each piece of air-luggage would come with lost-luggage claims-forms for all major airlines. These would be pre-filled-in by a sophisticated computer program enabling you to make a claim for all the lost air-items your air-luggage contained.

Goldilocks tests

I was speaking to my friend Allan Kelly at the Agile Cambridge conference and he mentioned he's reading a book about the maths of production. It contains a proof: rare failures that take a long time to fix are much much worse than frequent failures that get fixed fast. This is perhaps a counter-intuitive result to the way many people think. It may mean you'd be better off with more tests failing.

It's the goldilocks effect.
Is the porridge too hot or too cold or just right?
Are the beds too hard or too soft or just right?

Do you want tests always failing?
Do you want tests never failing?
Or do you want tests sometimes failing?

You want enough to give you some confidence that your tests are testing areas where defects exist. Because exist they surely do.
You want enough to keep the code current in the developers' consciousness. So they grok it. So they can fix fast.
You want enough to keep the developers' defect fixing skills sharp. So they can fix fast.

Backlog overwork is proportional to unused code?

A common problem I see in my travels is backlogs where items in the far future are excessively detailed. A subtle dynamic related to this overwork waste is that the more detail a developer knows about future stories the more likely they are to add extra "flexibility" for them into their current story development. And of course this contributes to the amount of unused code in the software (which is often quoted at averaging 45%). I therefore propose a hypothsis:

Backlog overwork is proportional to unused code.


Aquinas

is an excellent book edited by Anthony Kenny (isbn 0-19-287500-0). As usual I'm going to quote from a few pages:
We employ the word 'think' in two quite different ways; we talk of thinking about something, and we talk of thinking that something.
Intellectual activity, then, is regarded as in some way dependent on sense-experience; in some sense of the word Aquinas is an empiricist. Many empiricist philosophers have held that all our ideas arise from sense-experience, and that they are required by abstraction from or selective inattention to features of that experience.
When I look at myself in the mirror, I 'see' myself rather than seeing the mirror, unless I am making an especial effort to attend to the mirror.
A man cannot know what a whole is or what a part is except through the possession of concepts or ideas derived from experience.
A sense faculty which cannot go wrong is not a sense-faculty at all.
The oldest Oxford and Cambridge colleges were still in the future; just after Thomas was lecturing on the Sentences in Paris the delinquent baron, John de Balliol was ordered, as a penance, to found a house of scholars in Oxford.
As Wittgenstein once observed, it is not the answers which Aquinas gives, but the questions which he asks, which are the measure of his philosophical gifts.

Kierkegaard in a nutshell

is an excellent book edited Robert Van de Weyer (isbn 0-340-69404-1). As usual I'm going to quote from a few pages:
Kierkegaard ... says that most people avoid choice by living 'aesthetically', which broadly means relying on instinct and feelings.
In a provocative passage Kierkegaard suggests that boredom is the root of all evil. He contrasts boredom with idleness.
To Kierkegaard true freedom consists in overcoming constraints, because this involves choice and effort.
He did try to imagine a true 'knight of faith'; and his description is astonishing because the person he portrays is so ordinary... What marks him out is that he takes delight in every scene, every activity and every person. And even if something does not meet his expectations, he enjoys whatever transpires.
His consistent theme, that the source of truth is subjective experience, leaves little room for academic philosophy.
Far from being the root of all evil, idleness is the only true good. Boredom is the root of all evil, and so it must be kept at a distance. Idleness is not evil.
Boredom is overcome through being intensive in your interests, not extensive.
No moment should be regarded as so significant that is cannot be forgotten at your convenience. Equally each moment should have such significance that is can be remembered at will.
When you being to notice that a certain pleasure or experience is gaining too strong a hold on your mind, you should pause and reflect. This will make you want to stop the experience. From the start you should keep every enjoyment under control, never giving yourself totally to it.

Acting and thinking

I while ago I was waiting for the Reading to Heathrow bus and I got chatting to a very interesting lady called Suzanne from Germany whose son also has Aspergers Syndrome. For some reason I mentioned the Buckminster Fuller quote which goes something like:

It is is easier to act your way into thinking differently than to think your way into acting differently.

She said that thinking is a frontal cortex activity which is a relatively recent part of our brain, and that acting is done by much older parts of the brain. She also said that when there is fear the frontal cortex shuts down - we act using the older parts of our brain.

The deming route to quality

is an excellent book edited by William W. Scherkenbach (isbn 1-85252-363-8). As usual I'm going to quote from a few pages:
Anyone who stops learning is old, whether at 20 or 80. [Henry Ford]
There is real waste when people are always expected to have an answer.
The operational definition of any procedure is what you get when it is carried out, not what is written down on a piece of paper.
Someone must manage by the decade.
As with any process, if you focus on the outcome, you will not be competitive. You must focus on the process.
Management works on the system, people work in the system.
All models are wrong. Some models are useful.
The questions are always more important than the answers.
Dr. Deming frequently received calls from managers imploring him to 'come, spend a day with us and do for us what you did for Japan'.
Time and again I see the benefits of using a team.
Teamwork characteristics ... cannot be determined if you interview ... one at a time.

Toyota production system - beyond large scale

is an excellent book edited by Taiichi Ohno (isbn 978-0-915299-14-0). As usual I'm going to quote from a few pages:
There is nothing very complex in the magic of Mr. Ohno's teachings. In fact, it is often confusing listening to him because he talks so simply, often just saying to look for and eliminate waste. We cannot believe it is that simple - but it is true.
Henry Ford was able to mine iron ore on a Monday and, using that very same ore, produce a car coming off the assembly line on Thursday afternoon.
In the pull method, the final process withdraws the required quantities from the preceding process at a certain time, and this procedure is repeated in reverse order up through all the earlier processes.
The principal objective of the Toyota production system was to produce many models in small quantities.
Even worse, there would be no distinction between normal and abnormal states on each assembly line.
If materials or machines are repaired without the managing supervisor's being made aware of it, improvement will never be achieved and costs will never be reduced.
There is no waste in business more terrible than overproduction.
In modern industry, harmony among people in a group, as in teamwork, is in greater demand than the art of the individual craftsman.
In a swimming relay, a swimmer cannot dive before the previous swimmer's hand touches the wall.
I feel the most important point in common between sports and work is the continuing need for practice and training.
They would have had difficulty understanding the system without seeing it in action.
A half-hearted introduction of kanban brings a hundred harms and not a single gain.
Improvement is eternal and infinite.

Airplane kanban

My JAOO (now GOTO) SAS flight home from was slightly delayed. Over the tannoy, whilst we were still on the ground at Copenhagen, the captain explained it was because of early morning fog over Heathrow. He further explained that when its foggy air traffic control increases the gap between the planes in the air as they come in to land. This reduces the capacity and so to prevent a backlog of planes circling overhead they send out delays to planes so they take off a bit later. What this amounts to is that planes leaving can't take off until they receive a pull request from where they're due to land.

It helps to know what success looks like

On a plane when the cabin crew perform their emergency demonstration they don't merely read out the information over the tannoy. No. The cabin crew stand where you can see them. They act. You see them pulling an oxygen mask towards themselves. You see them putting it over their heads. If they're good you see them slowly turning their heads side to side so you can see the elastic at the sides of their heads.

One of my entries in the book 97 Things Every Programmer Should Know is called Make the Invisible More Visible. Visibility is an important aspect of practice and learning. It relates to feedback. You evaluate feedback in the context of your intention - of what you are trying to accomplish. You need a clear idea of where you are trying to get to, of what success will look like when you get there.

Do you have any post-its?

Developers love solving a solution. Unfortunately their eagerness can get in the way of understanding the problem. When I'm with a client I sometimes ask a simple question such as "Do you have any post-its?" I'm careful not to say I want some post-its. I simply ask if they have any. I could be asking the question because I think not-having post-its is an indicator of something else - in the same way that not-having whiteboards is an indicator of something else.

Often they start searching for post-its. I politely stop them and say that I don't want any post-its - I simply want to know if they have any. My aim is to increase their own awareness of solving the solution before probleming the problem.

The gift of time

is an excellent book edited by Fiona Charles (isbn 978-0-932633-75-0). As usual I'm going to quote from a few pages:
Jerry warns us that when a system that continues to change or that is in a changing environment is subjected to a fixed set of tests, it will inevitably over-adapt to those tests, leading to a higher probability of severe or surprising failures in the field. [James Bach]
Complexity isn't an attribute; it's a relationship. [Michael Bolton]
When feedback is offered in the spirit of improving a working relationship, it's all positive. [Esther Derby]
In my experience, if you have a passion for something and want to take responsibility for making it happen you can always find an existing group, or find people around you who are willing to form a new group to get it off the ground. [Willem van den Ende]
People are relentlessly themselves. [Naomi Karten]
In experiential learning, students are fully engaged, and as a result, they determine what they learn, not the instructors or presenters. [Naomi Karten]
...problems that look technical. [James Bullock]
Both PSL and aikido teach practiced awareness of oneself, the situation, and others. [James Bullock]
Shugyo is to step onto the mat exactly when there is every excuse not to. [James Bullock]
I have become enormously skeptical of simple cause-and-effect explanations of any system behavior. [Tim Lister]
And maybe most important of all (and I've been a consultant for about thirty years now), I thank Jerry for helping me think about system dynamics and change. [Tim Lister]
In the technology industry, we spend so much time trying to control machines that we start thinking like machines. [Jonathan Kohl]

Slow motion velocity/wip game

I've noticed when teams play the velocity/wip game they tend to focus a lot of their energy on learning how to throw their dice faster. Learning to throw faster means you'll throw more 1's during your 1 minute iteration but that isn't really the point of the game. It also means that comparisons of velocity between different iterations are misleading.

Thinking about this today I suddenly thought of a two simple ways to improve the effectiveness of the velocity/wip game...
  • Instead of having a 1 minute iteration have a fixed number of rolls per iteration. Eleven say.
  • Do each roll in slow-motion. After each player rolls their dice, count up the 1's then slowly and calmly discuss how to play those 1's on the current board. Then make the play. Then repeat.
I tried it today (hi Michelle, Lee, Brian, Kenny, Marty, Jarlath, Gerard, Tony, and Charlie) and the difference was startling. Instead of trying to increase their velocity, the team worked on learning to play the game better. So much so that they actually forgot to measure their velocity!

I wish I'd said that

is an excellent book by Maurice Silver (isbn 1-86105-285-5). As usual I'm going to quote from a few pages:
Advice is like snow - the more softly it falls, the better it takes hold.
Don't wait for your ship to come it; swim out to it.
A stumbling block is a stepping-stone that you tripped over.
Make a point to do something each day that you don't want to do.
Error is the discipline through which we advance.
Men inevitably become indifferent to anything they do often.
There can be no economy where there is no efficiency.
When you are through changing, you're through.
Fear is like a darkroom where little doubts gets developed.
The mind grows rich from what it receives; the heart from what it gives.
It is not doing the things we like to do, but liking the things we have to do that makes life pleasant.
Do not look where you fell but where you slipped.
Rudeness is the weak man's imitation of strength.
The instant we feel anger we have already ceased striving for truth and have begun striving for ourselves.
If you can find a path with no obstacles, it probably doesn't lead anywhere.

Pragmatic thinking and learning

is an excellent book by Andy Hunt (isbn 1-934356-05-0). As usual I'm going to quote from a few pages:
Being happy broadens your thought processes.
Are you fixing the problem or fixing the blame?
Reading is ineffective compared to any sort of experiential learning.
Documenting is more important than documentation.
Learn from similarities; unlearn from differences.
Your creativity suffers on the day your under the gun and remains suppressed for the next two days as well.
Create an environment where the cost of failure is near zero.
Much of perception is based on prediction.
Every read of your memory is really a write.
Inaction is the enemy, not error.

In the brain of Jon Jagger - Deliberate practice

Here's a video (and slides) of my SkillsMatter Deliberate practice talk. This is a much extended version of the 97 Things lightning talk I did at Javazone recently. I've been known to break cameras and mirrors in the past so they wisely filmed it in very low light... :-}

JavaZone 2010: 97 Things Lightning Talk - Do more deliberate practice

Here's a video of the lightning talk - Do more deliberate practice (one of my entries in the book 97 Things Every Programmer Should Know) I did at the recent Javazone conference. It's about how deliberate practice relates to agility.

cyber-dojo video - Roman Numerals Coding Kata in Ruby

Here's a video of me demonstrating the cyber-dojo website by doing the Roman Numerals kata in Ruby.

Rethinking systems analysis and design

is an excellent book by Jerry Weinberg (isbn 0-932633-08-0). As usual I'm going to quote from a few pages:
We don't need another "movement" just now - unless it is something analogous to a bowel movement - something to flush our system clean of waste material that we've accumulated over the years.
When dealing with the unknown, it appears to be better to handle one situation at a time, examine the results obtained, and then prepare a plan for the next situation.
How to master oneself? The Eastern philosophers have always understood, but it seems the most arduous lesson for us westerners. One masters oneself by giving up the attempt. By approaching an interview with the attitude that one cannot be absolutely in control, one attains the utmost possible control.
One of the greatest divisions [of human thought] is between static and dynamic schemes, between thing and process, between noun and verb.
The architect without the stonemason is not designing cathedrals, but castles in the air.
The way things are is always fighting with the way things might be.
The rough sketch has several advantages over the precise drawing: it represents less investment in time, so we're not afraid to throw it away and try something else; its very roughness conveys important information about where we are in the design process.
The ability to decide when to stop is a feature not a failure.
90% of aggravation in programming projects comes at the end.

Accu london cyber-dojo

The London chapter of accu held a cyber-dojo last week. It was hosted by the excellent people at SkillsMatter. The group agreed to try the Roman Numerals kata with three laptops using Java and one using C#. Everyone had lots of fun. Thank you to everyone who helped to make it possible.