The first article in my series about technical debt is up at InformIT, covering the concept of “Scrummerfall”, the insidious mixing of Scrum and Waterfall so you can pretend to be agile, but sadly, end up with simply a mess.
In the article, I introduce the persona of the “Hubricist”. The Hubricist is the inner demon in all of us that just wants to seem “in-control”, and present an appearance that not only is everything “ok”, but that there is no risk, and progress on the project will be a nice, predictable, upward march of progress.
As much as I call out that persona in the article, recently, and even not so recently, I find this a persona that it is all too easy to fall to when dealing with the intersection of ambiguity and demanding customers.
In the best of all worlds, we can all be frank about how progress on a project is going. The problem is – even on a well intentioned team with good management support and everyone “on board” for doing “full agile” (whatever that means), you cannot escape the fact that we are all human. No matter how agile you are, chances are, if you are human, you would rather not have confrontation than have it. It is simply easier not to deliver a hard message – or sugar-coat one, than it is to deliver a hard message. I believe the root of the inner Hubricist in all of us comes from the fact that we are human, and the Hubris of feigned confidence is simply a means of avoiding what is often a harder conversation than we want to have. Lacking unlimited courage and “anything to lose”, it is inevitable that personal hubris on the part of those who report progress, reducing transparency.
So here is the reality – no matter who you are working with, there will always be a tendency toward Hubris. The benefit of agile is not that it eliminates Hubris, but that it reduces the likelihood that it will be hidden. If you are an on-site customer, chances are, you will have a better means to be a participant rather than an observer, which drastically increases the quality of information you receive. You will see cards moving across the card wall directly. If the team is healthy, you will constantly be seeing new bits of customer value demoed to you as they complete.
Better than that though, as an on-site customer, you have a chance to develop relationships with the team, which over time, increases the quality of communication. As you gain a level of trust with the team, the team becomes more comfortable delivering both good and bad news. To me, the very definition of a healthy consulting relationship is one where both customer and consultant are engaged in development of the solution on a day-to-day basis. Avoiding Hubris requires courage, but it also requires trust, which is created through active collaboration.
As developers though – we have to constantly be on the lookout. You have to become self-aware of when you are flying on hubris. Success depends on habituating the practice of becoming real uncomfortable when making Enron style claims about progress. It is tough, and sometimes, it feels risky, but in the end, replacing progress with Hubris is a devil’s bargain that only gives you – and your colleagues – more pain to be dealt with later.