Most of my new-feature-development-requests are land on my - virtual - desktop a few weeks after their promised deadlines...
(Bug fixes are a different story as they flow directly from support to me without management intervention)
Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.
PHB: How long will it take you to do something that you've never done before?
DEV: Realistically, we'll be looking at maybe 50 days' dev work - could be a little bit longer, it's hard to say not having seen the 3rd party API as yet.
PHB: Would you care to reconsider that? I've told the board we'll have it by the end of the month.
DEV: It's the 27th of February today.
PHB Blimey! So it is! We'll put it down as one day, then. Don't let this one over-run the way you did with the last one!
Deadlines, for the defined work, are reasonable.
However, when the scope changes and the original deadline is still desired... well, I deliver for the original scope or tell them the timetable is not achievable.
In recent years, people requested stuff and it happened. If anything slowed it down, it was getting them to test the application(s). That is, until recently.
Some changes at the top - and actual fear in the eyes of some of these new top players - and they imposed threatening deadlines (at least upon one particular application). To this I've already referred The Lounge[^]
No deadlines worked well because the main couple of developers had real work ethics and we like what we do. I'll admit it's kind of a kick to see hundreds of people with their face in your work.
But I was going elsewhere. We really need a survey on about the interactions not with deadlines but dead minds. There are various forms that want an application and never gave any thought to what it is they want it to do. Or, more specifically, they want 'me' to figure out how they should do their job. They come in various flavors - but a survey on how one disposes of said cretins would be interesting, informative, and perhaps even helpful.
Sounds like we worked in the same place. Dead minds is the right way to say it. In the end it comes down to staying there and work like a robot or to say goodbye and let them rot in the little hell they have made for themselves.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
...and are therefore agile enough to respond to changes
Means, we barely have "hard" deadlines, +/- one sprint, sometimes even two is not a problem in general. And YES, we already had "minus one sprint" more than once and could release sooner than expected.
Sometimes a story is risky or has "*if* this works with that framework, it's a 3, otherwise could be up to 8..." ... and when it comes out, we COULD complete the story with 3 points, then, yes, then we are faster than expected.
This is accepted in the entire company (from the owner, the ceo, sales, marketing, all departments) and the entire company lives "scrum". This is, what makes working here sooo great. Best job I had so far.
IMHO, that's the only way to do agile. The agile methodology has garnered a bad rap because many developers have been forced to follow it in isolation, under the premise that it will magically allow software to be delivered faster. If your company isn't agile, you're doing agile wrong.
(a) A hardware communication cable that resists all all varieties of handshaking, however friendly.
(b) A vague series of prophesies intended to establish a time-frame by which a certain project should not be complete.
A programmer is a person who always checks both ways when crossing a one-way street.