← Back to context

Comment by jgeada

3 days ago

Fundamentally this is not a statement about programming or software. It is a statement that management at almost all companies is abysmally inept and are hardly ever held to account.

Most sizeable software projects require understanding, in detail, what is needed by the business, what is essential and what is not, and whether any of that is changing over the lifetime of the project. I don't think I've ever been on a project where any of that was known, it was all guess work.

Management is always a huge problem, but software engineers left to their own devices can be just as bad.

I very rarely hear actual technical reasons for why a decision was made. They're almost always invented after the fact to retroactive justify some tool or design pattern the developer wanted to use. Capabilities and features get tacked on just because it's something someone wanted to do, not because they solve an actual problem or can be traced back to requirements in any meaningful way.

Frankly as an industry we could learn a lot from other engineering fields, aerospace and electrical engineering in particular. They aren't perfect, but in general they're much better at keeping technical decisions tied to requirements. Their processes tend to be too slow for our industry of course, but that doesn't mean there aren't lessons to be learned.

  • Post fact justification seems to be a 'feature' of most people's cognitive function, according to the latest research.

    "The mind is just a bullshit maker".

Exactly this. Not just large software projects tend to fail often; also large architectural and infrastructure projects do. There are loads of examples, one famous one for instance is the Berlin Airport.

Management is bad at managing large projects. Whatever those projects are. In particular when third parties are involved that have a financial interest.

This is precisely the point of the article. I mean, it's right there at the top in that weird arrow-shaped infographic. It's _almost_ always a management issue.