Blog

Better Decisions are as Easy as 1, 2, 3

Everyone in software development makes decisions, a lot of decisions. From product people deciding which features should be added to which products, to developers deciding how to implement those features based on this module or that function, we continuously make...

read more

Leadership Qualities

I recently googled “characteristics of a good leader.” Some of the results seemed to be from the the previous century:  strong authority, top-down decision making approach, clear vision, and strong communication. I won’t argue with clear vision or strong...

read more

Born or Made?

In the 1840s Thomas Carlyle gave a series of lectures that were later published as a book. His premise was that leaders are born with innate and unteachable traits. Leadership is the purview of a few very special people. Carlyle’s 19th century theory lives on, in...

read more

4 Steps to Better Communication

Solving Communication Problems During my first visit with a new client, Doug, the VP of Engineering said, “Don, if we don’t get a handle on quality, it’s going to kill us. For every story we released into production, there was a new defect logged.” I often find that...

read more

5 Questions to Frame the Problem Space

Jerry Weinberg defined a problem as "a difference between what I have and what I want." When solving our own problems, this can be difficult enough. When we solve problems for other people, which is most of what software development is about, the difficulty increases...

read more

Don’t Just Do Something …

The First Rule of Problem SolvingOdd as it seems, not all problems have to be solved. Action may actually create a problem that didn't exist in the first place. The problem-solving starting point should be "Don't just do something, stand there!" This non-action can...

read more

Training or Learning?

Many training classes are designed to reduce variation—to ensure that people approach a task the same way. These classes reduce variety another way. They’re designed for people in a particular functional role or specialty. Think programming language classes,...

read more

Mess or Problem?

Most of us in the software field are problem solvers. When we face a problem, we try to solve it. But some problems are vexatious—they don't stay fixed. In that case you may be facing many problems that are all tangled together—a mess. The Zeroth Rule of Problem...

read more