Archives for the Month of October, 2008

Playing to learn about the Theory of Constraints

It’s 5 pm on a Thursday night and everything’s already pitch dark outside. We need at least 7 players to play the Bottleneck Game created by Pascal Van Cauwenberghe but we only have 6 eager participants. Being an Agile Coach has taught me to be resourceful (think Macgyver), so I roam the corridors for a couple more minutes in the hope of netting a few Agile enthusiasts keen to learn a thing or two about process improvement and bottlenecks.

To my surprise, I don’t just find one, but two volunteers: Darren and Paul. Both Darren and Paul have been extremely helpful and supportive with our fledgling Agile teams to date. I’m glad the promise of an Agile game and Halloween chocolates prove more enticing than a visit to the gym. It’s also a sign that I’m working with a learning organisation.

Favour Brain over Brawn

The Bottleneck Game (also known as ‘I’m Not a Bottleneck, I’m a Free Man!’ teaches us about the Theory of Constraints (TOC). According to the Theory of Constraints, every organisation has at least one constraint which limits the system’s performance in terms of its goal. The theory states that we can improve a system’s throughput learning how to recognise and deal with a system’s constraint (also known as a bottleneck).

The 5 Focusing Steps

Step 0: Make the goal of the system explicit.
Step 1: Find the constraint.
Step 2: Exploit the constraint.
Step 3: Subordinate everything to the constraint.
Step 4: Elevate the constraint.
Step 5: Rinse and repeat.

Lessons We Learnt Today

Always measure the throughput before and after applying improvements to verify their effects on the system

Cross-training helps improve the throughput of a team

Small, incremental changes can make a big difference to throughput.

Process Improvement is the New Sliced Bread

Don’t let inertia become the constraint. Help your team and your organisation become more agile by striving to be a bit better than you were yesterday every day. Thanks to Alison, Suresh, Bhavna, Paul, Mark, Darren, Jo and Genevieve for being such professionals as employees of The Boats and Hats Company!

The Theory of Constraints is clearly a hot topic as Pascal’s also run the game with one of his clients over in Paris. You can read a more comprehensive account of the Bottleneck Game as played by our French Agilista counterparts here.

Today’s a special day for my team: we’ve got one more day before our Iteration 1 Show & Tell and, of course, it’s Diwali, the Hindu festival of light. During the second part of our standup this morning (what we call ‘Information Broadcast’ where we share useful information among the team outside of the 3 usual three questions answered in a standup), I’m told that everyone will be praying to Lakshmi, the goddess of wealth and prosperity. It’s natural to want a share of good fortune, so I ask by way of a reminder: ‘Will anyone be praying for us to reach a burndown of 0 story points by Thursday morning?’ And everyone laughs.

This is Day 18 with my team and I’ve learned many things from them including some Agile lingo in Hindi:

Grahak means Customer

Sahayog means Collaboration

S’mmaan means Respect

How did I come across such useful learnings? It’s thanks to one of the first team exercises we did: translating the team’s values as well as the Agile Values into Hindi. Seeing the team tackle that translation exercise is one of the most memorable events I’ll be taking with me when the time comes to move on to my next Agile team. I hope the translation exercise will somehow help Agile endure.

Reader to Writer – Yet another comic Agile moment

M: I’ve read your blog.
P: What do you think about it?
M: I’m not sure if I’ve got the right word for it. (Long pause)
P: Go on.
M: What I like about it is that I can tell you’re obsessive about what you do.
P: (Stunned silence. Then) Thank you for the feedback.

Just Blog It!

To be a blogger, you have to blog. Here’s how to create a blog in less time than it takes to order a beer in a crowded saloon on a Friday night:

1. Ask yourself: ‘What are my interests or reasons for blogging?’ Write down each thought or idea on a separate mini Post-it. [3 mins]

2. Review each Post-it by thinking out loud and elaborating on the reasons why you wrote it down. [5 mins]

3. Pick the Post-it that makes you feel most energised just thinking about it. This forms the ‘hook’ that will keep you writing as well as attract visitors to your blog. Let’s call this the Hook Post-it. [1 min]

4. Talk about the Hook Post-it some more. After all, it’s special. Why does it make you feel energised? Where did you first come across the thought or idea? Why’s it important to you? [2 mins]

5. Pick one or two or three coherent words associated with your Hook Post-it. Congratulations! You now have the title and theme for your blog. [1 min]

12. Send your friends the link to your blog and ask them for feedback. [1 min]

Nice To Haves

Add tracking to your blog so that you can see how many visitors you get and where they come from. Google Analytics provides pretty, graphical data. The statistics will spur you on to write some more. If you’re using wordpress, go to Dashboard | Blog Stats (which uses Google Analytics behind the scenes).

‘Exoftware has been ranked 6th in the 2008 Deloitte Technology Fast 50, a ranking of the 50 fastest growing technology companies in Ireland. Rankings are based on average percentage revenue growth over five years. Exoftware grew over 1300% percent during this period.’

– Deloitte Ireland

One of the hardest things about becoming agile, both for the organisation and for the individual, is that Agile challenges parts of your brain other project delivery methodologies don’t reach.

Continuous Improvement is a tough job, but someone’s got to do it

I’ve gained an incredible amount of insight and experience by working at Exoftware as an Agile Coach since January. One of the things I love most about my job is the fact that I’ll always be learning. After all, continuous learning is the only chance we have of improving ourselves.

What Makes Exoftware Special

I’ve worked for a number of organisations, both large and small over the past decade, and Exoftware’s different for 5 key reasons:

Exoftware walks the talk: We strive to apply the Agile Values of Communication, Simplicity, Feedback, Courage and Respect, with our customers and among ourselves.

Exoftware acts with integrity: We tell it like it is even if the message isn’t easy to deliver or receive.

Exoftware’s a learning organisation: We understand that success is defined by continuous improvement. The best learning comes from making mistakes, so we fail early as well as pool the experiences of our coaches.

Exoftware creates an environment where we can be courageous: Everyone who works for Exoftware is part of the same team. Our clients are an extension of that team. We’re stronger because we work together.

Exoftware really cares: We continuously improve because we care about what we do. That’s because we’re in the People business.

At an Agile Conference

Agilista: A top Agile presenter always has a ‘thing’.
P.: Really? Like some kind of disease perhaps?
Agilista: (Rolls his eyes) No, something that makes them special.
P.: Ah. (Long pause) I tell Agile Fairytales.
Agilista: I’m being serious you know.
P.: So am I.

Agile Fairytales Hits the Mainstream

This Tuesday evening marked another of Agile Firsts. It was the first time for me to run an Agile Fairytale on client site. Agile Fairytales helps us remember the lessons we learned as children but have since forgotten. Who knows? Perhaps this event heralds the start of Agile Fairytales going mainstream after its first appearance at XPDay London 2007.

A Laugh a Minute

Fifteen of us bundled into a sleek, glass-walled meeting room to transform it only moments later into the play space for Mirror, Mirror on the Wall… Why Me? You can read more about the Snow White and Seven Dwarves Game here. You can also download the game and play it for free* with your team, family and friends.

Having Fun is Serious Work

Many of the participants described the session as fun and full of laughter. The highlight for everyone was the chance to mingle with colleagues we had never met before, tasked with assembling a project team with a tangible goal and deadline. And the twist? We had to staff our projects with Snow White and the Seven Dwarves, all the time leveraging their strengths, recognising the value everyone brings to a team, warts and all.

New Kids on the Block

My first ever commercial IT project was to tweak an existing application that sent out financial news by email. I remember really enjoying the challenge. I learned how to set up my local dev environment. I learned about the release process using foil packs of tea as release tokens (creativity was what made the Dot.com days special). Most important of all, I learned how to write code better by looking at bad code.

As time passed, I was exposed to terms such as ‘maintenance’ (more sinisterly known as BAU – Business As Usual) vs ‘greenfield’. I was surrounded by developers who complained that BAU was gruntwork, that they wished they could do greenfield work instead.

‘Avoid maintenance work at all costs’

Many of those developers were given greenfield work, only to create an even larger legacy of bad code. I found that I appreciated a balance of maintenance and greenfield work because, together, they reminded me of the cost of over-engineered or badly designed solutions that I would have to help support.

The Longest Journey

Still, the conundrum of endless maintenance bugged me. Then one day it dawned upon me: Everything in life is BAU, be it buying milk, having breakfast on a Monday morning or attending yet-another-pointless meeting warped by political posturing. And, of course, keeping fit.

Welcome to your most important maintenance contract. It’s for life. Make it fun. Fill it with learning. Make it meaningful.

‘No one enjoys their job as much as you do. You have way too much fun.’

– Grumpy

Agile Games Day

This Monday marked the day of yet another of Agile Firsts. It was the first time in Agile history that the XP Game and Business Value Game were played, back to back, in a single day, at work.

Learning Through Fun and Games

The day began with a frenetic ice breaker exercise during which participants introduced themselves to three different people, tasked with finding out three interesting facts each about one another, spending only three minutes per pair. What’s striking about this exercise is the rapidity with which folks are able to identify the things they have in common in so short an exchange, such as their mutual passion for cricket and life experience as parents with small children.

XP Game Teams: The Ones vs Agilites

Next, we moved straight onto the first game of the day: the world-renowned XP Game invented by Pascal Van Cauwenberghe and Vera Peeters. The XP Game is a great induction into what being part of an Agile team feels like. Who would have thought that blowing up balloons, building houses out of cards and folding origami paper boats and hats could teach you so much about iteration planning, estimating and velocity? Thanks to Pascal and Vera, work is made fun again, with quality built into everything we do.

Witness the intensity of concentration on furrowed brows in the pictures. Can you feel the buzzing activity as folks work hard at completing user stories with the highest business value possible? Now, look around your work place. Are you surrounded by such enthusiasm and dedication? If not, playing the XP Game with your team may be an antidote to corporate inertia and ennui.

Roles and Responsibilities

Next up was a team exercise to define what being an Agile Team Member means. ‘Agile’s about being creative,’ cautioned one participant as he put coloured pen to paper and started scribbling. ‘It’s nice to work in a colourful team space,’ he added with a shy smile.

Business Value Game: The Cake Eaters vs The Cake Snatchers

To complete the Agile Games Day, we played the all new Business Value Game, also brought to you by Pascal and Vera. What’s striking about the games Pascal and Vera create is their relentless pursuit of learning through fun and games. The games demonstrate time and time again that to do great work, you have to have fun.

The most important lesson that runs through both games is collaboration. To win, you have to work as a team. If it’s that simple, why doesn’t everyone do it?

Imagine. It’s 10.15 in the morning. The team’s just finished their daily standup. One of your team members seems to have gone missing.

The Office

(In an open plan office)
S.: Morning!
P.: Morning. (Pause) Everything all right?
S.: Sorry I’m late. I had to go to the vet.
P.: I didn’t know you had pets.
S.: I don’t.

It turns out Sruthi had found a sparrow lying injured on the road on her way to work. She immediately took the wounded bird to a local vet, but they refused to look after it, so Sruthi took it home and made it a comfortable little bed on her kitchen table. She then fed it some milk before setting off to work again.

Sruthi and I had had another of our 1-2-1 Agile Coaching sessions the week before. I learned that she loved animals and would like to be a vet if she could do anything else other than her current job as a Java developer.

On that fateful morning when Sruthi saved the sparrow, we both knew that her detour wouldn’t negatively impact the project. The project deliverable was being integration-tested and we had to wait until the US dev team came online in the afternoon (UK time) before she could do any more testing.

Just before Sruthi went back to her desk, I asked her what state the sparrow was in. She said she couldn’t see any external wounds, but that the bird seemed very weak. ‘It’s likely the bird won’t be alive when you get home tonight,’ I said. Sruthi looked surprised. It was the first time I had to deliver that kind of bad news on a client engagement.

The next morning, the sparrow was gone, but Sruthi and I both knew we did the right thing.

Folks who are genuinely agile, understand that people and trust are at the heart of Agile. Is there anyone on your team you don’t trust? Why don’t you trust them? What does what you think about them tell us about you?