This is going to be another work rant I'm afraid.
When issues of some importance occur at my workplace, and indeed in any software development team, the work needed is handled by middle management. Meetings are called, schedules are drafted, tickets are created and people are being asked politely to perform crazy balancing acts, while displaying self-control and professionalism - whatever that may entail.
The modern enterprise invents a variety of titles and positions to fill up this space. We now have a Program Manager who tells us when to meet bi-weekly, Product Owners who gather us every week, and Line Managers who taunt us every day. It's a veritable labyrinth, worthy of the best Greek legends.
My beef with the lot is the attitude employed to ask for shit. Someone said this, therefore we must do that. Your approach will not work, because you didn't take into account that 0.1% thing. We need to estimate this new thing, therefore stop what you are doing and give me what I need. This depends on that, so we need a meeting.
Time card reports! Time card reports!
What the fuck is wrong with these people? Can't they see how utterly pointless this is?
Again, all of this is being said with various degrees of niceness, and if your reaction is anything but deference to the cause, you'll be cornered from all angles, and ultimately ignored.
If you're willing to fight them, the best conclusion you can reach is a fierce stalemate. You'll obtain a little thing, only to concede on another, and the best overall outcome is to postpone the discussion for a later date.
This is a dance performed in tandem. Only middle management has the leverage needed to break the stalemate, often in their favour: they band together and shift stuff around, so that your arguments become moot.
"We should not take on this work" becomes a political decision.
"We should automate it" becomes it should have been done already, therefore you don't get time to do it, and why does it take so long anyway?
"We don't have time in the sprint" becomes oh, it's shifting priorities, and some crap about business landscape and the needs of the product, and we're Agile so that's what it means.
I am making this sound like it's war. In truth, the space controlled by middle management is very much needed. Work needs to be relevant. It needs to be split and controlled. Dependencies do exist, and when they impact work, teams need guidance. Software development teams in particular are not optimised for collaboration. We usually start our work in silos, and by the nature of the work, every decision we take has the potential to impact other work. When this crosses team boundaries - and it always does - then we're stuck. With no process in place, we're only going to get even more stuck, until everything will grind to a halt.
I believe there are right ways to do things, and there are wrong ways to do things. Agile works. A sketchy attitude does not. Most of the issues I described stem from a poor understanding of one's context and goals.
From this position, I need to rethink my stance. Ha! Writing to the rescue once more!