Kanarupan's Legacy Layers

Entertaining the curious and capable minds with/via Software stuff

Is Adaptability better than Predictability?


A week ago I saw a post from Kent Beck, the inventor of Extreme Programming and one of the signatories of the Agile Manifesto.

To me, the message in the one-liner-post exposes some serious, deep caveats among Software personnel (in general).

I wrote a post as a quick response, but reading it again, I feel it’s a bit unorganized and a second, on-point iteration could do no wrong.

The post from Kent Beck,

This sounds innocuous, especially given the trend/context that we, at least the ones at the Software Engineering frontier, are rooting for continuous practices.

But I have the below two major concerns,

1. This (unnecessarily) devalues predictability to appreciate Adaptability, where both are essential and ALWAYS intertwined. The fun fact is that not only the Estimations but also the Expectations, Adaptations, and probably all conscious human actions involves predictability at various levels, directly and/indirectly.

2. This is basically a “context-free” quote – but note that its structure is enough to generate its own context which, at least in my view, superficial and dangerous (as per 1.). This exposes the cult/follower-ship mentality, that I explain below.

A bit more detailed view

1. the very act of Adapting heavily relies on (adequately) shortening the Prediction Window(s). Predictably is a prerequisite to Adaptability. Kent Beck’s gives a false impression about the true nature of adaptability. It incorrectly assumes the following

  • Static (and accurate) desired and current states
  • Instant adjustment (adapting in no time)

At present, there are credible efforts adopt Scientific Process/Thinking into Software Engineering. Scientific thinking had great success over the years and helps to identify and push towards feedback loops, falsifiable claims, experiment-nature, objectivity, good-enough nature etc. For example Continuous practices aim to shorten the feedback loop. In this backdrop undermining predictability with some superficial post isn’t ideal. Predictability is at the core of science that enables any sort of falsifiable claims.

2. The “context-free” superficial post has its adverse effects. But then, I also observe another kind that many in the thread trying to figure out the context and even suggesting books so that the “muggles” could understand what Kent Beck meant with his “golden” message. This is a perfect recipe for ‘cult’/follower-ship mentality. This must be avoided and the burden of pointing the right, required context is mainly for the Author herself/himself (in this case Kent’s).

individuals like Kent Beck influence and contribute to the shared understanding. We must be vigilant enough that must not become a shared ‘ideology’ where the disciples strive to make something right by forcing some ideologies, frameworks, body of knowledge, belief systems etc. Instead of evaluating each and every claim on its merit & within relevant context, sticking with presumptions that it’s already correct and the only part left is to understand why it’s correct – this here mentality among Software professionals is daunting.

If one thinks that this post approach thing a bit too philosophically then I could only state that-

  1. The acceptable and useful level of philosophy is always been subjective/contextual. So they are entitled to their opinion.
  2. But Kent Beck’s post itself is philosophical shaping others thinking (a low level one for that matter)
  3. This could only illuminate and strengthen the ‘cult’ mentality point above where sometimes we accept and respect some arbitrary/magical choices (in this case the depth/level of thinking) just to conform with others

Wrapping-up

I would like to emphasize a generic point that, without prescribing to superficial ‘advises’ it’s best to present the models/thought-frameworks.

I have seen some great analogues from Kent Beck (that are better than mine in some cases for sure, for example the paint-drip people metaphor – he came with this to accommodate more dynamics, but quite the opposite with the quote we discussed in this post. May be just a slip – may be it’s not just a slip. Either way to be corrected or better be grounded on suitable (?) context.

But I would argue that no amount of charitable interpretation could safe this shallow quote. Regardless of the strict and special context that we could concoct for the quote to become (more and more) sensible – for instance, relevant only for environments where the uncertainty is higher than a defined threshold (highly chaotic and/or complex etc) – but as the predictability is baked into the the steps of Adapting there’s no redemption.

Follow-up

To remind the depth that we must be looking at the terms and things, especially with ‘Agile’ (or Agility) I will be coining the term ‘Agile-t’. The idea in a nut-shell is to explicitly discuss the time factor (time-step length) so that it could steer some of the superficial discussions (ex: Agility vs Waterfall, Agile is Dead, Agility not Agile) to required depth.


Leave a Reply