this post was submitted on 10 Dec 2023
86 points (93.9% liked)

Technology

34987 readers
406 users here now

This is the official technology community of Lemmy.ml for all news related to creation and use of technology, and to facilitate civil, meaningful discussion around it.


Ask in DM before posting product reviews or ads. All such posts otherwise are subject to removal.


Rules:

1: All Lemmy rules apply

2: Do not post low effort posts

3: NEVER post naziped*gore stuff

4: Always post article URLs or their archived version URLs as sources, NOT screenshots. Help the blind users.

5: personal rants of Big Tech CEOs like Elon Musk are unwelcome (does not include posts about their companies affecting wide range of people)

6: no advertisement posts unless verified as legitimate and non-exploitative/non-consumerist

7: crypto related posts, unless essential, are disallowed

founded 5 years ago
MODERATORS
 

Are agile scrums an outdated idea?

Here's a video on YouTube making the case for why agile was an innovative methodology when it was first introduced 20 years ago.

However, he argues these days, daily scrums are a waste of time, and many organisations would be better off automating their reporting processes, giving teams more autonomy, and letting people get on with their work:

https://youtu.be/KJ5u_Kui1sU?si=M_VLET7v0wCP4gHq

A few of my thoughts.

First, it's worth noting that many organisations that claim to be "agile" aren't, and many that claim to use agile processes don't.

Just as a refresher, here's the key values and principles from the agile manifesto: http://agilemanifesto.org/

  1. Individuals and interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

* Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
* Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
* Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
* Business people and developers must work together daily throughout the project.
* Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
* The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
* Working software is the primary measure of progress.
* Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
* Continuous attention to technical excellence and good design enhances agility.
* Simplicity--the art of maximizing the amount of work not done--is essential.
* The best architectures, requirements, and designs emerge from self-organizing teams.
* At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Your workplace isn't agile if your team is micromanaged from above; if you have a kanban board filled with planning, documentation, and reporting tasks; if your organisation is driven by processes and procedures; if you don't have autonomous cross-functional teams.

Yet in many "agile" organisations, I've noticed that the basic principles of agile are ignored, and what you have is micromanagement through scrums and kanban boards.

And especially outside software development teams, agile tends to just be a hollow buzzword. (I once met a manager at a conference who talked up how agile his business was, and didn't believe me when I said agile was originally a software development methodology — one he revealed he wasn't following the principles of.)

#agile @technology #technology #scrum #tech #Dev

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 52 points 11 months ago (3 children)

If your scrum is an hour long, you arent doing it right. They should be 10-12 minutes tops.

[–] [email protected] 26 points 11 months ago

I call those emails.

[–] [email protected] 11 points 11 months ago (1 children)

When I run mine... It's story 1 - highlights

Story2 - highlights

Etc

In depth conversation can be had after standup.. I'm in and out in under 10. Often under 6 minutes.. lol

[–] [email protected] 7 points 11 months ago (5 children)

I'll preface this to say I've only done real standup meetings on a project a long time ago, and maybe it wasn't done the right way (No True Agile), but I didn't really see the point.

In my opinion a 10 minute meeting with more than 3 people is probably worthless. What information is being exchanged in that time that shouldn't just be an email? Are people not sure who can help with their issue or not going to bring up things that need more attention if not forced to speak? Does the entire team really need to hear these minute summaries of the small things people accomplished in the last 8 work-hours? And couldn't this just be done with the team lead talking to each person and coordinating or calling meetings when members need to talk?

So these super short meetings succeed at not wasting a lot of money on process, but IMO it's because they're a short waste rather than because they're an efficient use of time.

[–] [email protected] 7 points 11 months ago (1 children)

My team runs an async standup on Slack where you just respond to a bot with all the usual stuff. We also do a slightly longer meeting on Tuesday morning where we go into more details, but never more than a half-hour.

[–] [email protected] 3 points 11 months ago

This sounds great. "Hey, I'm trying to figure out this bug in this area, anyone have any ideas". The main benefit of meetings is forced acknowledgement of "messages", but reading email or other communication mediums should just be part of being a responsible professional.

[–] [email protected] 5 points 11 months ago (1 children)

Stand-up shouldn't be about what was done, it's about what will be done that day and what overlap they may have with others.

It's also the time to communicate changes in priorities, like prod bugs or new input from customers. Usually it's "oh, that's probably my fault, I'll take it," but sometimes it's "let's meet after to discuss it, I'll need people X and Y."

And yes, most of the time it's a waste of time, but sometimes it's really valuable, and it's hard to know in advance. Having the meeting can mean the difference between a prod bug getting fixed that day and not, or a dev wasting a day on a useless project because they missed an email. So we pay that cost to make sure we can catch issues and resolve problems early and quickly.

[–] [email protected] 1 points 11 months ago (1 children)

a dev wasting a day on a useless project because they missed an email

This all makes sense to me, though I do think this "missed an email" issue really is a problem of unprofessionalism that needs to be resolved. I get that some people just don't like it, but your job includes reading emails, at least from your immediate team members. Alternately, if it was missed because the sender is prone to sending manifestos to the entire team with an important query embedded in paragraph 4, they need to do better. It shouldn't be that email is an unreliable form of communication.

[–] [email protected] 2 points 11 months ago

It's not email specifically, it could be a bunch of different things, like:

  • in person conversation that happened without the dev present
  • slack message chain the dev wasn't watching
  • email where sender forgot to include the dev

It could be a ton of things. The point is that a standup provides a sync point to catch any of those misses. You can and should improve async communication, but mistakes will happen and it's useful to catch those if deadlines matter.

In a FOSS project or similar, it's fine to not have those since timelines are usually more flexible. But in a business, it's usually worth a little inefficiency if it means more predictability.

[–] [email protected] 4 points 11 months ago (2 children)

@Zaktor

@technology @ajsadauskas @jordanlund @pixxelkick @7u5k3n the point is you can say if you have problems and quickly find if someone else knows the solution or if you need to spend time digging in.

[–] [email protected] 1 points 11 months ago (1 children)

Or if someone else is working in the same area of code as you. Typically not much of an issue on an individual team but it can happen across teams. We've gotten better about dividing things up but there are still times when working on an issue leads you to an area of the code base that isn't obvious from the outset.

Avoiding merge conflicts altogether is the easier route when possible.

[–] [email protected] 1 points 11 months ago (1 children)

The issue is this only has value if your scrum is large enough people might be accidentally conflicting with someone they wouldn't just be coordinating with normally. And the larger the team the worst the cost of a standup meeting and the less value is provided. A multi team scrum sounds horrible.

[–] [email protected] 1 points 11 months ago (1 children)

We have various scrum teams in our department and the scrum masters communicate with each other. The teams don't interact with each other that much.

[–] [email protected] 1 points 11 months ago (1 children)

So it's not the scrum that's handling the issues it's the leaders. They could just as easily walk around to everyone and ask if they have any issue. Like most meetings, the scrum is efficient for the manager, not for the devs.

[–] [email protected] 1 points 11 months ago

No, and that would be very inefficient. If I have an issue during the day I just ask in our group chat and see who's got an answer.

If there is a story about x and I end up making changes in y there's a good chance I'm bringing that up in scrum. If the scrum master becomes aware of another team working on y they'll tell us to talk to each other about it to make sure we aren't stepping on each others toes.

Scrums are useful to make sure things are running smooth and keep your team on the same page. If you keep saying you're gonna do x that day and after a few days you still haven't done it, it sounds like there are impediments not being brought up. Also a great time to remind people about any outstanding PRs. When all is going well, scrum can seem useless. I'm reporting I did the things I was going to do and telling you what I'm doing next. Not super useful. But you never know when something unexpected is going to come up.

Scrums don't have to be real-time either. We've done them over chat before. Sometimes people email it when they are out sick. No idea why cause if I'm out sick then you're just not getting my report. If any of it is important I'll bring it up at the next scrum.

And, I suppose a manager could be a scrum master but none of ours are. Sounds like a waste of time for them.

[–] [email protected] 0 points 11 months ago (3 children)

That kind of meeting would be better as an email.

[–] [email protected] 1 points 11 months ago (1 children)

@Zaktor

@technology @ajsadauskas @jordanlund @pixxelkick @7u5k3n no, people can say things like that faster than they can type. Unless you are not native

[–] [email protected] 1 points 11 months ago (1 children)

Gathering for a meeting and sitting through everyone's turns is way longer than typing an email. "I have a problem with X" shouldn't be a long email, and if the description is a longer conversation you're burning too much time for the uninvolved people in a large group meeting. In both situations the back and forth discussion should occur directly in a follow-up, not in the group communication medium.

It's almost never the right choice to prioritize the speaker's time efficiency over the listeners'. Any speed in speaking vs. typing is completely overshadowed by making 5-10 people listen to them vs. a quick skim of an email and then moving on when it's not something you know about.

[–] [email protected] 1 points 11 months ago (1 children)

@Zaktor

@technology @ajsadauskas @jordanlund @pixxelkick @7u5k3n if there is nothing to discuss my meetings take 3 minutes. I can't verify spelling of just my status email in that time. We don't leave our desks for the meeting, so it is three minutes. They are called standups for a reason, sitting down should not be worth it (except for the one disabled person )

Your problem seems to be how the meeting is run.

[–] [email protected] 1 points 11 months ago

@bluGill @technology @jordanlund @pixxelkick @7u5k3n @Zaktor I guess the difference between your experiences and Zaktor's is the difference between an actual Agile standup, compared with faux-Agile.

[–] [email protected] 0 points 11 months ago (1 children)

@Zaktor @bluGill No. A lot of meeting could better have been e-mails or a chat message, but they are still slower than direct communication. Usually people have switch off notifications so they are not distracted by all the emails coming in over the day.

Meetings also synchronize the team which important to give everyone an overview. All are concentrated on the subject (if the meeting is short). Furthermore, it is a ritual. And ritual are important for human beings to structure their day.

[–] [email protected] 1 points 11 months ago

The problem isn't the speed of communication, it's requiring everyone else to witness communication that doesn't apply to them. I've never been on a team where 8+ people are all potentially involved in the same issue. If it takes someone 5 minutes to write an email or 1 minute to talk it out, it's still a bad idea to have 8 people listen so their communication will be faster. And generally a back and forth, which is where direct communication really shines over email, shouldn't be a full-team situation.

And yeah, email can be a distraction, but that means you need to handle email better (filter your team's email to priority and churn through the bullshit flooding your inbox later). It's just as much a flow killer to get people up and out for a meeting that may be short, but is largely worthless. I know when a meeting isn't worth my time. Short is better than long, but it's still a disruption beyond skimming an email and recognizing "not my thing".

In the end, what really strikes me as a problem is the frequency of these meetings. You shouldn't need to be synchronizing your team every day. Leading up to a release, sure, every day matters and things can change in an instant, but for a regular way to manage a software team? You shouldn't have daily pivots needing realignment. The ritual isn't to make the devs comfortable by structuring their day, they're not children and they can make their own structure, it's instilling a feeling of perpetual crunch.

[–] [email protected] -1 points 11 months ago (1 children)

Wouldn't want to have you on my team thanks

[–] [email protected] 2 points 11 months ago

LOL, I very much could not care less random internet person. I'm quite comfortable in my career and you sound obnoxious.

[–] [email protected] 2 points 11 months ago

The goal of the sprint meeting is very straightforward:

  1. Everyone gets informed what everyone else got done yesterday, so they know where people are at
  2. Everyone gets informed what everyone else is doing today, same reason as above.
  3. Anyone who is currently blocked on a task can quickly ask for assistance, and with everyone in the meeting someone can jump on that or direct them to a person who can help
  4. Anyone who doesnt have anything to do can ask if anyone else needs help with anything

Its an all hands meeting meant for everyone to get their morning baseline "what is everyone else doing" understanding.

It's also extremely critical for company culture, morning standups keep individuals anchored to "who is my team" and "what do they do", so they understand when asked who so-and-so is and what they do here.

Without the standup meeting, you typically get situations where everyone is operating in their own glass boxes and they start to disconnect from the team. They have no idea what other people are working on, they have no idea what other people even do for the team, etc.

You dont want a situation where your developers have no idea what your QA team is busy with, and no one knows what the UX team is currently tackling. Thats how you get a lot of divergence and disconnect.

The standup helps keep everyone not only aligned, but also knowledgeable of whats coming up next.

Your devs hear about what the UX team is finishing up so they know that in a couple days thats going to be next on their plate, and your QA knows what the devs are finishing up so they know whats next to focus on.

You can consider the morning standup to be your cross pollination meeting for infoshare.

[–] [email protected] 2 points 11 months ago

@Zaktor @7u5k3n A meeting is only useful if it (a) causes someone to do something they wouldn't have otherwise done, or (b) shares information more efficiently than an email or chat thread would have. My current team has 15 minute standups with 12-16 people that do both, but if a meeting isn't doing either it should be jettisoned.

[–] [email protected] 9 points 11 months ago* (last edited 11 months ago)

Exactly. Here's roughly how ours go:

  • 5 min starting the meeting - people joining, some company/team announcement, etc
  • 5 min reporting plans for the day (really just "working on X, no assistance needed")
  • 5 min discussing any issues from step 2

That's it, and we're often done a couple min early.

We do two teams back to back, and since I'm a lead, I usually join both so I'm aware of what's going on. So 30 min total for two teams, and I'll sometimes sneak in some other syncs in the extra time between stand-ups to avoid yet another meeting (e.g. discuss a prod bug with QA or discuss a process change with the scrum master). We're planning on adding a third team to our office soon, and I think we can do it in 10 min per team.

If your process looks significantly different from that, fix it.