Evolution, Cupcakes, and Skeletons: Changing Design

Posted November 15, 2016 by Bill Wake in Learning

What’s the best way to deliver and grow systems? There are several possible approaches. One approach is pure waterfall: “plan the work and work the plan”, phase by phase, with a big bang delivery at the end. Measure progress by “(estimated) % complete”. A second approach is used by many Scrum teams: develop a Release […]
Read more

No comments


Harmony and Identity: Generalizing Code

Posted July 21, 2016 by Bill Wake in Refactoring

Do you find yourself creating code for similar methods or classes, and feel like it shouldn’t be so hard? You may be able to Harmonize Code and Introduce Identity Elements to make methods and classes melt away.
Read more

4 comments


The Swap Statement Refactoring

Posted July 7, 2016 by Bill Wake in Refactoring

When we wish statements were in a different order, the Swap Statement refactoring sometimes lets us swap them.
Read more

No comments


The Nested-If Swap Refactoring

Posted June 22, 2016 by Bill Wake in Refactoring

You sometimes would prefer that two nested if statements were in the opposite order. The Nested-If Swap lets you change that order—under certain circumstances.
Read more

2 comments


Isolate-Improve-Inline: The 3-I Refactoring Tactic

Posted May 5, 2016 by Bill Wake in Refactoring

I often find myself using a particular multiple-step refactoring pattern that I call 3-I (or III): Isolate-Improve-Inline.
Read more

3 comments


Whole Stories for Whole Teams

Posted March 4, 2016 by Bill Wake in User Stories

What do we do about stories that are too big for small teams? The most common solution is to form a large team, grouped into sub-teams by subsystem, layer, or technology. Then turn too-big stories into two-level stories: an upper-level whole story that makes sense to a user, and lower-level stories organized according to the […]
Read more

2 comments


Hazardous Code Death Spiral (and a Cure)

Posted November 2, 2015 by Bill Wake in Refactoring

Hazardous code begets even more hazardous code—eventually.
Read more

No comments


Multiple Asserts Are OK

Posted September 29, 2015 by Bill Wake in Software Design, Test Driven Development

Some people suggest we should restrict ourselves to a single assertion per test. Are multiple asserts in a test ever OK?
Read more

3 comments


5 Lessons for Learning from Piano Lessons

Posted June 11, 2015 by Bill Wake in Learning

I’ve returned to piano lessons after a 30-year gap, and I’m struck by the challenges of learning, whether for fun or work.
Read more

No comments


Metrics Mislead!

Posted May 14, 2015 by Bill Wake in Anzeneering, Coaching

Metrics mislead! In complex domains like software development, metrics can’t capture everything important. Setting goals for metrics can make things worse.
Read more

6 comments