Many of us today, myself included, think of Silicon Valley software startups as fast, nimble organizations who ship code immediately and run like the wind. Jim makes the point that to be agile — to run like the wind — you can’t run blindly and without restraint. You have to write code with safety mechanisms built in.

Imagine it’s your job to get all the cars on a highway to drive faster. What would happen if you just told all the drivers to wildly jam down on their gas pedals?

Clearly, the result would be a disaster. And yet, this is exactly the kind of attitude many developers take with trying to build software faster…

For cars on a highway, high-speed driving requires safety. In order to drive a car faster, you need safety mechanisms such as brakes, seat belts, and airbags that ensure the driver will be unharmed in case something goes wrong.

For software, agility requires safety. There is a difference between making intelligent tradeoffs and throwing all caution to the wind and charging blindly ahead. You need safety mechanisms that ensure those changes cannot do too much damage in case something goes wrong. If you’re reckless, you will ultimately move slower, not faster