Author: George Dinwiddie

George Dinwiddie is a Software Development Consultant and Coach with over twenty years of experience creating software ranging from small embedded systems to corporate enterprise systems. With a strong interest in lifelong learning, he has pursued more effective ways of creating software at the technical, interpersonal and organizational levels. As principal of iDIA Computing, LLC, he helps teams learn more effective software development techniques while accomplishing their current projects.

Bearing in mind that there are many factors of which I am unaware.

Last week I was corresponding with Esther Derby on the use of the Prime Directive in retrospectives, and how some people express difficulty in accepting it. She followed up that discussion with an excellent post titled “Are you doing your best?,” where she lists many reasons why someone may be doing their best under the circumstances, though not doing their peak work. When I saw that, I shelved the article I’d been writing on the topic. It’s remained on my mind, however, and I still have a bit to say about it.

Regardless of what we discover, we understand and truly believe that everyone did the best job they could, given what they knew at the time, their skills and abilities, the resources available, and the situation at hand.

— Norm Kerth, Project Retrospectives: A Handbook for Team Reviews

Read More

Learn the trade and the tricks will follow

I’ll never forget the 11th grade English class when Mr. Ervin departed from his usual lessons in literature, and lectured us on this topic for the full hour. “Learn the trade and the tricks will follow.” As he repeated this simple advice, he bemoaned the fact that everyone was looking for the shortcuts, looking for the quick and easy, trying to bypass learning any more than was necessary.

Where did he learn this advice? As a carpenter’s apprentice, he had noticed that the master carpenter always had some little trick or technique to apply in difficult situations to make them easier. Carpentry was hard work, and he though if he could learn all of these techniques, it would be much easier to learn. So he asked the master carpenter to teach him the tricks of the trade. “Learn the trade and the tricks will follow,” was the reply. Read More

3 Comments

Categories: Working Software

Tags: ,

Efficient don’t work for people.

Esther Derby commented on my Overcoming Resistance entry with an excellent list of reasons why people may appear to be resisting. Thank you, Esther!

She also said

Unfortunately, I hear many people–even those who hope to influence others to change–label people who are “resisting” as clueless, stupid, or selfish. Some would-be change agents attack the motives of the people who aren’t following their ideas, accusing them of wanting to bring the company down.

This may make the so-called change agent feel superior, as he/she belittles people who don’t get his/her wonderful ideas. But it doesn’t help him/her bring about change.

Well, it may make the so-called change agent feel superior, but I’d bet that it’s really an ego defense against feeling frustrated and helpless. Ineffective change agents need love, too.

“Hi, I’m George and I’m a so-called change agent.”

Read More

Oh, about that Notable Example…

In my post on Overcoming Resistance, I said, “I wanted to write an article with a shining example of a time when I didn’t try to overcome resistance, but used it to advantage, instead.”  Besides the Velvet Elvis principle that Don Gray describes, there’s another reason why one didn’t come to mind.

You see, actually listening to people doesn’t work in a big, noisy way like that.  Instead, it’s a quietly effective activity that doesn’t call attention to itself.

When was the last time you said, “Boy, I really listened to her, didn’t I!” Hmmm…  Doesn’t have the same verbal punch as “Boy, I really told her, didn’t I!”  It’s just more effective, that’s all.

Overcoming Resistance

Esther Derby posted an excerpt of a Management Consulting News interview with Jerry Weinberg where he answers the question of how to overcome resistance, “Yes. Don’t.” Oh, he says more there, and he can say a lot more on the topic, but that’s enough for the intro to this article.

You see, I wanted to write an article with a shining example of a time when I didn’t try to overcome resistance, but used it to advantage, instead. The problem was that I found myself in the trap that Don Gray frequently mentions, that when someone tells you not to think about something, you can’t help but immediately think about it. So what filled my memory was a time when I had tried, eloquently and earnestly, to overcome resistance on the part of my client. Read More

Interface between Domain layer and Persistence layer

What’s in a name?

I happened across Debasish Ghosh’s post “Inject Repositories, not DAOs in Domain Entities” and it triggered a few thoughts. In this post, he suggests that the Data Access Objects that perform database reads and writes should be wrapped in a Repository wrapper to isolate the domain layer from the details of the persistence layer. What do I think? Well, yes and no. Let’s look at this in a little more detail. Read More

Mentoring, as Team Leader

I was asked about how I would mentor people in the context of being the team leader. Tricky situation, that.

On the one hand mentoring people without their request is an instance of what Jerry Weinberg calls “inflicting help.” At best, it’s ineffective. Usually it’s worse.

On the other hand, an organization has a reasonable expectation that the people working there will improve over time. Who better to help a team do that than the team leader? Read More

1 Comment

Categories: Individuals and Interactions

Tags:

Studying patterns for Fearless Change

Fearless Change: Patterns for Introducing New IdeasDon Gray got me started, with his posting of 3×5 notecards for studying the patterns in the book, Fearless Change: Patterns for Introducing New Ideas, by Mary Lynn Manns and Linda Rising. I agree with him that it’s a wonderfully helpful book, and I thought the idea of creating cards to carry and study at odd moments was a good one. I’m just too cheap to buy the Avery cardstock–not when I’ve found that I can print ordinary 3×5 cards in my wife’s inkjet printer (an Epson C60).

So, at Don’s suggestion, I re-formatted his format and created both OpenOffice and PDF versions of the cards. I hope you find them useful, but be sure to read the book! Not only is that fair to the authors, but the cards will make a lot more sense to you.

[2020.07.07 Fixed broken link to Don’s version of the cards.]

1 Comment

Categories: Individuals and Interactions

Tags:

Testing that no errors remain

On the Test Driven Development YahooGroup, Alan Baljeu asked, “It is my impression that whenever a feature is added, there may be many things which are affected by adding that feature…. And by not considering those things, you introduce bugs into the software.” In response, he got two types of advice. One was specific suggestions of software construction techniques that can reduce the occurrence of errors by reducing the number of places that need to change when adding a new feature.

The second type was general testing advice. Alan admitted, “I don’t see a way to properly identify what new behaviour will need to be covered. I want to be sure I’m not forgetting cases, but currently I’m overlooking too many of these effects.” In other words, the current test coverage is not catching all the errors. Read More

4 Comments

Categories: Working Software

Tags: