Tuesday, July 08, 2008

See, Agile Isn't Just Good Sense, It's Common Sense

In my view, Agile does not claim ownership of any of it's principles, practices or techniques; rather it advocates doing certain things to help make improvements. So it follows that a lot of this stuff can be applied in situations other than cutting-code or delivering software. That said, the findings in the linked article come at no surprise. Agile treats good, continuous communication as a core axiom. The discovery of this importance in another (albeit undisclosed, yet seemingly IT related) field suggests the good sense in Agile is common sense for EVERYONE.

Sunday, July 06, 2008

Convention Over Configuration, Are We Going Round in Cirlces?

Convention-over-configuration is becoming increasingly popular as a term of reference to that which is the design or usability principle. I speculate that it is picking up momentum nowadays due to the Jedi-like Force that is Rails, a bunch of hokery-pokery, voodoo and black-magic. What strikes me is that not so long ago there was similar advocation of declaritive-over-imperative, presumably for language paradigms. It therefore seems to me that we are going in cirlces: I have seen the Ruby/Rails guys I work with wave their magic-wands and it sure as hell looks like a bunch of imperative command-line stuff to me. But perhaps, generally speaking, I just have the wrong perspective, a two-dimensional perspective. What if we look at this in three-dimensions and shift the metaphor to a cone rather than a circle. And with each iteration we move toward the apex; we move up a meta-level in search for the ultimate abstraction, whatever that maybe. So what is next? Are we due a declarative-renaissance? Kind-of feels too soon for that, ay? As well as Ruby on Rails, my colleagues and I are developing Flex apps. I mention this as Flex's MXML is the closest thing I can think of, off the top of my head, that is declarative (there is Maven, but let's not go there). If we limit the space for things to consider to UI frameworks, MXML trumps all others. In fact (or at least in my opinion) it is, by design and intent, a deliberate declarative abstraction on ActionScript. Somehow this example does not quite fit the bill. It may epitomise declaritive-over-imperative but I feel it causes too little displacement, or rather too litle attention relative to Rails. It does not really exemplify something so grand as the community chorusing an opinion [as if it really ever does]. Perhaps my exploration of this idea is going to far ahead. MXML and whatever are likely residual from the last wave-of-declarative. Incidentally, I think it is safe to say we are entrenched in a configuration mess. However, continuing with the metaphor: While rising to the top of the cone, our radius and thus space for improvement is shrinking. If what we are doing is layering abstraction on absraction to make what we have been doing (OOA/D/P) easier, maybe it is time to change what we have been doing. Perhaps get behind the functional-renaissance; perhaps adopt Erlang. Perhaps we will have a new cone for what we would be doing, thus a new base and therein a greater radius to improve the common practice of what would be done.

Epilogue

So this is what happens when I sit and explore a wild thought in isolation. What I have articualted I see is tangential in places, but I hope not (too) incoherent; it could be a bunch of BS or maybe there is some substance there. In anycase comments are welcome, validating or invalidating.