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/
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- 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.)
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.
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.
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.
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.
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.
It’s not email specifically, it could be a bunch of different things, like:
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.
@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.
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.
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.
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.
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.
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.
That kind of meeting would be better as an email.
@Zaktor
@technology @ajsadauskas @jordanlund @pixxelkick @7u5k3n no, people can say things like that faster than they can type. Unless you are not native
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.
@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.
@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.
@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.
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.
Wouldn’t want to have you on my team thanks
LOL, I very much could not care less random internet person. I’m quite comfortable in my career and you sound obnoxious.
The goal of the sprint meeting is very straightforward:
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.
@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.