Ok, let’s define culturehacking: here is a definition offered by Jim McCarthy, which is listed in the List of CultureGaming Lingo:
Culture hacking is cultural design that does one or more of the following in notable, admirable ways:
- Respects/promotes/extends personal freedoms
- Increases personal/group democratic power
- Protects personal, psychological, and/or creative safety
- Improves the world and/or sets it on a course of continuous improvement
- Subverts illegitimate authority
- Is especially admirable for one or more of its elegance, cleverness, beauty, efficacy, humor, and other design values of its implementation.
We can see that all of Agile complies with this definition for the most part. Agile is simply a specific kind of culture hack focused on software teams.
The Agile class inherits the CultureHacking class
OK, here is a description of the relationship between Culture Hacking and Agile, in the language of computer programming. If you are a programmer, I am going to talk to dirty to you now. (Disclosure: To really get aroused by what I am about to say, you have to be an object-oriented programmer…)
If CultureHacking is an inheritable Class in the programming sense, the Agile Class directly inherits from it. That means Agile has all the functionality of the CultureHacking class, and more. And, if permissible, it may override some of the standard behaviors of the CultureHacking class with “custom code”.
Agile is a Culture Hack. And that is all it is. Agile inherits CultureHacking. The CultureHacking class is actually an inherit-only, non-instance-able, abstract class.