Archives for the Month of October, 2011

Transformative Play

Yaay to Play

A glimpse of my personal play history

When I look back at my working life to date, there’s a moment that stands out from all the rest.

It’s 2002. I’d been working for several years and had come to terms with what most people would describe as your typical “working life”. I worked hard and always tried to do my best. Sometimes that was good enough, at other times, it wasn’t. Then one day, as I sit in my dentist’s waiting room, I pick up a glossy magazine because my appointment was running late. An article about work catches my eye.

Against a backdrop of glamorous smiles and beautifully coiffed heads, a journalist told me that “We spend more than 75% of our waking hours doing work and work-related activities.” As though that were not sufficiently terrifying, she went on to say, “The average working person will spend more time in their entire lifetime with their colleagues than their loved ones.”

Quick as a flash, a quiet resolve forms in my mind. Life’s too short to spend it on doing what you don’t enjoy with people who’s company you don’t care for.

Ever since then, that’s been one of my guiding principles on how I choose to do my work. It was difficult at first but I found that with practice I could create opportunities for myself and others to do more meaningful work that I’ve come to describe as “Playmaking“.

Where next?

If you want to find out more about Transformative Play and get ideas on how to satisfy your recommended daily amount of play at work, join me at Oredev on 9 November in Sweden where I’ll be presenting on “The Power of Play – Making Good Teams Great“.

In addition to the latest research behind the power of play, there’ll be lots of fun and games including:

  • The game of “Play or Nay!”
  • The Sorry Story of the Sea Squirt
  • Explore your personal “Play History”

I hope to see you there!

In Search of Happiness

Unconditional Friendliness Inside

Emergency Self-Rescue

Are you having a thrisis? How do you know if you’ve got it? And if you are suffering from a thrisis, what can you do about it?

I recently came across the term “thrisis” and it’s been playing on my mind ever since. A thrisis is a mid-life crisis in your thirties. Given my birthday last month, I’m certainly susceptible. In fact, I think I may have contracted it some years ago but didn’t know what to call it.  The Florence Nightingale in me tells me I should get it seen to ASAP.

An open mind seeks possibilities

Now that I know there may be an issue, I sign up for a seminar on “Happiness” by Charlie Morley, all the while telling myself to keep an open mind. In doing so, I discover I’m an “optimistic sceptic”.

According to Charlie’s research on Happiness, Happiness is “a fundamental friendliness towards life”, otherwise known as “unconditional friendliness”.

To be happy, Charlie says we need to differentiate between what we can change and what’s outside of our control. The reality is, most of what exists outside of us is full of uncertainty and uncontrollable. Trying to control the uncontrollable is like trying to swallow the sun. The only thing for certain is that it’s sure to give you more than a sore throat.

Instead, look around you and observe what’s going on. By observe, Charlie means to simply acknowledge what’s happening, without judgment. This allows us to make friends with our mind and, by doing so, increase our awareness of what is and what isn’t. When we are able to acknowledge what has come to pass with unconditional friendliness, we give ourselves the chance to change the way we see the world.

The 3 Paradoxes

Charlie identifies 3 paradoxes towards happiness:

  1. Help others to help yourself. This is also known as “selfish selflessness”. It’s WIN-WIN even though it’s not altruistic.
  2. Thinking more about death is good for you.It’ll shake you up to wake you up,” says Charlie. Pop quiz: what do buddhists talk about most when they get together? Death, according to Charlie.
  3. Happiness is a habit. It takes a lot of practice. The first step is to “accept” your unhappiness. By doing so, you acknowledge where you are and that allows you to move forward.

Pause for Thought

Come to think of it, thrisis is unlikely to be only an age-related condition. In fact, this condition might be part of what many of us experience day-to-day but don’t call out by name. The French call it “ennui” and I’m sure other cultures have a name for it, too.

My one consolation, the Agile principle of “Fail early, fail fast”. The quicker I discover there’s something wrong, the quicker I can begin to address it and the more time I have in sorting it out which should increase my chances of getting it sorted. Call it “Optimist’s Logic”. What’s more, my spidey sense tells me there’s an adventure in all this, so things can’t be all that bad.

How can you express unconditional friendliness right now? And tomorrow?

The Secret to Software Craftsmanship

Perfect Practice creates Code Poetry

From Journeyman to Master

It’s been a while since I last coded, so I jumped at the opportunity when I heard about an Object-Oriented kata run by Sandro Mancuso, the man who started the London Software Craftsmanship Community. Sandro and I’ve exchanged a handful of contemplations about the Software Craftsmanship Manifesto recently, so I was really glad to experience it firsthand last week.

According to Sandro, the thing a craftsman strives to achieve is “Perfect Code”. If that’s at one end of the spectrum, what’s at the other? The code we write at work, our Daily Code. And what’s in-between? The space in-between, says Sandro, “represents how much we suck”. I laugh out loud. This remark warms my heart and tickles my funny bone. I like to think of it as “my room for improvement”. Either way, the gap exists and we can all do something about it. It turns out that something is called “Perfect Practice”.

What does “perfect” mean?

To me, “perfect” is an aspiration. It’s elusive by design. It’s an aspiration because we’re always to make things as great as they can be. It’s elusive because something can always be improved. The pursuit of perfection is striving to always be better. That makes “perfect” a moving target which is why it requires lifelong learning. It’s about being a lifelong apprentice.

Perfect Code requires Perfect Practice

When we’re at work, we’re faced with a whole bunch of challenges. Tight deadlines, peer pressure, insufficient skills, knowledge and/or experience, to name but a few. So what do we do? We make compromises, also known as hacks, false trade-offs, driven by short-term thinking.

Instead of trying to write perfect code during work hours from the outset, Sandro suggests we strive for Perfect Practice. In our own time, on our own terms. Why? Because this creates the headspace we need to learn how to do our job better. To close the gap, we need different conditions from those associated with pure “delivery mode”. The army calls it “Train hard, fight easy.” Software crafts people call it “Perfect Practice”.

“The longest journey begins with a single step…”

Sandro gets us to work in pairs, doing Test-Driven Development to develop a banking application with basic functionality such as making deposits and withdrawals. He repeatedly reminds us that the goal of the exercise is to learn and not, as we might immediately assume, to be the pair to finish first or complete it in its entirety.

“It doesn’t matter how far you get in the exercise,” Sandro says. “The goal is ‘Perfect Practice’. Over time, with practice, this becomes second nature. That’s what will enable us to write better code at work.”

Since it’s been a while since I last coded, I give my pair buddy Dan a brief description of my technical skills, knowledge and experience. I explain I was most definitely rusty at best and that I would strive to be better. As a sign of trust, he plugs in the second keyboard and mouse and we’re good to go.

The Art of Perfect Practice

The rest is “Perfect Practice”. Instead of rushing around like a pair of headless chickens, we took our time to think and talk things through, from the approach we would take (Domain-Driven Design) down to the specifics (Ubiquitous Language, Design Patterns and the careful naming of each variable and method).

The result? Well-crafted code that is easy to understand and maintain. Every decision was conscious and considered. What else? A sense of immense satisfaction. It tasted of euphoria because it brought back memories of all those times when we took care to do a good job. And the many possibilities for improvement. I could hear my heart sing.

Class Kata

And as I looked around the room, filled with 15 smiling faces and furrowed brows, all signs of minds deep in thought and conversation, I have proof. Proof that there are others out there who care about their craft. People who care so deeply that they invest their own time in Perfect Practice.

To think of many things

The kata reminded me of many things. That everything we produce tells us a lot about who we are. That programming is poetry, a transmutation of ideas into words. That it takes 10,000 hours to get really good at what we do. That Perfect Practice can be part of what we do and how we live. Every day.

How will you feed your need for Perfect Practice today?

Starting out with Social Gardening

Gnomes know

Ask for help

One of the things that Agile has taught me is this: “When in doubt, ask for help“. So when it comes to gardening, who better to seek help from than seasoned experts with a passion and an excellent track record for helping people grow? I know as a green gardener I’m going to need as much nurturing as my garden does if we’re to start creating a place of beauty and keep it growing.

Where to go for help

Colleagues, friends and family. We’re surrounded by people who have the credentials and who are willing to help. By simply asking around for help, you’ll uncover an abundance of people ready to share their advice and ideas. The key is to find people who care about their craft and has genuine experience with some knowledge and skills to boot.

In my experience, the kind of experts you want on your project behave like ambassadors, people who are willing to share their stories in a respectful way. They won’t tell you what to do. Instead, they’ll share with you what they did, the good, the bad and the ugly. And their lessons learned. And how they’re no expert. That they’re still learning. They’ll usually quickly let you know how much experience they really have so that you both understand where each of you is coming from.

Working together to get started

Next, you’ll move forward together where you clarify your goals and together come up with real options for next steps. The secret when working with experts and consultants is to consult them. You’re under no obligation to take up their advice, but you’d be wise to listen. And if you find yourself strongly disagreeing with one expert, ask someone else for help and see what they come up with. Then, if after speaking to a handful of these experts, you find they’re not providing any value (and all saying the same thing), you’d do well to dig deep. Do some personal root cause analysis and figure out why you’re always right and everyone else wrong.

Some things money just can’t buy

The best help I’ve had over the years are from people who stay hands-on and care deeply about what they do. They take time to understand the situation and your goals before making suggestions. Most important of all, they’ve learned to see the big picture even if we’re stood in a field of weeds.