Extreme Alignment

RonJeffries wanted me to try and focus on the specific actions that can lead one into the ExtremeZone. I replied saying I thought that there were many different ways to get there, and that the essence of reaching this state of "harmony" has to do with alignment (the following is an excerpt from ExtremeZone):

I think the key is when you feel you and/or the code (or architecture) is "in alignment" or "in tune with" (deeply connected to) some other important structure or individual .... Other XP pages talk about things "clicking" or "falling into place", which again suggests some kind of harmonious alignment of two or more things.

Somewhere underneath, I think achieving this harmonious alignment is predicated upon effective communication about the things to be aligned, and/or between the people responsible for aligning them.

I suspect that XPerts who are also Aikidoka would probably prefer the title ExtremeHarmony to ExtremeAlignment. However, my personal preference is for ExtremeAlignment because I think it more expressly connotes some kind of structure or geometry that we can attempt to visibly perceive if we view it from the right perspective.

With that in mind, Id like to see if we can list several XP practices and then see how they bring one or more things into alignment to help achieve the kind of ExtremeHarmony that lands you in the ExtremeZone. I recommend trying to think of times where you felt things where "in alignment", then try to focus on WHAT was aligned, and then HOW. (Does that make sense?) I sort of expect to see a three level description for each such practice:

  1. On the Surface, there is the obvious things that are being brought into alignment. These are important of course, but I think real insight will come from digging a bit deeper; which brings us to ...

  2. Below the Surface is where the deeper structures and mechanism come into play, and where the forces really start to get addressed.

  3. Connection to ExtremeValues is what I would expect to ultimately reside at the bottom, driving everything else at one level or another. So while there may be multiple things being aligned BELOW the surface (as well as ON the surface), somehow it should always follow a path of connections that leads us back to the underlying value system.

I'll try to start off with bits and pieces regarding some XP practices. I hope other will follow suit (and also feel free to correct my own musings, since Im not an XPert ;-) --BradAppleton


ExtremeFlow

On the surface: the actions of the paired programmers are in perfect alignment; and their actions are in alignment because their thinking is in alignment.

Below the surface: ???

Connection to ExtremeValues: ???


ExtremeNormalForm

On the surface: The changeability of the code is aligned with the changeability of requirements.

What are the characteristics of this code?

Isnt that what the pages on ExtremeNormalFormCommentary and ExtremeNormalFormDefined are about? Should we leave the details of the descriptions on their corresponding pages and leave this page to discuss what's being aligned?

Below the surface: The code is responsive (agile & adaptive) to customers' dynamic needs; IOW, the code is aligned with the customer.

What does this mean?

Again, isnt that already described in ExtremeNormalFormCommentary? If not, shouldnt the description go there rather than here?

Connection to ExtremeValues: Listening & Feedback, Refactoring, and Testing (??? that seems a bit too all encompassing - can someone lend a hand here?)


YouArentGonnaNeedIt (see also ExtremeNeed)

On the surface: The immediate implementation is aligned with the immediately requested feature set (no more, and no less).

Much better than some of the earlier ones - because it says the code does what is required NOW and no more.

Below the surface: Current feature set is aligned with current priorities (whose priorities? this needs some beefing up)

Fully-informed customers evaluate business value vs cost estimates from developers and decide on features.

Connection to ExtremeValues: Simplicity (and Refactoring?)


OnceAndOnlyOnce

On the surface: ???

Below the surface: ???

Connection to ExtremeValues: ???


RefactorMercilessly

On the surface: ???

Below the surface: ???

Connection to ExtremeValues: ???


ExtremePracticeName? (template)

On the surface: ???

Below the surface: ???

Connection to ExtremeValues: ???


So who's game for this - Any takers? --BradAppleton

Earlier on, Brad, you were chasing me to give some hard definitions for what to do and how to do it. Here, WADR, it seems like we're going down the soft path again. That's certainly OK, but it's not consistent with what spurred me to get you to write. --RonJeffries

Im not familiar with (or else I forget) what "WADR" stands for. Can you remind me? Also, Im not sure what you mean by "soft path." The "hard definitions" I was looking for werent so much about what/how to do, but when/where to do it. (If I recall correctly, I was asking for more info in the context and resulting context, rather than in the "solution" section).

With All Due Respect

With ExtremeAlignment, Im trying to flesh out more of the deeper connections behind existing XP practices in hopes that it will help flesh out boundaries, and give a more in-depth rationale for many of the "hard+fast rules." For myself at least, I find that focusing more on the forces and their resolution is much more helpful to me than focusing on one particular set of specific actions. It gives me broader understanding of where the boundaries are, and where the ripples will be when you perturb the system. --BradAppleton

Yes, that's fine. I'm just encouraging you to say something much more tangible and measurable than is here so far.

Im convinced the stuff above really is tangible, and I think its extremely important. Granted, its not measurable (at least not yet) but I would wager that once some of the XPerts flesh out more of these alignments and their details (both below and above the surface) and their connections to ExtremeValues, then we will have a very clear and tangible picture of exactly what needs to be aligned, what the important characteristics are, and where their significance stems from. THEN (if you desire) you can go about measuring it. Of course these things are going to seem fuzzy at first, they are still woefully incomplete. That may make them immature, but not immaterial.

These alignments and connections are precisely some of the deeper rationales that I find myself wanting most from the XP pages. If they were present, I think there would be less need for "outsiders" to take various XP assertions primarily "on faith" because there would be more reasoned causal connections and explanations that reach below the surface, or complete a missing link. These are the sort of things that would help break through barriers of context. Evidence of a thousand instances of success with something (like YAGNI for instance) is powerful indeed. But if a reader cant make a connection between XPs surrounding context, and his own surrounding context, it wont necessarily reassure him that it will fly for him, even if it flew for you thousands of times. And since one cant possibly know all the contexts of every conceivable reader, pointing out these surface and substrate alignments will help readers like myself make that connection between our worlds and your world. We can finally see how these things relate, and how they make sense (not just how they succeed, but also why they succeed and what drives them to success).

Perhaps that seems too intangible to others, and if so I must apologize. But for me it is quintessential. However, Im not the XPert so I cant fill in the missing pieces like you ask; the other XPerts need to do that. I simply dont have the details you want, only reasoned guesses as to where to go digging for them. The best I can do is point out the lines along which I see some of the dots that need to be connected. That's what Ive tried to do here. If XP'ers think there might be value in finishing the job, I heartily encourage it, because I know it would be of value to me. --BradAppleton

I, for one, find it too intangible. Perhaps in a few days my sinuses will clear, my attention will improved and this page will click with me. ;-> --KielHodges


EditText of this page (last edited January 12, 2005) or FindPage with title or text search