In my view, agile can only really operate if we have the right level of knowledge in the team.  Further, I would argue that if you have a knowledgable team, they will find a way of delivering anyway – irrespective of whether we use agile, waterfall, or nothing at all. I’ve seen it. It works.

1. What is good?

Because agile contains many ideas and theories which appear at first glance to be innocent enough and uncontroversial, they slip by without people properly considering the implications.  One of these is the idea of agile  ”making a good team great” Beck and others set a lot of store by this statement. And it seems  reasonable enough. But what does it actually mean in practice? I would suggest that “good” means ‘knowledgable’. Knowledgable in the sense of being up to speed and confident with the business domain, implications of the requirements and so on and so forth.  In other words, the reason for doing the work in the first place.

2. It’s not about the technical side.  Sorry developers..

“Good” in my mind, absolutely doesn’t mean ‘technically competent’. We can assume you haven’t enlisted the cleaner to do your development, so it is fair to assume that the people you have are technically competent. That is not in question. What I am talking about has nothing to do with how good people are at polymorphism. It is not about knowledge of dependency injection. Not about multi view controller or anything else.  Believe it or not, your business users and the people paying for your project most likely don’t care about any of this.  COBOL 74 is just fine if it gets the job done. 

3.  It’s about what you know…

What is important is whether  we have a knowledgable team. If – and only if – we have this, we are in a position to embrace the agile ideas properly and do the things that the phrases imply – such as  ’inspect and adapt’.  We can start to be flexible and pragmatic.  Knowledge of Kanban, test automation, automated deployment, and other ‘agile’ techniques don’t really help us if we don’t understand the fundamentals of the work itself. We can be successful without any of these in fact. I am sorry if this is upsetting to some people but it is the truth.

4. What if we have ‘knowledge deficit disorder’?

Having established the principle,   the big question is: What happens if you don’t have a knowledgable team?  The agile gurus offer no guidance at all.  Obviously because they assume the situation never arises.  Yet it does arise and is a very serious and real problem in many organisations.   The problem of people not having the business knowledge required to do their work is a theme that has run through pretty much every  job I have ever held. And I am knee-deep in it once again, now.  This might be coincidence but somehow I don’t think it is.  I actually think it is intrinsic to software development and one of the most serious issues facing IT departments; the only difference between organisations being whether they are prepared to admit it or not.  Or better still, deal with it.

5. Is this all just some kind of whinge?

You might view all of this as some kind of obscure whinge. But if it is a whinge, it’s not an obscure one. It is serious enough to cause projects to be abandoned in their entirely. At most, or at best, slowing down delivery and making our profession look like a bunch of idiots.  Sometimes you get all of this rolled into one as I have witnessed on many occasions.

6. Conclusions…

So what are we to make of it all?  Well, a couple of years ago, I instigated an initiative which I have written about on these pages previously. It amounted to a knowledge management strategy. These sorts of initiatives sound more dramatic than they possibly are. For me, it grew out an aspect of business analysis I have observed repeatedly over the years and always found frustrating, if not concerning: That is how frequently pieces of work seem to entail re-constructing information and knowledge we should already have. Often at much time and expense. When this starts to happen every time, often with the same cases being revisited over and over, you form you opinion that there is some obscene waste taking place. Something is seriously wrong.

***
The slightly depressing conclusion to this is that I have met few of my peers who share this opinion.  Spending weeks on end re-constructing the past rather than focussing on the new requirements, seems fine to them.  If I were a psychologist I might perhaps find this interesting, but I’m not, and I just find it very annoying frankly.

« »