17 points

Do I really need to open a ticket for this

Yes

UNIRONICALLY, ASSHOLE! IT’S THE FIRST THING YOU SHOULD HAVE DONE!!!

Fucking “hey guys, we are bringing in someone from another department and they need to catch up. What’s the project looking like?”

“I don’t know. Nobody wrote anything down and now it’s scattered across six didn’t PCs in various states of dysfunction.”

IT guys think they’re all Michael Jordan right until they get the ball.

permalink
report
reply
8 points

I get the message here for sure, but imo tickets (while important) take a back seat to a rich commit history. Ifbthe commit messages and history are high quality enough, one can tell whats up with the code sinply by looking at the log.

Tickets on the otherhand are in a secondary system. Of course, they can bind the work of multiple projects together. But honestly, has anyone ever been able to just reach the ticket history and know everything about a project without asking someone?

permalink
report
parent
reply
6 points

tickets (while important) take a back seat to a rich commit history

I’ve found people who do one will manage the other with ease. But “oops! No ticket” is a canary telling me their commit log is going to be shit.

But honestly, has anyone ever been able to just reach the ticket history and know everything about a project without asking someone?

I’ve been able to find out the status of individual half-finished bugs off a ticket log and work/reassign it quickly. Without a ticket in queue, I’ll either discover the issue has been completely ignored or that multiple people pioneered their own boutique fix without talking to one another.

permalink
report
parent
reply
2 points

Problem in some teams are the respective audiences for the commit activity v. the ticket activity.

The people who will engage on commit activity tend to have a greater common ground and sensibilities. Likely have to document your work and do code reviews as the code gets into the codebase and other such activity.

However, on the ticket side you are likely to get people involved that are really obnoxious to contend with. Things like:

  • Getting caught up in arguments over sizing where the argument takes more of your time than doing the request
  • Having to explain to someone who shouldn’t care why the ticket was opened in the first place despite all the real stakeholders knowing immediately that it makes sense.
  • Work getting prioritized or descoped due to some political infighting rather than actual business need
  • Putting extra work to unwind completed work due to some miscommunication on planning and a project manager wanting to punish a marketing person for failing to properly get their request through the process
  • Walking an issue through the process to completion involves having to iterate through 7 states, with about 16 mandatory fields that are editable/not editable depending on which state and sometimes the process is stuck due to not having permission because of some bureaucratic nonsense that runs counter to everyone’s real world understanding.

In a company with armies of project managers the ticket side is the side of dread even if the technical code side is relatively sane.

permalink
report
parent
reply
2 points

I’ve found people who do one will manage the other with ease. But “oops! No ticket” is a canary telling me their commit log is going to be shit.

Thats an astute observation. I really cant refute that haha.

permalink
report
parent
reply
1 point
*

There’s an alternative to creating too many tickets that only add overhead and then make it harder to get into the project. Creating a good amount of tickets.

I took the OP reference as demand for ticket creation when they don’t make sense and only hinder development through unnecessary overhead. E.g. creating a ticket before a quick analysis, or creating individual tickets when one story/feature ticket would be enough. Or more specifically in this case, having to create one before fixing a critical blocker.

permalink
report
parent
reply
38 points
*

When a team of programmers is left to their own devices, they too screw shit up. They all do things in their own way and argue over what is best, and often fail to see the bigger picture.

I watch scope creep and lack of organizational planning from both programmers and managers. It’s all personality issues.

I also don’t believe anyone actually follows or knows what agile is (not saying I do either). Everyone on every team at every place sure talks about it, but it doesn’t seem like anyone actually does it. These are all just labels for “we adapted as we went.”

permalink
report
reply
31 points
*

Found the PM/TPM. The best software was written without Agile and PMs/TPMs. It’s only after software becomes successful that the need is felt for that stuff.

The world runs on open source software and I don’t know of a single open source project that uses Agile or PMs/TPMs.

permalink
report
parent
reply
-7 points

Not a PM. But please, keep trying with stereotypical internet replies.

permalink
report
parent
reply
5 points

What? I’m not privy to RedHat/IBM/Google’s internal processes but they are all massive FOSS contributors at least some of which I assume are using Agile internally. The Linux kernel is mostly corpo-backed nowadays.

The development cycle of FOSS is highly compatible with Agile processes, especially as you tend towards the Linux Kernel style of contributing where every patch is expected to be small and atomic. A scrum team can 100% set as a Sprint Goal “implement and submit patches for XYZ in kernel”.

Also agile ≠ scrum. If you’re managing a small github project by sorting issues by votes and working on the top result, then congratulations, you’re following an ad-hoc agile process.

I think what you’re actually mad at is corporate structures. They systematically breed misaligned incentives proportional to the structure’s size, and the top-down hierarchy means you can’t just fork a project when disagreements lead to dead ends. This will be true whether you’re doing waterfall or scrum.

permalink
report
parent
reply
2 points

What’s agile?

permalink
report
parent
reply
20 points

A race to accrue as much technical debt as quickly as possible by focusing stricty on individual features while ignoring the long term ramifications of design decisions.

/s

permalink
report
parent
reply
13 points

A development philosophy that nobody understands, or actually follows, but every company insists on using, even when it’s a poor fit for their projects.

permalink
report
parent
reply
2 points
*

A family of software development processes for teams, which focuses on cycles of quickly building and delivering smaller blocks of program functionally (often just a single program feature - say: “search customers by last name” - or just part of a feature) to end-users so as to get quick feedback from those users of the software, which is then is use to determining what should be done for subsequent cycles.

When done properly it addresses the issues of older software development processes (such as the Waterfall process) in siuations where the users don’t really have a detailed vision of what the software needs to do for them (which are the most usual situations unless the software just helps automates their present way of doing things) or there are frequent changes of what they need the software to do for them (i.e. they already use the software but frequently need new software features or tweaks to existing features).

In my own career of over two decades I only ever seen it done properly maybe once or twice. The problem is that “doing Agile” became fashionable at a certain point maybe a decade ago and pretty much a requirement to have in one’s CV as a programmer, so you end up with lots of teams mindlessly “doing Agile” by doing some of the practices from Agile (say, the stand up meeting or paired programming) without including other practices and elements of the process (and adjusting them for their local situation) thus not achieving what that process is meant to achieve - essentially they don’t really understand it as a software development process which is more adequate for some situations and less for others and what it actually is supposed to achieve and how.

(The most frequent things not being done are those around participation of the end-users of the software in evaluating what has been done in the last cycle, determining new features and feature tweaks for the next cycle and prioritizing them. The funny bit is that these are core parts of making Agile deliver its greatest benefits as a software development process, so basically most teams aren’t doing the part of Agile that actually makes it deliver superior results to most other methods).

It doesn’t help that to really and fully get the purpose of Agile and how it achieves it, you generally need to be at the level of experience at which you’re looking at the actual process of making software (the kind of people with at least a decade of experience and titles like Software Architect) which, given how ageist a lot of the Industry is are pretty rare, so Agile is usually being done by “kids” in a monkey-sees-monkey-does way without understanding it as a process, hence why it, unsurprising, has by now gotten a bit of a bad name (as with everything, the right tool should be used for the right job).

permalink
report
parent
reply
13 points

They all do things in their own way and argue over what is best, and often fail to see the bigger picture.

It sounds like your programming team is missing a senior engineer/director of engineering. You need an engineer who has the experience to see the big picture, architect solutions, and tell the team what’s what.

permalink
report
parent
reply
104 points

The project manager keeps asking for an update every 15 minutes.

Not only do I feel this in my soul, I’ve been working for almost 13 years, and to this day, I’m still not sure what a project manager contributes.

The only thing I can tell is that their job is to be the designated impatient person.

permalink
report
reply
1 point

At my job, me and another guy were given stuff to work on. But unknown to product, there’s a lot of shared code there.

In my imagination, it should be someone’s job to coordinate this. Instead, I finished a chunk of mine, he finished a chunk of his, and then there was confusion. Maybe that’s just a technical team lead’s job.

permalink
report
parent
reply
1 point

They are there for higher ups to bitch at in toxic orgs. Thats why they pester constantly; noone wanta to be bitched at.

permalink
report
parent
reply
5 points

A big project with lots of people and moving parts that doesn’t need each individual tracking their own status and needs because the Project Manager is keeping everything up to date and keeping the Senior Managers off your back is invaluable.

Go Live was buttery smooth. We were all in and out by lunch, even after having to address a hang up on the fly.

Good project managers are worth their weight in gold

permalink
report
parent
reply
2 points

Both project managers at my company quit at the same time, so they’re spreading the workload to engineering instead of rehiring.

It has not been going well. Turns out the PMs were doing actual work.

permalink
report
parent
reply
3 points

I’ve had, hands down, one of the worst project managers in the world. Hewas overly concerned with team politics and toxicly positive. His toxic positivity was the main reason in my opinion as to why we never delivered anything usable to the company and were eventually downsized. He had no vision at all for quick and frequent delivery… he was the wrong person for the job but consistently believed that he just needed to “do his best for the day” and sleep happy that night. Meanwhile, his team was boiling with frustration and wasted work hours for features requested by management on a whim — these usually end up fully forgotten by the time they are production ready. His biggest accomplishment is somewhat shielding his team from upper management… sometimes. He was such a bottle neck and our team was a net loss to the company except where they could advertise “using AI” in their products. If he had been removed, and we (his team) had to manage things ourselves with the stakeholders, we would have probably been able to deliver something worthwhile every quarter or so.

permalink
report
parent
reply
20 points

I have a friend who was a project manager. He took the time to learn every platform used by his team, but held no pretenses that he could actually develop anything without the team. His main goal was filter all the horseshit from the stakeholders and higher-ups so that they wouldn’t overwhelm the team with minutia. By learning the platforms and observing the team developing, he could make accurate predictions on timeliness based on whatever arbitrary feature was being requested and he’d always answer “let me ask my team” before discussing deliverables if he wasn’t sure.

The number of times that he explained in meetings that’s the team’s timeline didn’t change, but that the stakeholders’ expectations did and that introduced a new additional timeline was incredible. It’s unsurprising that he only lasted a year or two before his bosses started pushing for a promotion. Seeing him work made mean bit jealous that I couldn’t be on his team, but we work at different companies and I don’t want to join the private sector if I can be of benefit to public education.

permalink
report
parent
reply
3 points
*

They’re supposed to work as an adaptor/buffer/filter between the technical side and the non-technical stakeholders (customers, middle/upper management) and doing some level of organising.

In my 2 and a half decades of experience (a lot of it as a freelancer, so I worked in a lot of companies of all sizes in a couple of countries), most aren’t at all good at it, and very few are very good at it.

Some are so bad that they actually amplify uncertainty and disorganisation by, every time they talk to a customer or higher up, totally changing the team’s direction and priorities.

Mind you, all positions have good professionals and bad professionals, the problem with project management is that a bad professional can screw a lot of work of a lot of people, whilst the damage done by, for example, a single bad programmer, tends to be much more contained and generally mainly impacts the programer him or herself (so that person is very much incentivised to improve).

permalink
report
parent
reply
6 points
*

I don’t work in software, I’m a chemical (aka process) engineer.

Some project managers are superfluous if they don’t have a background being an engineer of some discipline themselves, but the vast majority I’ve worked with are excellent because they have a working knowledge of everything required to progress each stage of the project, and deal with most of the client interactions.

Being able to say: “we’ve done x, but we still need y, z and aa to progress” and then the project manager organising this getting done together with the other discipline leads is a godsend, letting you focus on doing the actual calculations/design/nitty-gritty details. And the fact they manage the annoying role of dealing with clients and the disagreements around that is also great.

This is working as a consultant, but I imagine if you replace clients with higher ups, I’d imagine the same still applies.

Perhaps things are very different in software, but I do think there is some use for them.

But I’ve never had one check up every 15 mins, more like once a day, and only if something is very time sensitive. Otherwise it’s once a week, or by email as required.

permalink
report
parent
reply
6 points

I’m a project manager for a team of IT systems, engineering, and infrastructure folks with just over twenty folks and my key purpose on earth is that I take one hour or less of their time once a week and by doing so they never have an email or conversation with anyone else outside of our team. I know enough to talk to any stakeholders and complete monthly status reports by simply knowing what is going on and communicating strategy to them. I’ve been praised heavily which feels very dirty being an individual contributor for so long in my career. I can speak the same language as everyone on my team spanning logistics, networking, systems, and software development but I don’t DO anything. I have major imposter syndrome as I near retirement so the praise is also appreciated greatly from them. It’s a really weird period in my career.

permalink
report
parent
reply
1 point

I’m a chemical (aka process) engineer.

Well now I’ve got this song stuck in my head again, which probably accurately describes life with particularly bad peoject management.

https://www.youtube.com/watch?v=whdzP0GHuc4

permalink
report
parent
reply
2 points

This song is near and dear to my heart after having only heard it a handful of times before

Though, the problems described are not from the project managers, it’s the higher ups and owners squeezing every last cent, with disregard for the people who will be killed.

So, so many unnecessary deaths because someone wanted to save money and cut corners in my industry.

This is why people who advocate for small government and lax regulations, are idiots

permalink
report
parent
reply
3 points

I’m still not sure what a project manager contributes.

I’ve well over a decade in software project management. The number one thing we contribute to a project is saying to the client (internal or external) “Sure, we can add that feature but it will have an impact on the delivery timeline unless we deprioritise other features. Are you happy for us to extend the deadline? If not, let’s talk about what we can cut from the existing scope in favour of your new feature.”

permalink
report
parent
reply
10 points

They’re technically there to ensure the project has the correct resources aligned, and manage the project budget.

Aka if they want timely updates, they can purchase & fetch me coffee! I don’t need them, but they sure as hell need me.

permalink
report
parent
reply
96 points
*

Good project managers are invaluable. I’d much rather explain status to a sympathetic ear and have them reword it for diplomacy than try and directly advocate with executives - and I celebrate any customer communications I don’t have to be a party to.

When PMs act like part of the dev team and handle the communication side of the project it lets devs focus on the important shit… and if your PM is asking for daily updates then they’re too green (or you’re too unreliable) to have built up a good level of trust. Nobody fucking cares if a project is delivered at 3PM or 4PM, so who the fuck cares about daily or hourly project updates - the status won’t be materially different.

It’s like managers or fellow developers - good ones are invaluable and shitty ones make everyone’s lives harder… the difference is that PM seems to be a position that attracts do-nothing folks so it’s more likely you’ll get a shitty roll.

permalink
report
parent
reply
23 points

The really good ones understand they are in administration and leave technical things to the technical people.

permalink
report
parent
reply
3 points

They are the ones that talk to the customers so the engineers don’t have to.

Often those customers are others in the same company.

permalink
report
parent
reply
28 points

Tickets aren’t agile, tickets are scrum.

permalink
report
reply
22 points
*

Then again, the guy giving you that remark usually doesn’t know the difference

permalink
report
parent
reply
2 points

I mean, Agile doesn’t really demand that you do or don’t use tickets. You can definitely use tickets without scrum.

permalink
report
parent
reply
4 points

If you hate the taste of scrum give SAFe a try! (but really, please don’t)

permalink
report
parent
reply
2 points

I just left a SAFe company! God the system was awful!

permalink
report
parent
reply
1 point

Don't look up has a pretty accurate depiction of what the billionaires will be able to achieve when the end of the world comes.

And the series Mr. Robot did very well by showing realistic software and hardware all along.

permalink
report
reply

Programmer Humor

!programmer_humor@programming.dev

Create post

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

  • Keep content in english
  • No advertisements
  • Posts must be related to programming or programmer topics

Community stats

  • 8K

    Monthly active users

  • 1.2K

    Posts

  • 41K

    Comments