When testing tricky collaborators, we may create fake or mock objects to make life easier. In eff...
What’s the best way to deliver and grow systems?
Do you find yourself creating code for similar methods or classes, and feel like it shouldn’t be ...
When we wish statements were in a different order, the Swap Statement refactoring sometimes lets ...
The most important reason to use the Nested-If Swap has to do with the power of symmetry. When th...
I often find myself using a particular multiple-step refactoring pattern that I call 3-I (or III):
What do we do about stories that are too big for small teams?
Hazardous code begets even more hazardous code—eventually.
Some people suggest we should restrict ourselves to a single assertion per test. Are multiple ass...
I’ve returned to piano lessons after a 30-year gap, and I’m struck by the challenges of learning,...
Metrics mislead! In complex domains like software development, metrics can’t capture everything i...
Interesting objects collaborate, but some collaborators are tricky to work with.
Writing something in the form of a user story when it's not about users of the system misses the ...
When you're doing Lean or Agile development, writing effective user stories can be tough. The INV...