Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Human Refactoring: Applying Refactoring to Your Life

Human Refactoring: Applying Refactoring to Your Life

This item in japanese

Bryan Beecham gave a keynote about Human Refactoring at the Agile Testing Days 2015. InfoQ interviewed him about how Human Refactoring can help us to improve our lives, how it relates to refactoring code, why he considers eating healthy food to be important, how agile teams can benefit from human refactoring, and where people can find more information about self improvement and individual growth.

InfoQ: Can you briefly explain "human refactoring" to the InfoQ readers?

Beecham: HumanRefactoring is the application of the principles of software refactoring to the human body. Although similar to biohacking, it involves a continuous improvement process to increase our mental and physical capabilities. The techniques used in creating better software can be applied to our lives in many ways including finance, learning capability and performance. The benefits of an improved individual impact their teams, their companies and their communities.

InfoQ: Do you have some examples showing how human refactoring can help us to improve our lives?

Beecham: A simple example would be improving our food choices. It is very difficult to wake up one morning and change everything about the way you eat. What is possible is to make small improvements to your diet. Every choice we make either strengthens or weakens us. Over time these positive choices improve our lives.

InfoQ: Can you elaborate how human refactoring relates to refactoring code?

Beecham: The commonality is that the process both involve changing a system to improve an internal structure and design in way that minimizes the introduction of bugs. Metaphor is a commonly used in software development and these same metaphors can be used to help us improve ourselves. We can use techniques such as testing first to help us accomplish our goals. The goal in refactoring is to create clean code that works. The goal in HumanRefactoring is to help people improve their systems to move towards their potential.

InfoQ: Some of your blog posts at are about eating healthy food. Can you explain why you consider this to be important?

Beecham: Your body is like a construction site. It can only build with the materials you provide it. Better materials create a better structure. If you’re missing needed materials your body will cannibalize itself. We need An old saying in software development is "Garbage in, garbage out". I buy expensive food such as grass fed beef, and organic fruit and vegetables. I want to be the best I can be. I question I often ask people is "Do you want to survive or thrive?"

InfoQ: How can agile teams benefit from human refactoring?

Beecham: A good team collaborates and interacts effectively. Improvements to the individual cause improvements to the group. Like pair and mob programming, in HumanRefactoring, I encourage people to involve their coworkers, friends, and families. A team I know in California walked together at lunch and posted a combined weight loss number on the wall. When we start thinking as a team, we can accomplish more as individuals.

InfoQ: If people want to read more about self improvement and individual growth, can you recommend some blogs or websites where they can go?

Beecham: Three great resources I would point them to would be:

There are tons of great resources on the Internet but these will get people started. It’s all about what you are doing with your code and your life.

I also work with people, privately coaching them through a tailored HumanRefactoring process.

Rate this Article