Evolutionary Design

Posted August 12, 2015 by Joshua Kerievsky in Anzeneering, Learning, Software Design

What is agile’s most valuable practice? It’s called Evolutionary Design. No other practice does a better job of managing risks in software development. Evolutionary Design influences how we organize people and teams, plan what to build, collaborate, integrate, develop and release. So why aren’t more people using it? Perhaps they don’t understand Evolutionary Design and […]
Read more


Are Your Development Defenses Dangerous?

Posted February 9, 2015 by Joshua Kerievsky in Anzen, Anzeneering

To illustrate how defenses can endanger us, let’s go back 600 years to the Battle of Agincourt. In Managing the Risks of Organizational Accidents, James Reason uses this 1415 French vs. English battle to illustrate how even today’s high-tech defenses can endanger us. Entering the battle, the English force was lightly-clad and about one fifth […]
Read more

1 comment

Golden Gate Safety

Posted January 29, 2015 by Joshua Kerievsky in Anzen, Anzeneering

In the 1930s, during the Great Depression in the United States, building bridges was a dangerous job. 24 workers died during the 1933-36 construction of the San Francisco-Oakland Bay Bridge. One Bay Bridge engineer recalled, The worst aspect was not being able to show any fear. Those steelworkers were merciless, and to preserve our self […]
Read more

No comments

Agility Requires Balance

Posted January 28, 2015 by Joshua Kerievsky in Agile Transition, Anzeneering, Extreme Programming

Most agile software teams have a serious imbalance in technical and managerial agility. The imbalance begins early, as many teams and organizations believe they will be agile simply by adopting agile management practices like sprints, standup meetings and storypoint estimations.
Read more

No comments

Improving Extract Method

Posted November 19, 2014 by Joshua Kerievsky in Refactoring, Software Design

Automated refactoring tools have gotten better and better over the years, yet the pace of improvement seems to have slowed dramatically. I now find myself living with flaws that I’d love to see fixed. For example, the Extract Method automated refactoring seems to be unable to do something really basic, like recognize cases of duplicated […]
Read more


Refactoring to Patterns Ten Year Anniversary Sale

Posted September 18, 2014 by Joshua Kerievsky in Agile eLearning, Learning, Software Design, Software Patterns

It’s been ten years since my book, Refactoring to Patterns, was published and twenty years since the gang-of-four released their classic, Design Patterns. I was thrilled when Refactoring to Patterns won a 2004 Jolt Cola award and delighted to see the book translated into seven languages. Since the publication, I’ve co-authored a series of in-depth, […]
Read more

No comments

TDD Is Dead Sale

Posted April 30, 2014 by Joshua Kerievsky in Learning

We recently found out that Test-Driven Development is dead!! David Heinemeier Hansson broke the awful news on his blog. We are heartbroken, to say the least! Over the years we’ve come to rely on TDD for: focusconfidencestress reductionspeedsimplicitysafetybuildingdeployingrefactoring What will replace it now that it is apparently dead?!? May TDD Rest In Peace (if it […]
Read more


Benefits of Continuous Deployment

Posted April 10, 2014 by Joshua Kerievsky in Anzen, Anzeneering, Extreme Programming

Is Continuous Deployment (CD) genuinely beneficial to organizations or just a technical geek obsession that doesn’t really provide value? I will answer that question by describing Industrial Logic’s experience with CD, which began in 2010. To get CD to work, we first had to make our Continuous Integration rock solid. Doing that forced us to […]
Read more


Heroism Is Hazardous

Posted March 27, 2014 by Joshua Kerievsky in Anzen, Anzeneering

Does your shop routinely rely on heroism to get work done or solve emergency problems? A culture that relies on or encourages heroism is usually ignorant of the fundamental hazards present in the workflow, code base and workplace. We must not blame the heroes in such a culture. The real issue is almost always a […]
Read more


Visualizing Hazardous Code

Posted March 4, 2014 by Joshua Kerievsky in Anzen, Anzeneering

Do your software development tools visualize the hazardous areas of your code? Most do not. This makes our job more dangerous because important hazards are invisible.
Read more

1 comment