Lazy linking – tech edition

I thought I’d share a few links about tech related stuff that I have found interesting in recent times.

Extreme Programming Creator Kent Beck: Tech Has a Compassion Deficit

Before, Beck saw technologists as “us” and management as “them,” he said. Now, he is “them,” and his view has changed.

“I do my one-on-one coaching, but I’m also in the room helping make strategic decisions with very little information, and I’ve gained a lot of respect and empathy for those decision-makers,” he said. “As a punk-ass programmer, I’d grumble about ‘management.’ Well, they have a job to do, and it’s a really difficult job.”

So, the capital-M management is alright with him. But that doesn’t mean Beck’s view of tech leadership is entirely rosy. Many of his anxieties about the tech industry center on power players and their evolving stances on issues like remote compensation, racial justice and content moderation.

“Not a lot makes me hopeful,” he said. “You caught me in isolation [due to COVID-19 precautions]. So this is not my day for bright sunshine.”

Kent Beck was the creator of eXtreme Programming (XP), which is probably the most programmer friendly agile methodology, and which has come up with many of the techniques and tools which is widely used in systems development today. I found this interview interesting because it shows how Kent Beck has evolved and shifted his focus to a much broader perspective than in earlier days.

For doubters of agile, there is also a great question/answer:

You signed the Agile Manifesto almost 20 years ago. How do you feel about agile now?

It’s a devastated wasteland. The life has been sucked out of it. It’s a few religious rituals carried out by people who don’t understand the purpose that those rituals were intended to serve in the first place.

I think he is a bit too pessimistic, but I also understand where he is coming from. From those of us, who have used agile for many years, it is some times scary to realize how little has improved over the years, and how little understanding there is of the ideas behind agile. When I try to explain to people that one of the main strengths of agile is rapid feedback, they all too often fail to understand that this is not just about implementing automatic testing (though that is a given), but also on making measurements and giving outsides the chance of providing feedback – either directly or through their behavior.

Agile and Architecture: Friend, not Foe

Continuing in the realm of agile, here is an article that is really partly a sales pitch for a book. Still worth reading nevertheless.

As an architect, I am frequently asked about the role that architecture can play in environments that practice agile development methods. The core assumption behind this question is usually that agile teams don’t need architecture or at least don’t need architects.

I once took a course by Kevlin Henney called Architecture with Agility, which went into how software architecture and agility could co-exist. One of the major points in the course, is that good architecture is a function over time. Things that were good decisions at one stage, can turn into being bad decisions later, when things change. As a natural consequences of this, you want to defer decisions as long as possible.

Gregor Hohpe seems to be making the same point, but he also makes the excellent point that software architecture allows you to defer certain decisions, until you have the knowledge to make it.

I have ordered his book, and am looking forward to reading it.

Blockchain, the amazing solution for almost nothing

We all have biases, and my bias regarding blockchain is that it is an over-hyped technology which has been born out of a completely useless idea (crypto currency). There are many reasons why I feel this way, but I don’t think I have seen any article describe my feelings about the technology as well as this article by Jesse Frederik.

I’ve been hearing a lot about blockchain in the last few years. I mean, who hasn’t? It’s everywhere.

I’m sure I wasn’t the only one who thought: but what is it then, for God’s sake, this whole blockchain thing? And what’s so terribly revolutionary about it? What problem does it solve?

That’s why I wrote this article. I can tell you upfront, it’s a bizarre journey to nowhere. I’ve never seen so much incomprehensible jargon to describe so little. I’ve never seen so much bloated bombast fall so flat on closer inspection. And I’ve never seen so many people searching so hard for a problem to go with their solution.

I am sure that many blockchain fans can point to examples in the article where it is unfair, but it doesn’t change the overall message. Blockchain is, at its current state, completely over-hyped and largely useless. The article kindly doesn’t mention goes into this, but the performance issues of blockchain technology makes it useless at its current state, and it seems like the only solution to the performance problems is to basically redefine the basic premises of how permissions should work (see e.g. Performance and Scalability of BlockchainNetworks and Smart Contracts (pdf).