There's way too much complexity involved in building software, and the reason is pretty self evident. Most hardware and most developers are employed by gigantic corporations that extract a lot of rent from the rest of the economy.
There's way too much complexity involved in building software, and the reason is pretty self evident. Most hardware and most developers are employed by gigantic corporations that extract a lot of rent from the rest of the economy.
- 2 standups (One Slack-based, one Zoom)
- A sprint grooming session
- A project retrospective
- A product planning meeting
- A documentation review meeting
In the 3 or so hours I get to work per day (in like 30-45 minute chunks) are mostly spent dealing with updating Jira or asking product teams on clarification.
It's a total disaster.
Centralised IT functions have some bearing here at an org level, not just the wider market. It’s vexed because while I deeply believe business needs would be better met locally, we still want a line of accountability on things like security and availability and data integrity that require a bit of longer term thought. Feature factory thinking certainly exists in bigger centralised teams, the kind that accrete management-speak and overbearing agile processes — but it’s also a false dichotomy to say “just build with the business and nothing of value was lost”.
Modularity requires redundancy, it's inefficiency that buys us resilience. But forcefully erasing emergent social boundaries on one side and forcing overtly complex structures for the sake of some ill define ideal on software architecture (OOP! microservices!) just nets us the worse of both worlds.
But there are more obstacles, like cultural ones: I can't count how many time I heard "client pays, client demands" without want to hear any feedback or guidance.
There are also obstacles on work organization level, for example: people who have final say how should system look/work have no time to even grasp general ideas about the system.
And god forbid if your client has experience with software developers who were silently and blindly (which means: inefficiently) developing everything that client demanded, because it creates a wall that will be very hard to breakthrough.
You're dead on with the business vs software cultural divide. It is both bred by this situation and a moat around it. I am trying to come up with a way to find profit in going against the grain, because I think this is the only way to drive change (or at least preserve my sanity).
I know what you mean, but I think the profit is already there, with some good soft skills you can show your value to the client by doing it the right way. Although it won't be always pleasurable or smooth sail as you need to speak up or tell harsh words to others, but, you know, if there is no tension in bicycle chain it means you are not pedaling. Of course, you need to do it in gentle and respectful manner - that's why soft skills are so important.