• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

Give Up Explicit Preparation for Change

Aug 17, 2008 by JD

How can you be prepared to go in whatever direction the business or the system demands?  Do you need to prepare for every possibility?  No.  Instead, you give up explicit preparation for any change.  In Extreme Programming Explained: Embrace Change (2nd Edition) (The XP Series), Ken Beck writes that if you expect nothing, you can no longer be surprised.

Now You Are Ready to Learn

Beck writes about a student learning to become a swordsman.  The master strikes the student each time his attention slips.  The student becomes paranoid about getting whacked and eventually gives up:

Soon he sat down and cried in frustration.  “I just can’t take it.  I’m not cut out to be a swordsman.  I’m going home.”  At that moment, without understanding exactly why, he drew his sword and whirled, blocking the master’s stroke.  The master said, “Now you are ready to learn.”

 

We’re Vulnerable to the Eventualities We Can’t Imagine

Beck writes:

We can drive ourselves crazy with expectation.  But by preparing for every eventuality we can think of, we leave ourselves vulnerable to the eventualities we can’t imagine.

Expect Nothing and You Can No Longer Be Surprised

Beck writes:

There is another way.  The team can be perfectly prepared at any moment to go in whatever direction the business or the system demands.  By giving up explicit preparation for change, paradoxically they become entirely prepared for any change.  They expect nothing.  They can no longer be surprised.

Key Take Aways

I’m a fan of having a fallback position, but the point here is to be more adaptable to change over trying to anticipate every possibility.  Here’s my key take aways:

  • Expect nothing and you can no longer be surprised.
  • Expect the unexpected, but don’t over engineer for it.
  • Make the most of the situation.
  • Don’t spend time planning for exceptions that you could spend taking action.
  • Rather than explicit preparation for change, be adaptable and flexible in your approach.
Category: Project-ManagementTag: Agile, Project-Management, XP

About JD

Previous Post:20-80 Rule and XP
Next Post:Insourcing

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future