- cross-posted to:
- programmerhumor@lemmy.ml
- cross-posted to:
- programmerhumor@lemmy.ml
PO: “Why does it seem like it takes a really long time to develop new features?”
Dev: “I’m glad you asked! We’ve got this piece of code (points at smoldering pile of spaghetti) that literally has to be changed every time we do anything. The person who wrote it has been gone for like four years. No one knows how it works and it’s central to the entire application. I would estimate that this easily doubles the time it takes to work each ticket. I’ve created a set of stories to rewrite this code. We just need your approval to bring it into an upcoming sprint.”
PO: “Can’t… Hear… Breaking… Up… Bad connection…”
Dev: “Uhhh… This isn’t a Teams meeting. You’re sitting in the room with us right now.”
PO: …
Dev: “We know you’re still here even if you’re not moving.”
PO: …
who are these time wasters that just put bugs in their code. I mean come on.
It’s me, I do it. But only when I need something to do to stay awake in hour five of today’s meetings to address the “quick turnaround” patch that I finished coding three weeks ago, but now they want a label to change and no one on the six teams that have somehow become involved seems to know who owns the package that the field the label represents belongs to, but they’re absolutely certain we need to programmatically retrieve the text in case the package owner changes it at some point, and someone remembers that the original developer wrote code to get the label text 16 years ago, but it was removed from the program two years before the project started using source control, and they have an old installer around here somewhere that we can decompile or trace with Wireshark to get the right RPC name (sharing their screen while they have a rummage for it, natch), and someone else volunteers that they might know how to get a version of the server application from around that time since the client and server versions have to match, but it’s technically the intellectual property of a different subcontractor who was just a guy in Alaska who passed away five years ago, but they’re sure they can convince his estate to burn it to a disk and mail it to me if they can just find the contact information…
Move slow and break things
God, as a true scrummaster - one who believes in actual scrum - where the devs make the rules - not management… this hurts. This hurts so goddamn much.
- 4 hour planning? PMs shit the bed.
- Story points = hours? Micromanagement
- Estimate with that much accuracy? Micromanagement who are also terrible with managing their own schedules.
- It’s a simple task. - How would any business person know how long or expensive a dev task is.
And on and on, and of course you all know this. The term “Agile” has been so bastardized from it’s conception by management who think it’s a micromanagement tool. It’s quite literally the opposite. It’s mean to put the power in the hands of the developers - so they can be efficient and keep management out of their way. Management just couldn’t handle handing over a tiny bit of power though. Have to break the fundamental pillars of agile, like dictating what a point is, or how long things should take. Ugh.
I remember when I first read about AGILE. I was like “this is pretty cool - but there’s no way corporations will actually adopt this methodology without completely turning it into just a set of new names for the same shit they’ve always done.” Naturally, that’s exactly what happened.
If story points are now hours, I hope you’re fine with me putting a 40 on that ticket.
Storypoints are such an artificial concept it doesn’t even make sense. Same thing with estimation though. Most numbers are “I pulled it out me arse” unless the task is a one line change. And even then, shit breaks and it becomes useless, so the one line change is estimated to be a day anyway
The idea with story points is you assign them consistently, so the team’s velocity is meaningful.
One team might deliver 30 points in a sprint while another delivers 25 and they deliver the same amount of work
Of course management want to be able to use story points for tracking, they want to compare teams using them, so you end up with formulas for how many points to assign
Of course if they score you on points, they get more points, not more work and story points become useless
One time a VP decided to jump in and be a developer and he just pointed a bunch of cards when the dev that was really going to do the work was off for the day. Obviously the points were way too low, so I just padded out the rest of the cards knowing the 7 points on the cards the VP pointed was going to be the entire two week sprint for the other dev and I’d need to to whatever else was put into the sprint.
And that’s how I found out the Product Manager was putting the points into a spreadsheet to track how many points each individual dev was doing. He was actually upset at me for doing 20 points in the sprint. Sure, I padded them out, but why wasn’t he bothered by the cards that had too few points on them? Just upset his spreadsheet was screwed up, but couldn’t be angry at the VP that under-pointed a bunch of cards.
One of these is wage theft. Don’t enable that shit.
Yup. Not getting paid? Don’t work.
Forced to? We have a word for someone who is forced to work for no compensation… The word is slipping my mind, but I’m pretty sure the USA fought a civil war about it.
Bikeshed? That’s a new one for me.
Bikeshedding is when instead of making important, compex decisions that have consequences for being wrong, someone focuses on the simple, low impact, minimally important part of a project that has no consequences if its fucked up.
I think the term comes from construction projects where instead of finalizing the design of a complex building, the execs spend the entire time talking about bike parking on site. What color to have the roof, how many bikes it should hold, etc.
Bikeshedding is about offloading responsibility while still feigning involvement. You, the owner, avoid the whole part of your job youre paid for, i.e “making the hard decisions” and through misdirection and inaction, make someone else do it. That way you can blame them later if things go wrong, or take credit for their work if they go right.