ExtremeProactivity

Last edit June 5, 1999
ExtremeProactivity is what is often called "courage" or "aggressiveness" of "fearlessness" in XP. It is one of the ExtremePrinciples XP uses to achieve its goal to EmbraceChangeContinuously.

I tend to categorize the various ways to respond to change (EmbraceChange) as follows:

Inactive:
Doesnt do anything about it. Pretend it doesnt exist; Ignore it and maybe it will go away (Psychologists call this denial - see the FiveStagesOfGrief ;-)

Reactive:
Wait to do something about it until it kicks you in the seat of the pants; Then start running around in a frenzy and do a quick rush job or hack-job.

Responsive:
Respond to it very quickly and take action as soon as you are made aware of the problem.

Proactive:
Make yourself aware of the problem (or potential problem) and respond to it before others have to bring it to your attention.

I would consider the description of CollectiveCodeOwnership to be a clear example of ExtremeProactivity. You dont wait for the "code-owner" to do it. If you perceive the problem, you address it right then and there.

Some might consider YouArentGonnaNeedIt (YAGNI) as an example where XP recommends being reactive over being proactive. I would disagree. I think YAGNI is an example of ExtremeProactivity tempered by ContinuousSimplicity. YAGNI is talking about waiting to add something to the design because it is more of a "possible want" rather than a "definite need" (see ExtremeNeed). There's no problem yet, just a possibility that might or might not turn into a need someday. CollectiveCodeOwnership tells you to fix a problem yourself when you see it; it does not tell you to add something to fulfill a need that hasnt been asked for yet. So I would say YAGNI is about being extremely proactive with regard to simplicity!