Cover art for podcast PawCast with GeePaw Hill

PawCast with GeePaw Hill

91 EpisodesProduced by GeePaw HillWebsite

GeePaw is a software development coach with over 30 years in the field. His unique understanding of how to enact lasting change among teams has established him as a leader of the agility concept known as "Change-Harvesting". Here you can find his weekly podcasts.

episodes iconAll Episodes

Change Harvesting Makes Local Changes | #91

September 18th, 2020


We change-harvesters say human, local, oriented, taken, and iterative. We talked about human a couple of day ago, let's take on local. A quick sketch of the idea, and a couple of cases will do, yeah? When we say that we …

Change Harvesting Emphasizes The Human | #90

September 15th, 2020


Human, local, oriented, taken, and iterative: this is how change-harvesting in software development approaches change in most contexts in the trade. Let's take "human" today, and see where it leads us. When we use that …

The Cost of Rework Avoidance Theory | #89

September 11th, 2020


To make the case for Change Harvesting as an approach, it's important to understand that the cost of Rework Avoidance Theory isn't imaginary or subtle, but both concrete & quite high. The most essential aspect of …

CHT Means Different Design Imperatives | #88

September 8th, 2020


Change-harvesting software design centers "online" brownfield development: change-centric thinking. Most older sets of design imperatives are based …

Human-less Change Fails | #87

September 4th, 2020


A lot of the reasons that change fails, inside & outside technical organizations, come down to one broad statement: the people who have to make the changes are humans, and the people who want them to make the …

CHT-Style Implementation | #86

September 1st, 2020


When we did our compare & contrast of the working models underpinned by Change-Harvesting theory (CHT) vs Rework Avoidance Theory (RAT), we temporarily sidestepped the specific differences of the implementation …

Change Harvesting vs Rework Avoidance | #85

August 28th, 2020


Let's compare and contrast the RAT (Rework Avoidance Theory) model of software development with the CHT (Change Harvester Theory) model. The …

Iterative User Value in Flows | #84

August 25th, 2020


A flow app, one that steps the user through an acyclic graph, typically gathering info at each stage, can be built to provide iterative user value by gradual refinement. Let's look at how that's done. The standard flow …

The Correlation Principle | #83

August 21st, 2020


The correlation principle says that our productivity is tightly correlated with the internal quality of software. The two go up together, and they go down together, and you can't trade away the one to get more of the …

Iterative User Value | #82

August 18th, 2020


How do we iterate user value? How can we follow the "more smaller steps" approach and still deliver a positive experience for the user? Today let's …

Pathing: A Style of Laying Out Work | #81

August 14th, 2020


I do “pathing” when I project my work into the future: laying out a sequence of work steps, where each step ends with the code in a shippable state. More than design, and more than planning, pathing is a kind of …

Embrace Change: Modern Geekery Practices | #80

August 11th, 2020


We *change* software, therefore we want everything around us to support that: code, technique, tools, controls, tracking, planning, infrastructure, …

Pedagogy In The Trade: Changing Emphasis | #79

August 7th, 2020


I want to start talking about teaching in the geek trades. Today in particular, I want to talk about "emphasis", what our style & materials …

Retrospectives: Variety Is Key | #78

August 4th, 2020


I strongly recommend high variation in both format and facilitator of retrospectives. So let me sketch, as quickly as possible, the retro-scheme I …

TDD Tests Are First-Class Code | #77

July 31st, 2020


My standards for TDD microtests are the same standards I have for shipping code, and I follow them in microtests for the same reason I follow them in …

Re-Balancing Made, Making, and Makers | #76

July 28th, 2020


Some years back I realized my most beloved parts of our software movement could be characterized as re-balancing our approach towards the triad of …

Microtest TDD is Gray-Box | #75

July 24th, 2020


In the '70's, an important movement developed in testing theory, called "black box" testing. The idea is straightforward: We can prove our software works by treating it as a closed opaque container with only some knobs …

Understanding Incremental Switchover | #74

July 21st, 2020


The incremental switchover approach is my default response to any transformation problem I can't resolve in an hour. It's the secret to successful …

The RAT: Rework Avoidance Theory | #73

July 17th, 2020


Rework Avoidance Theory is a cluster of related ideas seeing a change as having a clear start-point & end-point and a straight & stable path between them. It draws its inspiration largely from logic based in …

Turning Implicit into Explicit | #72

July 14th, 2020


An implicit understanding is anything a skilled geek would have to be told before being set loose in your codebase to make a change. Implicit …

Model-View, The Desktop, and TDD | #71

July 10th, 2020


The basic idea behind all Model/View schemes, and there are several of them, is just this: draw a thick line between what your program does and how your program shows what it does. In other words, it's a compositional …

Helping Your Downstream Collaborators | #70

July 7th, 2020


Let's talk about ways to make life easier for downstream developers, be they front-end or dependent back-end people. Whether you have a bunch of …

Metrics and Three Traps | #69

July 3rd, 2020


In twenty years of coaching software development teams, I've seen maybe a hundred or more orgs try to figure out how to measure their process, and the majority of them have fallen into some mix of three traps: 1) the …

The Right Step | #68

June 30th, 2020


A lot of folks spend a great deal of time arguing about which step is the right step. A change-harvester would say to stop worrying about this so …

More on Small Steps | #67

June 26th, 2020


The single most important thing my years of doing XP helped me learn, specifically TDD and refactoring, is about the size of the steps. When I started it, I had in mind “small steps” that were, well, they weren’t really …

Pull & Swarm | #66

June 23rd, 2020


Pull & Swarm is a technique for approaching the workload in front of a small team. It amounts to pulling one story from our queue at a time, and …

Microtest TDD: Economics | #65

June 19th, 2020


The economic aspects of microtest TDD are inextricably tied to the operational aspects of it. If we concentrate only on the artifacts involved, we …

Hitting On Speakers (Rant-y) | #64

June 16th, 2020


I want to talk about this thing where you see someone on stage/screen presenting material about geekery, you decide you're attracted, and you send them mail or dm hitting on them.

You must not do this.

It is rude, …

Microtest TDD: More Definition | #63

June 12th, 2020


What's a microtest, anyway? I write a ton of tests as I'm building code, and the majority of these are a particular kind or style of test, the …

Microtest TDD: The Big Picture | #62

June 9th, 2020


I think of my style of coding as "microtest TDD". That can be misleading for folks, so let's take a walk over a few of the ideas, implicit and …

The Jump To Microservices | #61

June 5th, 2020


More seriously, the first piece of advice I'd give a monolith-owner about converting to microservices would be to work very hard to factor their …

An Intro to Spikes | #60

June 2nd, 2020


I use spikes, periods of code-changing activity that end with no pushes, all the time, at small scale and large, as a way to develop my path. It's a vital technique, and it's often underplayed, so let's spend some time …

Steps, Value, and Change-Harvesting | #59

May 29th, 2020


Let's talk about steps and value. Out in the world, folks make a lot of decisions involving these ideas, they reason about them. We want to make sure …

My Best Bug | #58

May 26th, 2020


I shipped a word processor that formatted the hard drive every 1024 saves. Must have '84 or '85. I was a bright 25-year-old with about five years in …

Juniors & Seniors | #57

May 22nd, 2020


Lotta inspiration for junior geeks stuff floating around. I'm having a low productivity day today because, well, you know all of that, so I'll take a minute nd pitch in. Do you know what I did for about twelve elapsed …

Using the Strategy Pattern | #56

May 19th, 2020


The strategy pattern lets you make "pluggable algorithms", so clients have different behavior without having different code themselves. We often use it to capture the "consequence in code" of some condition, which we …

Dealing with Nulls | #55

May 15th, 2020


Another refactoring topic today: dealing with nulls. There are a bunch of techniques, but they amount to a) don't, and b) do but only one time ever. …

Refactoring Strategy: Move It Where You Can Test It | #54

May 12th, 2020


When I can't test it where it is, I look to move it somewhere else, where I can test it. Today's notion isn't so much a single refactoring as it is a strategy that can be achieved in different ways (and different …

Refactoring: Invert Dependency With Observer | #53

May 8th, 2020


Another refactoring today: Use the observer pattern to invert an infelicitous dependency. In and of itself, this is a modest refactoring, but its smell often co-presents with others, and unravelling it all can be …

Refactoring: Demeter-Wrapping | #52

May 5th, 2020


Demeter violations are places where a client accesses not just an upstream service, but that service's upstream services, or even that service's …

Refactoring: Keep It Running | #51

May 1st, 2020


A key value for those who take up the change-harvesting approach: "keep it running". This is actually a direct result of human, local, oriented, …

Chunking & Naming | #50

April 28th, 2020


In our continuing conversation about refactoring, I want to go a little abstract today, and talk about chunking and naming. Naturally, a topic this important has already been addressed by a stupid joke in the movie

Large-Scale Transformation and the Bias for Action | #49

April 24th, 2020


Change-harvesting takes the stance that our most reliable strategy for change is a highly iterative process of act-look-think, in roughly equal proportions, repeated in small local cycles. We oppose that approach to …

Large-Scale Refactorings | #48

April 21st, 2020


First things first, "large scale refactoring" is really a colloquial expression, a shorthand we sometimes use, but in my experience there is no such …

Second-Order Refactoring: Narrow The Question | #47

April 17th, 2020

Another small second-order refactoring for you today. I call it "narrow the question".

If you're asking an object for data, ask for exactly what you want to know, instead of what you'd need to compute what you want to …

Second-Order Refactoring: Swap Supplier and Supply | #46

April 14th, 2020

As a hardcore user of TDD and refactoring, there are a number of what I think of as "second tier" refactorings that I use quite frequently.

In one's first intro to refactoring, one sees a lot of "rename", "re-order", …

Working By Stories - A Change Harvester's Take | #45

April 10th, 2020


Let's talk about "Working By Stories" for this first one. I'll describe what I/we mean by that, and then we'll try to look at it through our change-harvesting lens. I had thought to do TDD & Refactoring first. But …

Iterative Change - What and Why | #44

April 7th, 2020


The heart of the iterative approach is assuming change. We embrace it, we plan for it, we expect it, we encourage it, we enjoy it, we see it as the central act that defines what we are and what we do. A dynamic unity is …

Taken Change - What and Why | #43

April 3rd, 2020


To get to there, we want to start from, work with, adjust, and nurture what we have right here. A couple of examples might tighten this right up for you. We'll take one from changing code and one from changing process. …

Oriented Change - What and Why | #42

March 31st, 2020


We've said that leaning in to the humans in our systems leads us to locality pretty directly. We say "find the smallest easiest nearest change with detectable outcome and make it". But this gives us a puzzle: there are …

Local Change - What and Why | #41

March 27th, 2020


The change-harvester uses these five words to describe the properties of successful change: human, local, oriented, taken, and iterative. Let's talk …

Human Change - What and Why | #40

March 24th, 2020


Today, let's talk about the change-harvesters use of the concept-cluster we describe with the adjective "human". We advocate that both the what and the how are best centered around the humans in our systems. The …

Multivalence for Change Harvesters | #39

March 21st, 2020


Monovalence is creating a kind of value "one ring to rule them all" then either coercing any other type of value into that one ring or ignoring it …

Lining It Up That Way (Rant) | #38

March 18th, 2020


The reason it's so important for you to see 100 lines of code on your screen is that you have arranged the code so that 100 lines seems like a sane quantity. What you're doing is working against your own capability.

TDD On The Front End | #37

March 10th, 2020


A recurring respondents' theme is "TDD is irrelevant in front-end code". It's easy to offer/receive this comment combatively, but I think a little …

The Change-Harvester's Value | #36

March 6th, 2020


The change-harvester's take on "value" is quite different from the software trade's "standard" view. To get at that difference will take us a little time.

Three differences stand out for me just now, and they have to do …

Readability and Scannability | #35

March 3rd, 2020


I distinguish quite strongly between "readability" and what I call "scannability". I think that our trade's pedagogues, even our very good ones, conflate the two, and in so doing inaccurately describe programming and …

My Direction Forward | #34

February 28th, 2020


Here's a thing that happens: "We tried your advice by not trying your advice except partly where we did what we want but gave it your labels and it didn't work and therefore you are wrong."

Now, if you've given that …

Kontentment and Human Arcs | #33

February 25th, 2020


Aight. I been away from programming for a couple of months, but there was a reason I started talking the other day about the kontentment project: I’m wanting mucho change in it. For a talk I’m giving, I want the ability …

Frames In The Software Trade: An Example | #32

February 21st, 2020


We've talked about frames adding up to worldviews adding up to cultures, but it all feels pretty vague in its possible importance. We need some …

The Kontentment Project | #31

February 18th, 2020


If you look at my videos, like the "Lump Of Coding Fallacy" for instance, they are basically two-layered. At the back, you got me as a talking head. In front, you got text, lines, and images. Stuff fades in and fades …

The Cost of Changing Microtests | #30

February 14th, 2020


Here's one: a respondent says, "If I write a lot of small tests and I change how a feature works, I have to change or throw out all those microtests, which is a lot of work." (The respondent proposed an answer for this …

How I Work (Test-Driving Mix) | #29

February 11th, 2020


A decade ago I coined the term "microtest" for the kind of tests I write (or 95% of them). I found it easier to give people a new word than to try to …

Discipline: A Short Rant | #28

February 7th, 2020


People use the word "discipline" reasonably often when they talk about the software trade. I tend to avoid that word, and I wish more folks followed …

Programming Interviews For Dummies | #27

February 4th, 2020


Before anything else, there's the series titles, and I'm going to make a joke: I always wanted to write "Low Self-Esteem For Dummies!" and see how …

Frames: Build, Race, and More | #26

January 27th, 2020


When we talked about "if all you have is a hammer", we mentioned frames, and I mentioned Race, Build, and More, but then we kept right on going. I want to circle back now, because our heavy reliance on these causes a …

Change-Harvesting: The How | #25

January 22nd, 2020


The central concept of a dynamic unity is change-harvesting: make a change, harvest its value, use that value to make another change, over and over, change after change, world without end. We spoke the other day about …

Change-Harvesting and the Dynamic Unity | #24

January 18th, 2020


"We call a thing a "unity" because we experience it as a whole thing. It has an inside and an outside and a border. It might be made up of other …

RAMPS - Affecting Safety | #23

January 13th, 2020

  1. Emphasize open disputation. If we disagree, that's a *good* thing, not a bad one. It means we have more than one idea in the room, and we're in the …

The Camerata is Launched! | #22

January 5th, 2020


"A camerata -- h/t Jess Kerr for that term -- is a group of people working on a common problem, both together and separately. Part salon, part …

If All You Have Is a Hammer | #21

December 30th, 2019


"Nearly all significant change in human behaviors, individual or group, depends on three things: a new technique, a new mindset, and a path that can reach both. The geek trades generally overvalue the technique, …

RAMPS - S is for Safety | #20

December 23rd, 2019


"When people feel unsafe, there are usually only two reactions. One is total silence. The other is defensive anger. I have been in workplaces where 100% of the discourse was either one of these or the other. Because …

How I Work - Preaching And Practicing | #19

December 17th, 2019


"A respondent asks, "Are you always able to practice what you preach? I don't mean intentionally dropping but unintentionally as your mind is sloppy. …

RAMPS - Ways to Affect Purpose | #18

December 11th, 2019


"I try to seek both multiplicity and diversity in the purposes we offer to the individuals around us. Both of those words matter. We want many …

RAMPS - Purpose is Service to a Greater | #17

December 7th, 2019


"Those who rate this band of the motivational spectrum highly can be go-to workhorses, but only if we keep them connected to their valued greater. If rhythm is largely focused on the distribution of "feels good" through …

RAMPS - Ways to Affect Mastery | #16

December 4th, 2019


"We talked about the widespread pernicious conceptual cluster we call "finish-line efficiency": the idea that software development is basically a race, w/a start, a well-marked track, and a precise finish line some …

RAMPS - Mastery is Opportunity to Grow | #15

December 3rd, 2019


"When my motivational spectrum calls for a high degree of mastery, I do my best work when it is just a little over my head. People sometimes confuse the drive for mastery with a drive to know everything. But it's not …

RAMPS - Ways to Affect Autonomy | #14

November 30th, 2019


"The more we need creative technical work, the more we have to concern ourselves with providing the humans who do it the adequate autonomy to do it well. Machines can't give us what we need, and the extent we build …

How I Work - Just Programming Mix | #13

November 28th, 2019


"As a pure code monkey, my greatest asset is unquestionably my ability to organize, to rapidly arrange and re-arrange ideas out there in mind-stuff, where the Platonic forms live. To do that, I have to know where things …

RAMPS - Autonomy is Freedom to Move | #12

November 25th, 2019


"As the nature of work has become a matter of workers interactively navigating complex adaptive systems -- ecologies, really -- processes that center …

TDD Pro-Tip: Suspect Sentinel Returns | #11

November 21st, 2019


"Now, there are no bad dogs. Sentinel returns aren't inherently evil: there are two reasons why they're ubiquitous down there at the bottom of your stack, a cut or two above the metal...But every sentinel return in your …

RAMPS: Ways to Affect Rhythm | #10

November 20th, 2019


"Getting good Rhythm, a well-tuned distribution of "feels good" over time, is incredibly difficult to achieve through formula. This is exactly …

Change Pro-Tip: Reset | #9

November 18th, 2019


"A reset like that is a kind of mutual suspension of distrust. It's a "play like", as in "play like we haven't built up all this cruft between us". To really work, it seems like it has to cut both ways, it has to be a …

RAMPS - Rhythm is Tension and Release | #8

November 15th, 2019


"Rhythm is about sequences of alternating tension and release. Noticing, orchestrating, and managing the levels and timing of those sequences is one way I can affect the motivation of myself and others...During the …

RAMPS - A Way I Approach Motivational Puzzles | #7

November 13th, 2019


"So, too, in this perhaps overblown metaphor, I'm taking what we call "motivation", and treating it like light, breaking it into component bands, and thinking about the various motivational puzzles one encounters in …

Stories about Stories | #6

November 10th, 2019


"There is no story in the history of the English monarchy that could not be readily re-framed as the story of mobsters and their heirs wielding raw …

How Stories Change Things | #5

November 7th, 2019


"When I say tell and re-tell the story of us until it becomes the story we want, bringing us together in a culture of kind and creative community, I …

What I'm Up To | #4

November 5th, 2019


"I don't know what will thicken the software making trade's culture. But I know (part of) what I'm trying to do: tell the story of us, re-tell it, …

Thin Culture and Stories | #3

November 1st, 2019


Episode 3 is now live. If you have any feedback you can always tweet @GeePawHill on Twitter, or drop a voice message via the voice messages link here …

Easiest Nearest Owwie First (ENOF) | #2

October 28th, 2019


When facing especially weak code, it’s easy to feel daunted; there just seems so much wrong with it. To get my mojo on, I find the simplest infelicity to fix, I fix it. Then I do it again. Everyone encounters code from …

When to Start TDD | #1

October 21st, 2019


First Episode of the GeePaw Podcast is now live! These episodes will be posted every Monday morning and will go hand-in-hand with either an old or …

Loading ...

Are you the creator of this podcast?

Verify your account

and pick the featured episodes for your show.

Listen to PawCast with GeePaw Hill


A free podcast app for iPhone and Android

  • User-created playlists and collections
  • Download episodes while on WiFi to listen without using mobile data
  • Stream podcast episodes without waiting for a download
  • Queue episodes to create a personal continuous playlist
RadioPublic on iOS and Android
Or by RSS
RSS feed

Connect with listeners

Podcasters use the RadioPublic listener relationship platform to build lasting connections with fans

Yes, let's begin connecting
Browser window

Find new listeners

  • A dedicated website for your podcast
  • Web embed players designed to convert visitors to listeners in the RadioPublic apps for iPhone and Android
Clicking mouse cursor

Understand your audience

  • Capture listener activity with affinity scores
  • Measure your promotional campaigns and integrate with Google and Facebook analytics
Graph of increasing value

Engage your fanbase

  • Deliver timely Calls To Action, including email acquistion for your mailing list
  • Share exactly the right moment in an episode via text, email, and social media
Icon of cellphone with money

Make money

  • Tip and transfer funds directly to podcastsers
  • Earn money for qualified plays in the RadioPublic apps with Paid Listens