Extreme Proactivity

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!


EditText of this page (last edited June 5, 1999) or FindPage with title or text search