22 September 2009

Agile's Chicken Kiev Duality


When I learned David Hussman was coaching in Kiev, I asked him
Which comes first, the chicken or the Kiev?
Non-dogmatic folks live comfortably with paradox.
We know that light is a wave, and also that light is a particle. The discoveries made in the infinitely small world of particle physics indicate randomness and chance, and I do not find it any more difficult to live with the paradox of a universe of randomness and chance and a universe of pattern and purpose than I do with light as a wave and light as a particle. Living with contradiction is nothing new to the human being.
~ Madeleine L'Engle
Living with duality is no revelation. We have two eyes, two hands, two feet, etc. We are curiously cognizant of our inner and outer worlds; like the experience of being in an artificially lit train car at dusk
In a railroad car at nightfall, when the natural light outside has diminished until it is even with the artificial light inside, the passenger facing forward sees in his window two images at once: the dim landscape rushing toward him out of a pit of darkness, and the interior of the car, reflected with its more or less motionless occupants. At this hour most passengers unconsciously give allegiance to one of these two polarities of vision; and the individual momentarily aware of both may be struck by the profound, almost tragic duality between outer and inner worlds, between the rush of experience and the immobility of awareness.
~ Robert GrudinTime and the Art of Living
There are apparent dualities in the agile manifesto that are seemingly contradictory.
Deliver working software frequently
versus
Continuous attention to technical excellence
Is it a contradiction to deliver frequently, but attend to excellence? Can one be frequent without eschewing excellence?

Deliver working software frequently
versus
Promote sustainable development

Is it a contradiction to deliver frequently, while working at a sustainable pace? Can one be frequent without burning out?

Taking any particular dictum to extremes, the answer is no. But you're non-dogmatic, right? You're pragmatic.

The lesson is to avoid fixating on any particular dictum and to seek sensible balance. David Hussman might refer to this as finding your agile groove.

Is it possible, in the strictest sense, to be frequent without sacrificing quality? Probably not. Yet we try because we're human.

We thrive on reaching for the practically unattainable, because...we can. That is the absurd pursuit of living. When Woody Allen acknowledges
I am at two with nature. ~Woody Allen
he's celebrating contradictory dualities with a sense of humor....uh, which reminds me of a line from the end of Annie Hall
Alvy Singer: [narrating]  I thought of that old joke, y'know, the, this... this guy goes to a psychiatrist and says, "Doc, uh, my brother's crazy; he thinks he's a chicken." And, uh, the doctor says, "Well, why don't you turn him in?" The guy says, "I would, but I need the eggs."

Share/Save/Bookmark

2 comments:

  1. In physical world excellence does not exist, it simply belongs to platonic world. Ideal triangles, rectangles, circles etc are platonic shapes and they do not exist in nature. 'Ideal' simply serves to 'model' the real thing. Ideal is a template, a fake line, a shadow of light.

    Software on the other hand is a real thing, it behaves like a quantum mechanical system, it has probabilistic distribution of runtime paths. Contrary to common perception software systems do not have one dimensional static state machines but rather a Hilbert space.
    Hilbert spaces are vector spaces that represent the state-spaces of quantum mechanical systems. A vector represent both a position and a momentum. Similarly a growing software dynamically and continuously interacts with its builder humans, its user humans and its environment. Each software vector has both a position and a momentum. A state vector contributes to overall behavior of the software system. A vector space simply defines the behavior of a software system at any given time, and such behavior is probabilistic rather than deterministic.

    Just because computers compute more precisely we wrongly expect that software should behave precisely too. We are then carried away by this terribly wrong assumption and torture ourselves in pursuit of 'excellent software' which of course does not exist.

    As you correctly pointed Agile manifesto has its own contradictions and looks foolishly hypocritical. I think manifesto authors were trying to be 'politically correct', they were perhaps knowingly or unconsciously trying to sell the idea to business owners and product managers who like to hear words like 'excellence', 'sustainable development' and who like to see predictable outcome that 'they alone' control. Of course there is no such a thing called 'excellence', and nothing in this universe is absolutely 'sustainable'. I believe we need an alternative manifesto with BS elements removed ;)

    Great post Bob. I just love your posts.

    ReplyDelete
  2. Personally I don't think the agile manifesto contains contradictions at all. I do however agree that it has a duality about it. Those are not the same thing at all to me.

    It's a very interesting premise that dogma leads to contradiction and that pragmatism leads to a harmonious (or at least balanced) duality. I don't know that I agree but it is definitely thought-provoking.

    ReplyDelete