Toward a Book of Form

Exploring Structural and Behavioral Abstraction

Michael Feathers
July 16, 2019

I’m fascinated by correspondence – when we see the same pattern in more than one place, or even a very different domain. A good example is Postel’s Law, sometimes known as The Robustness Principle. Postel's Law states that when you are designing components in software you should design them so that they are open to accepting many kinds of . . .

Read More

Groups Are About The Other

Michael Feathers
June 20, 2019

One of my favorite essays from the early 2000s is Clay Shirky’s A Group Is It’s Own Worst Enemy. It describes a dysfunction of on-line communities that is very familiar to us now in the age of social media.Communities often start as free spaces, but eventually chaos and harassment appear. Once they do, quite a bit of the group’s activity . . .

Read More

The Cognitive Tech of Technical Discussions

What can we do when we glitch?

Michael Feathers
February 28, 2019

How do you think?

It’s an odd question.

People think about thinking all of the time but they seldom talk about how ideas come to them. To the extent that I’m aware of my own process, I recognize that there’s a strong visuospatial component to my thinking. In my mind’s eye I see colors and shapes. When someone is talking, . . .

Read More

Testing Yourself

Growing Through Refactoring

Michael Feathers
December 06, 2018

These are interesting times for people who care about refactoring. The 2nd edition of Martin Fowler’s book Refactoring has just been released. As if that weren’t enough, Kent Beck recently wrote up a workflow called test && commit || revert, which can be seen as a new alternative to Test-Driven Development.

It might not be . . .

Read More

Orange Code

What humble citrus fruit can tell us about software

Michael Feathers
August 28, 2018

Whenever I work on unfamiliar code I start extracting methods. When I do this, I look for chunks of code that I can name - then I extract. Even if I end up inlining the methods I’ve extracted later, at least I have a way of temporarily hiding detail so that I can see the overall structure.

When I’m working with someone, often they . . .

Read More

Does Software Understand Complexity?

Reflections from ICCS2018

Michael Feathers
July 28, 2018

This past week I was at a conference with some wonderful talks, but I also enjoy the hallway track - the conversations you have with people during breaks. You trade experiences and eventually you get to the question: “what do you do?” My answer started with one word: software. The people I met had a range of reactions but often they spoke . . .

Read More

The Loss of Locality

Social effects of increased communication

Michael Feathers
March 27, 2018

Silvrback blog image
One of the things about having kids is that their experiences put cultural change in sharp relief. You see the issues they deal with and think back to what you were doing when you were the same age.

Although my children are older now, I vividly remember conversations we had back when they were in elementary school and the . . .

Read More

Archive
   Subscribe by email and never miss a post.