Posted on

An opportunistic coaching moment

At one of those massively-wasteful, multi-day SAFe Inspect and Adapt events, held at an offsite conference center, a couple hundred people were jammed closely together in a line for the lunch buffet. There was plenty of food, but the procedure to get it was very cumbersome and lengthy.

A senior IT manager at my client happened to be quite near me in line. He remarked, “This is crazy!”

I replied, “If they ran this place like an IT shop, they would solve this problem by hiring more cooks.”

“But…but that isn’t the problem,” he said quizzically.

“Exactly!” I said.

He didn’t laugh, but others did.

Posted on

What skills does a technical coach need to have?

What skills does a technical coach need?

One of the goals of my present coaching engagement is sustainability, defined as the ability to continue with the improvements after the coaches are gone. To that end, we’ve been identifying internal people who have the potential to become effective technical coaches. One manager asked us for a short list of key skills that a technical coach ought to have. Answering that question has been quite a challenge. It occurs to me that other people may be asking the same question, so it might be useful to discuss it publicly.
Continue reading What skills does a technical coach need to have?

Posted on 7 Comments

I know how to tie my shoes

Recently there have been numerous discussions online about the difficulty of convincing people to try unfamiliar software development techniques that technical coaches and mentors consider useful. The same discussions have been taking place for many years, with no progress. Why is there no answer?

Continue reading I know how to tie my shoes

Posted on 3 Comments

How to avoid the local optimization problem when coaching at the team level

A recent Twitter discussion inspired me to re-think a few things about how to effect meaningful change at the organizational level and the team level. (Funny how Twitter seems to serve that sort of purpose, which may be above and beyond the usage pattern its creators envisioned initially. But I digress.)

During the first few years I worked in the general area of process improvement, I functioned mainly as an “agile” coach at the team level. Through those experiences I tried to understand how each method or practice worked mechanically as well as applying the “agile” values and principles on the cultural dimension, and started to learn how psychology and organizational sociology play into software development practices and delivery methods.

It didn’t take long for me to realize that the way an individual development team goes about its work actually has relatively little impact on the effectiveness of the end-to-end delivery process. I continued to look for the key leverage points in organizations that might yield the greatest positive effect for process improvement. I often found myself venturing far afield from the teams I had been engaged to coach, because time and time again I discovered that the real problems with delivery lay well outside the team’s jurisdiction.

Continue reading How to avoid the local optimization problem when coaching at the team level

Posted on 1 Comment

Thor’s hammer had a name, so why can’t mine?

Mjölnir.

Thor’s hammer was called Mjölnir. Cool name for a problem-solving device.

Liza Wood commented on a recent post of mine in which I lamented the overuse of the word, "agile," and the ill effects of that overuse. She wrote, in part:

I completely understand why you have become disenchanted with word "Agile", but I am sticking with it for now. For the majority it’s still at least a starting point to have a pragmatic conversation about product development (not just software).

I wonder about that. Is the word really a starting point for pragmatic conversation? Different people have had different experiences with that. My experience has been that people already have some pretty firm ideas about the implications of the word, "agile." A recurring pattern is that a change agent goes into an organization and happily proclaims, "Oh, boy! We’re going Agile!" To his/her surprise, the people in the organization do not react to the proposition joyfully. The word "agile" connotes Happy Things to the change agent. What does it connote to other people? Why are they not happy to hear it?

Ron Jeffries’ classic article, We Tried Baseball and It Didn’t Work, suggests an answer.

Continue reading Thor’s hammer had a name, so why can’t mine?

Posted on

Give me a lever, and…

An opportunity for improvement came up recently on a coaching engagement that reminded me of the book, Switch: How to Change Things When Change Is Hard, by Chip and Dan Heath. The authors found that in a wide range of circumstances, people had approached very challenging changes in a similar way; basically, by finding the bits that were working well and using them as the basis for further improvement.

Sometimes the bits that are working well don’t look all that great at first glance. One of the stories the authors of Switch share is that of Jerry Sternin, who was charged with improving the nutrition of children in Vietnam. Rather than approaching the problem as a large-scale infrastructure problem, as had been done up to that point with poor results, Sternin went to a single village to learn how children were fed.

He noticed that some children were well nourished. Setting aside those who had Party connections, and therefore access to better food, he investigated how the well-nourished children were fed. He found their mothers mixed additional sources of nutrients into their rice, including wild plants, small shrimp and insects that could be found without cost. To a Westerner like me, mixing insects into my rice sounds rather nasty; but sometimes opportunities don’t come at you waving their arms and shouting, "Hey! I’m an opportunity!"

Continue reading Give me a lever, and…

Posted on 1 Comment

The right kind of lazy

I consider test-driven development (TDD) to be a basic software development technique. I’ve used it in a wide range of circumstances for different types of applications in different domains based on different languages and tools. I coach people in using the technique, I run workshops at conferences on it, and I offer a two-day training class on it.

My only regret is that I didn’t learn about TDD earlier in my career. All those years doing things the hard way…time lost forever. Oh, well.

I use TDD and I like it, but I never try to “convince” anyone that they should use it, or even that it works well. I never suggest that TDD is a “goal” for an individual or for a team. TDD might help you achieve some other goal, but it isn’t a goal in itself. It’s just a technique.

And, let’s face it, nearly all the code in production today, worldwide, was developed without TDD. Nearly all the code under development right now is being developed without TDD. Clearly, programmers can get along without it.
Continue reading The right kind of lazy

Posted on

Get out of your own way!

This is a re-issue of a post from my old blog dating from December 17, 2006. It is a review of a session I attended at XP Days Germany 2006. I think it is still relevant today.


One of the most interesting sessions I attended at XP Days Germany was Developer Awareness, given by Shamsuddin Butt. Butt has a dual background in software development and psychology, which gives him a unique perspective on issues of organizational culture change, team dynamics, individual performance, and coaching.

In this session, Butt applied concepts from Timothy Gallwey’s book The Inner Game of Tennis to the question of individual and team performance in software development. In the book, Gallwey describes the “inner game” within a player between his/her Self 1, who is judgmental and controlling, and Self 2, who can realize the individual’s potential for high performance if only Self 1 would get out of his/her way. The basic idea is to feel what you’re doing and just let yourself do it, rather than trying to monitor, control, and criticize yourself from an internally-imposed third-party viewpoint.
Continue reading Get out of your own way!