Jimmy Nilsson's Weblog

Patterns, OO, DB, .NET, ...

&nbsp Post-agile

In one way, the agile movement hasn't even got off the ground in many organizations, but at the same time every vendor and consulting company are now sooo agile. I find that a bit shocking
especially considering what they said and sold six months ago.
:-)
Well, it's probably more Agile with a capital A they are claiming to sell. Anyway...

I know, I'm overreacting, but perhaps it's time to look a bit further to after the worst of the hype has faded away and the hangover has come and gone? What has/will come after agile? What
is post-agile to you? I was sketching a little bit about Lagom Process the other day, but today I'd like to give you a couple of more concrete examples of what I consider to be
post-agile:

Domain-Driven Design (DDD)

Lots of people will claim that DDD is quite old and pre-agile. Others will say it fits well with agile. Others still will say that it's interesting whether it's pre or post, of course
(and I totally agree). Anyway, I see it as being a bit like post-agile, for example with its focus on the language of the project. It is a crisp, ubiquitous language to gather the team
around, and in my opinion extremely important in increasing understanding. And little-used in reality.

Ruby/Rails

Ruby represents an agile language and to me that definitely feels like something of a new era after the agile principles and practices that we are most used to today. And functional languages
fit in here as well.

Rails is also something earth-shattering, I would say. What makes it post? The first thing that springs to mind is the strange thing about a RAD tool that "provides" a good chance of leaving
a decent architecture as the result. And a RAD tool that is designed for testing and TDD from the beginning...

Behavior-Driven Development (BDD)

Again, focusing on the language is so important and BDD does exactly that. On top of setting a common language, I see the "promise" of an executable specification as being the best thing
since sliced bread. (One of these days I'll find out what's so good about sliced bread...)

Domain-Specific Language (DSL)

A very wise guy recently told me that the historic improvements in our industry haven't been due to raising the abstraction level. The thing is to find the right abstraction level, not
necessarily a high one. That's the improvement. DSLs are just about that. Again, Ruby comes in as an important player, but also...

...Intentional

The stuff that the intentional guys are doing is definitely for a new era. Again, the language is at the very center, but the language focus and the focus on the representations is now on
steroids. The effect of the shift might be fundamental for many domains. We'll see.

So, what was the common theme here? Focus on the domain? Focus on the right abstractions? Focus on the languages for describing your chosen abstractions? Focus on communication and
understanding? Something like that I guess.