Just a few words about why I publish all these words, going over and over the same topics again and again, repeatedly and repetitively.

Bill Tozier thinks I coined the phrase “Programming in Public” to describe my style of writing programming articles. Rather than show a perfect flow to a well-crafted solution, I show my real struggles to understand what I want and how to do it, leading to an imperfect solution. I think this is pretty much what happens in life, and I’m hoping that people will learn a bit from how I think, and take a bit of comfort from the fact that I continually screw up, probably more than they do1.

I don’t know if I created that term or not. Be that as it may, today we’re going to talk about Thinking in Public, which is probably even worse than programming in public. I promise I’m not that guy on the train who’s drooling and talking to himself or to some invisible or absent interlocutor. But I do like to share how I struggle with the ideas I write about and I do it for two important reasons.

First, it helps me organize my thoughts.

Second, it might help you think a bit more deeply about these topics, or other topics that you like to think about. Maybe you can pick up the patterns of thought that I seem to be using, or maybe just become a bit more comfortable that you don’t have to know the answer, or even reach an answer, to do some useful thinking.

Third2, hearing things said in different ways may help you, the reader, to understand what I’m saying. If my first attempt doesn’t quite fit into your brain, maybe the seventh one will.

I’ve had a good time over the past half-century, trying to learn about and understand software development, and how to do it alone and with teams. And I’ve had an outstanding time the past two decades, trying to understand and share ideas around “Agile”. My book, The Nature of Software Development, tries to describe my informed intuition about software development. It’s not about the details of coding or refactoring: it’s about how I think about software and how it fits into things. If you’ve not read it, please do get a copy. It’s full of colored drawings, so I prefer the paper version or a color reader. And I prefer that you get it from Pragmatic, because that way I get a larger royalty. Pardon my greed.

But I digress. As I wrote about just this morning, the thing we call “Agile” is a work of informed intuition. It’s something we have internalized, not something we can do by working through a checklist. It’s a thing of the heart.

In the most recent few years, one of my efforts has been to understand Scrum, to internalize it. And I try to express that internal view here and on Twitter, because despite its flaws, I think Scrum is a pretty decent place to start learning about “Agile”.

And, of course, I’ve been writing a lot about Dark Scrum™, which is Scrum gone wrong. I mostly attribute Dark Scrum to leadership not understanding how to lead in an “Agile” or Scrum situation. And I try to inform Scrum team members of ways they can help to improve their situation, mostly by delivering regular Increments of software.

Most recently, of course, I’ve been considering whether there are fundamental issues in Scrum and other “Agile” methods, the way they’re taught, the way they’re sold, the way they’re taken up, that push them to go wrong. And I’ve been thinking about how I’d define a new framework, if I were going to do that, which I am not3.

Now, to me, this all connects, and I’m writing this little note to express that it’s supposed to connect, so that maybe you’ll more likely see the connections, and maybe you’ll be a bit better equipped to build up your own informed intuition about how all this stuff hangs together.

I’m sure that it does all hang together, and sometimes I think I have a handle on a bit of it. The world is fractal and quite large, so I sure won’t ever have it all, but once in a while I do get the sense that I’ve grasped something important. When I do, I make a point of sharing it.

But the point here is that I’m “thinking in public”. I’m sharing with you the things that seem to me to matter. I hope that some of them matter to you. More important, I hope that you continue to think about and struggle with the things that are important to you, so that you can build up your own informed intuition about the things you care about.

Enjoy!


  1. If nothing else, one can always try to serve as an example to others of what not to do.

  2. I lied about the “two”. But the second item is the important one here, helping you think more deeply.

  3. “The old guy doth protest too much, methinks.” – Wm.S., private communication.