Agility and Your Wetware: How to Get Uncomfortable with Agile and Jumpstart Your Creativity
Andy Hunt, Toolshed Technologies
Looking back at Agile Manifesto.
Really hard problems have nothing to do with hard science. Real hard problems is that it’s us writing, or managing the people who write, code. The problem is that it is us. If we’re problem, what can we do to fix it?
Big idea 1: context matters
See Fifth Discipline, Peter Senge: Everything is a set of interacting systems. Nothing exists in isolation. It’s all connected. Need to look at systems in their proper context. Joshua Bell, the great violinist, played a $35M Stradivarius in a Washington, D.C. subway station for 45 minutes and collected $32, with most people ignoring him.
Context of how–and the environment in which–you propose something matters. Other people don’t have same contexts that we take for granted.
Big idea #2: neuroplasticity
Any new neurons today? We grow new neurons. The brain is a self-adaptive machine. The more you do, the more the brain will restructure itself to let you do that. Negative thoughts are self-perpetuating. By changing how you think and what you think about what you think, the brain will reorganize to help you.
Agile Manifesto, 2000. Created at the Light Weight Methods Conference. Too much focus on process was getting in the way of getting work done. Projects years late, way over budget. Little of what was discussed then was anything new. We didn’t discuss practices such as pair programming, not using documentation, refactoring. Even simple practices such as using version control weren’t being practiced back then.
Talked more about what we meant by “Agile.” In terms of being nimble, agility is the ability to react to change–ever-shifting, ever-changing, ever-responding.We expected a flood of new Agile methods, but that didn’t happen. This may be because everyone missed the point.
How to spread expertise in an organization. “Practices can never be completely objectified or formalized because they must ever be worked out anew in particular relationships and in real time.” Patricia Benner, From Novice to Expert. Need tools in hand to work out what you need to do in real time.
Agile comes from chaos theory, Kaizen, systems thinking, risk management, and emergence–Boids. Simple code that drives a flock of birds: (1) separation: steer to avoid crowding (2) alignment: steer towards the average heading (3) cohesion: steer to move toward the average position. Can get complex behavior from simple interactions. Simplicity isn’t a goal. It’s a tool.
Kaizen: continuous changes based on continuous feedback.
The line of code not written has no bugs.
There are built-in cognitive problems that trip up Agile adoption:
- Myth of the logical, rational human
- Need for closure. This makes big design up front (BDUF) really compelling.
- “No plan survives contact with the enemy”
- Planning is essential, but the plan is worthless
Uncertainty leaves your choices open. We’re not wired to do that.
- fundamental attribution error. It all depends on the context.
- Post-purchase rationalization (investment of money or time). Even if wrong thing, you are hardwired to rationalize it.
- Loss aversion. Henry Ford: “Some costs are sunk.”
- Dunning-Kruget Effect. 2nd-order incompetence. Less skilled people tend to overestimate their abilities, more skilled people tend to underestimate their abilities.
“The wise reject what they think, not what they see.” – Huangbo Xiyun
- How do you know?
- Says who?
- How specifically?
- Compared to what or whom?
- Does it always happen? Can you think of an exception?
- What would happen if you did (or didn’t)?
- What stops you from…?
Getting Past Advanced Beginner
Experts work from intuition, not rules. If you force everyone to play by same rules, you’re losing advantage of expertise on your project. Experts view themselves as part of the system. Novice sees it as over there.
Most people, at most tasks, never get beyond advanced beginner. Just enough to get by.
Need an agile mindset. “Agile development uses feedback to make constant adjustments in a highly collaborative environment.”
- All of your development and management practices generate continuous, meaningful feedback
- You are able to evaluate that feedback appropriately, in context
- You are able to change your code, process, team, and interface to the rest of the organization
Must list + agile definition + manifesto values = agile environment
try. fail. learn. repeat. But you need ideas, creativity.
Great ideas come from pre-conscious regions of the brain. Need to harvest better. It’s asynchronous, fragile, slippery. Everyone on the planet has great ideas, but not everyone keeps track of them. Capture them: ideas, insights, questions. Use notebook, index cards, iPhone, cell. Mind maps are a good way to nurture ideas with few constraints. Promote non-linear thinking, allow you to capture associations, see new relationships.
Sense tuning. Once your mind knows it is looking for something, it will pop out at you. That’s how brain filters input.
Labyrinth: guided meditation. When stuck, go for a walk. Wikis, affinity grouping. Loose tools for loose thoughts.
Multitasking gunks up works and makes brain not work well. Tips:
- Send less email, and you’ll receive less email
- Choose your own tempo for an email conversation.
- Don’t context-switch (see Getting Things Done, David Allen). Scan queue once, work each pile, no mental lists
- Set cues for task resumption
- Set team interruption protocols
- Get a second monitor – productivity gains of 20-30%. Context switch is bad. Messes up your head
Email: intermittent variable reward reinforcement
“The real voyage of discovery consists not in seeking new landscapes, but in having new eyes.” (Marcel Proust)