Oh the joys of the JIRA sweatshop. We have JIRA pulled up on the big screen TV and the product guys cycle through the status of each dev team members’ items during each daily standup. This is my first development job, surely it’s not like this everywhere?
E.g: If we as engs think we can do 12 tickets in a one-week sprint, we commit to 8. This leaves room to pick up any production issue related work, address tech debt, and have some breathing room so we're not rushing through jira tickets.
It's also workplace specific, but imo product people shouldn't be engaging in daily standups other than passive observation. If they are drilling through the jira board and asking for status updates, they're taking on the role of a micro-manager, not a product owner/manager.
Standups should be engineers talking to eachother and raising blockers/issues that would prevent them from meeting the sprint goal they committed to, not daily check ins with product (again, imo).
If you want to stay in the organization and get promoted by performance metrics, then figure out what numbers are being evaluated and work to maximize them, so that you appear as the model worker. It's not very hard to stay one step ahead of management if that's the game you're playing. If you have the best relationships and the best metrics, you should be able to get your promotions.
If you want to stay in the organization and coast, then who cares, just do what you want and they're almost certainly not going to fire you without plenty of warning. If you do get put on a PIP, then go find a new job immediately, and repeat. From what I can tell, most of the workforce does something similar to this for 30-40 years.
If you're not a leader, not a model worker, and not on autopilot, then you probably need to find a new organization where you can be one of those things.
https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-...
(although leader, model worker, autopilot are more polite terms than sociopath, clueless, and losers)
Sometimes you learn to play around the rules. For example, if you are required to report your progress every day (and "sharpening the axe" is frowned upon), a possible solution is to report on Friday morning only half of what you did yesterday, and keep the rest for the Monday report.
> product guys cycle through the status of each dev team members’ items during each daily standup
Something has gone horrible off the rails. Standup is supposed to be a quick time for every team member to raise any blockers primarily, with a quick "here's what I did, here's what I'm doing" type blurb. The benefit of standup is identifying blockers and if engineers are getting mired in problems (so you can fix those issues outside of standup).
People brought chairs. To a standup!
I've worked in environments where the PMs micromanage like this. It's both hellish and extremely inefficient.
So we’re not really any worse off than before.
I haven’t heard too many examples of “oh man we used to be free and ship great features on time but now that we have a backlog and talk to each other every day it’s a hellscape death march”
Generally, I’ve found that the level to which agile approaches make life better depends on how much management is actually willing to let the team do its work and stay empowered. This can happen with trust and top cover in large enterprises, but it takes constant work at the PO / product manager level otherwise regression to the mean takes over. Also hard to avoid the inertia of making successful teams bigger rather than letting them continue small.
I wonder how the Amazons / Facebooks of the world avoid the trap, but then their enabling teams are likely a big percentage of their workforce because they understand how important software is to their business.
Also, by discussing the issue you might discover others feel the same way and are open to changing the process.
If I run into a blocker why would I wait until the next morning to try and get it resolved?
Blockers are not just people and usually it's not done for accountability. They can be undocumented APIs, an unfamiliar requirement ("do we already have a way to extract images from PDFs before I download this new thing?"), etc.
If it is urgent and your only option is to sit there and do nothing then asking the team for help during the day is fine. Just weigh up the cost of interrupting everyone (or that high-performer who has all the answers) against what you gain.
Sit there and do nothing for awhile just may be the right thing to do!
I'm thinking about the Theory of Constraints and optimizing a system versus individual parts. This is a concept you would want your PM to know. So when they are mentally mapping the workflow heard during standups, they can be thinking about optimizing the entire production system.
Next step is the importance of communicating this to everyone on the team, so that they understand that there may be times when the right thing to do is nothing.
"Hey I was trying to use Mary's api but I couldn't figure it out, can someone help me find who to contact?"
If you ask immediately for help all the time you aren't being self sufficient. At the same time if you are spinning your wheels then just a second pair of eyes can be helpful.
You're unlucky, there are a lot of software teams out there where the developers are pretty much autonomous. That's not to say they do absolutely whatever they want, but micromanagement is usually out of the question.
A couple of months ago I spent about half my working hours in a week watching everything that happened at .Net Conf. I didn't ask anyone, I just said I was taking training time and since I don't take much no-one cared.
If I was in your position, I'd take this as a sign that there are better places to work. Wait out your current job until it's adding value to your CV (few good projects and contributions you can talk about), then move out. You'll get more money, and you'll probably have a better idea of what to look for.
Start with asking questions about how work is assigned/doled out. Where does all of their work come from, the Agile board? Someone stopping by and asking "can you do x" or "can you help Jill with Y".
Follow that up by digging into how they then talk to others about their progress on that work. Ask if they're interrupted or allowed to progress independently? How often does someone ask them "Is that done yet?"
Ask about how often they're asked about the status of the same piece of work by different people. Dig into how they keep everyone else apprised of what they're doing.
Ask them about their relationship with their Scrum Master, Project Manager, Product Owner, Dev Manager, etc. Ask what they could change about it if they could.
That line of questions may uncover the micromanagement pattern. Even if it doesn't, it will go a long ways in helping you get a feel for how a team works.
About once a week (usually Friday) I tell my team I'm going to spend the day researching or exploring some new idea that doesn't have any stories yet. It's never a problem. A decent chunk of our big leaps forward for our projects have come from us working on random stuff nobody told us to work on.
Micromanaging means you have nothing useful to do, and you are needlessly making other people angry. Such people should be fired first. (Yeah, I know, they are often the last ones to stay, because people who have better options leave first.)
If the product guys are any good they will care about having 'options' and will therefore welcome devs that are taking a broader look of the solution space.
This is not just common, but the norm in most organizations. I think the only time in the past 12 years (working with probably 20 organizations) where this didn't occur is the one engagement when I was charged managing the team.
There's far too many places where a team of even just four or five developers will spend 30 minutes (sometimes an hour!) every morning in "standup" being grilled on every single item committed to in the sprint.
I convinced the team to do without the standup and just put the status updates in slack for a week. At the end I was the only one who thought it was better. To quote one developer "I don't read it when its in slack". That indicates to me that the information isn't necessary to do your goddamned job.
I dislike agile now as a result of that experience.
Those two were both large corporations. It is my theory that it happens as soon as you have a separate scrum/project manager for the project you work on.
Better yet, cancel that standup because it's garbage. Only one representative needs to go to the product meeting.
Do they look over your shoulder every minute?
What we don’t do, is “no deploy Fridays”. We deploy all the time, and maybe somebody wants to do some minor bug or light UI cleanup. I’m certainly not going to stop them. Requiring an “off-day” for deployments is a major red flag for me.
The biggest extreme that I've faced was a team where there was a 36 hour window between Wednesday and Thursday where deployments to production were allowed and it was a nightmare getting any code out especially with most deployments involving 10-20 new commits so if something did break we had to rollback a lot and rack our heads to figure out what went wrong.
Also, sites "go down" for more reasons than deployments, and often, a deployment is one of the fastest or only ways to fix or work around the issue.
So far the only problems I've seen is that sometimes it's hard to convince engineers to actually use the time instead of still working on tickets.
But sadly over the past few years we've kind of just done away with it. We don't allot time for it specifically anymore. We think about it from time to time and wish we still had the bandwidth for it.
But it just doesn't happen anymore.
It's a tough thing to build into a team's structure, I think, and in such a way that it's sustainable.
https://www.youtube.com/watch?v=e3msMuwqp-o&list=PLctkxgWNSR...
I do not write any code on Friday (unless it's a severe production level issue). Instead, I spend the mornings reviewing PRs that I wasn't included on (to keep up with whats happening, but also to learn more about how other people write and review code) and the afternoons are spent reading/researching/online classes.
This has really helped me avoid burn out. I go into the weekend less exhausted and more motivated to return on Monday and implement new stuff. It has also helped generate some inspiration for weekend/personal projects.