Stand-ups tend to be too much of a status report to the manager and are more valuable when its the developers talking between themselves and sharing knowledge of their work.
My biggest dislike for Scrum is how managers can use it to turn "agile" into basically a MS Project plan from the estimates.
This is the biggest lie of standups. No one gives a shit about standups. Everyone is waiting for their turn and then not listening to others. Let's stop pretending. If they need help, they'll reach out to the expert on 1:1 basis. Way more productive, way more concise, better bonds, privacy and learning experience.
No one waits until standup and be like "Gee.. I should ask this help in front of 8 others and waste everyone's time".
I've experienced the kind of "standup" you describe too, but it usually coincided with not actually following the rules for what a standup is (e.g. not actually standing up) and a bunch of other fake agile.
That seems like a bad culture more than anything else.
Being "stuck" working in a company like that really sucks. You can spend years spinning your wheels just trying to keep up. Working at a company that fosters collaboration and non-judmental attitudes. . . it's like night and day, and you can grow your skills and get out of a narrow role, and look at the big picture.
These are the kinds of things that every engineer needs to learn to look for when you're doing an interview somewhere.
I understand your take, thanks for the contrast.
How is the best situation for a prideful introvert to have a scheduled meeting every morning where they can make it known to the entire team exactly how stuck they are?
If anything those are the exact traits that make devs prefer 1-on-1 communication.
Psychological safety is the biggest factor in overal team performance and morale. That safety comes from trust, and that trust comes from routine demonstration of vulnerability and support.
Lone wolf rockstars can have their own moments of self-defeat and wheelspinning too. But if they haven’t developed a sense of courage and humility to admit it and bring it to the team, then the whole team is now literally bottlenecked on their ego.
That's my intuition about what's wrong with these ceremonies: they look like they are trying to foster those things by enforcing the superficial behaviours seen in good teams, but it is just the effect. A team with trust, close bonded and efficient has "standups" and "retros" in an organic way, because that's the effect of a team that work together.
I always felt these methodologies try to turn it around, as in "let's force the superficial behaviours we see in good teams, so it will make other teams as good". But it doesn't work that way and it ends up being a tool for managers.
Because the whole team's doing it, because it creates a space where it's ok to have got stuck, and because the once-a-day schedule sets a clear expectation about how long it's ok to be stuck for without at least considering asking for help.
If you were happy getting yourself unstuck asking for help 1-on-1 you can still do that, and you'll never be stuck when it comes to the standup, so it should be no skin off your nose. The standup is for the sake of the people who would previously be stuck quietly for days at a time.
(though if I'm on the receiving end, I'd prefer to nudge you towards asking in standup or at least in an async way, rather than interrupting my own flow by asking me for help)
What you’re really looking for is office hours.
If you’re self conscious about asking questions, how is it easier to do it in the moment with your entire team also listening in, as opposed to a direct IM, or email if you’re worried about disturbing the busy expert?
And how often do people have questions for experts? More often during the beginning of a project, then there’s a lull, then maybe some more questions as you find things you hadn’t thought of, then another lull, and then more questions towards the end where you are trying to close all the loose ends.
Daily standup requires you take up the expert’s valuable time in equal amounts during all those periods. And you have a bunch of people listening in who have no reason to be in that conversation. (A single 15 minute standup with a team of 8 is straight up 2 hours down the drain. And that does not include any of the context switching costs, or the cost of interrupting someone doing deep work).
Wouldn’t it be much bette to setup a 1 hour meeting on day 1 of the project with the expert (doesn’t stand up add a whole role, scrum master, whose only purpose is to direct people to the correct experts, basically? Well, use them if you don’t know who the expert is...prior to scrum we simply went to our team lead for situations like that). A 30 minute follow up at the end of the week.
Then another 30 minute follow up a week later and a 1 hour meeting a week later close to the end of the project.
That’s 3 hours worth of time from the expert in a span of 3 weeks, but the expert gets to hold forth for those entire 3 hours, without having to waste 12 out of 15 mins listening to useless crap. That’s a straight up 20% saving over the stand ups, gets you a full 3 hours from them, as opposed to 20% of the time, gets their attention in decent chunks of times, where you can have a real discussion, interrupts them 4 times over 15 working days as opposed to 15 times, and only includes those who are directly relevant to the discussion as opposed to everybody.
'The expert' may turn out to be the junior you just hired.
It's also about flagging issues. Sometimes 'This is not working' is not synonymous with '...because I haven't figured out how to do it.'
It can also mean 'This is actually broken' and the team hasn't realised.
Right - I'm taking the assumption that everyone will have their own area of expertise, and "the expert" for a given issue might be any one of your peers.
> If you’re self conscious about asking questions, how is it easier to do it in the moment with your entire team also listening in, as opposed to a direct IM, or email if you’re worried about disturbing the busy expert?
Because there's a specific time at which you're expected to do it. It's very easy to keep putting off an IM/email, thinking you'll just spend a bit more time trying to figure it out yourself first. And the expert has already been disturbed, so there's no need to feel guilty about interrupting them.
> Wouldn’t it be much bette to setup a 1 hour meeting on day 1 of the project with the expert (doesn’t stand up add a whole role, scrum master, whose only purpose is to direct people to the correct experts, basically? Well, use them if you don’t know who the expert is...prior to scrum we simply went to our team lead for situations like that). A 30 minute follow up at the end of the week.
No, having experienced both approaches. You're so much more productive if you have direct, daily access to the expert. On day 1 you don't know what questions to ask; most of what a programmer spends their time doing is exploring the problem space. If you've got a daily iteration cycle where you ask a couple of questions, try things out, and then come back the next day with some follow ups based on what you've learnt, you get a whole lot more done.
> That’s 3 hours worth of time from the expert in a span of 3 weeks, but the expert gets to hold forth for those entire 3 hours, without having to waste 12 out of 15 mins listening to useless crap. That’s a straight up 20% saving over the stand ups, gets you a full 3 hours from them, as opposed to 20% of the time, gets their attention in decent chunks of times, where you can have a real discussion, interrupts them 4 times over 15 working days as opposed to 15 times, and only includes those who are directly relevant to the discussion as opposed to everybody.
It doesn't end up being "useless crap"; everyone is part of the same team delivering the same product, so it's important to have cross-pollination about what's everyone else is doing.
Of course if someone has particular expertise that warrants holding forth for an hour on the subject, it might be worth scheduling a time for them to do that. But there's definitely no substitute for having everyone available every day, at the same time as the rest of the team.
And in the same breath, it is a pipe dream to believe this can be achieved in 15-30 minutes every day. That's part of the controversy behind daily scrum: as a status update tool (which, yes I know, it "isn't supposed to be"), it is too long and there are better methods which can be automated. As a tool to actually share things, it is far too short. In both cases, it is incredibly disruptive and goes against most existing theories on flow and productivity. Planning an hour session later is a mitigation tool, though it is arguably an extremely poor one.
>But there's definitely no substitute for having everyone available every day, at the same time as the rest of the team.
And you know that based on an experiment which has been going on in an extremely informal manner for 20 years? Remote work was deemed "impossible" and "no substitute for real work", but many of us seem to do just fine. Let's not count our chickens before they hatch.
There's no contradiction; the whole premise is that those are measuring the wrong thing, that the cost of misalignment and building useless things dominates those concerns. That matches my experience.
> Let's not count our chickens before they hatch.
Look, if you've got some magic way to make things work then great. But an hour at the start, thirty minutes each week, and an hour at the end, is absolutely no substitute for having someone in your daily standup; I've done both (or pretty close to it) and it's night and day.
"I am not sure about the best way to proceed..." Or "I think I am going to try X not Y..." Or "I got some weird error I don't understand so I am going to be trying to work that out today..."
Often someone will pipe up and say they've had some experience there or faced same issue before and let's talk after the standup or they have a fix in the pipeline for that so don't worry about it until next Tuesday etc etc.
I guess if your colleagues don't listen in meetings though you have a different problem.
I personally find that standups that focus on the outstanding tickets help me to focus on actually working on the tickets themselves :) rather than getting distracted onnbusy work or investigating some curious bug or refactoring something if I have to standup the next day and say "I did nothing on those tickets assigned to me".
However, many people, without explicit prompting, will in fact never ask these types of questions at all. That is the value of the daily stand-up: it ensures that everyone is prompted to as these things AT LEAST once every day, rather than holding onto them for who knows how long.
I'd also note that, without dailys, it's rather rare to have the entire team together in the same room, especially now with Covid. Ideally you'd ask this type of thing on email or slack, but lots of people just don't bother unless you give them this explicit time for it.
I'm sorry, I just can't see it. If people don't bother to do what they are paid to do, then have a chat with them/fire them in the worst case and let the people that act professional and grown ups work in peace.
The way I've seen this happen is that someone is assigned a task to render Bezier Curves in OpenGL, they work on it for a few days stumbling through, and 5 days later when they are done with the task that was assigned to them, they try to commit and find out that someone else had been given a task to remove all curves from the display and replace them with octogon segments or whatever.
With a daily scrum, they would say "I'm working on the Bezier Curves feature today" and someone else would be able to quickly tell them there's a problem with that.
In some teams, this kind of communication happens naturally all the time, but in others, people get focused on their own tasks and avoid it, either not paying attention to group chatter or simply not sending out wild questions. 15-30 minutes of lost focus for everyone everyday is really not that big a cost to pay to ensure this happens early. With any luck, a tight knit team would anyway spend that long on coffee together every day, so the daily just formalizes some informal process which already existed - no extra cost.
And with the octagon example, there should be some kind of ticket for Bezier Curves and Octogons, if they cancel each other out, who in the hell created those tickets/decided on them? And again, you don't need a daily stand up to have an idea of who is working on what. The ticket board/tracker should give you a good idea if someone is doing Bezier Curves and you pick Octogons.
> 15-30 minutes of lost focus for everyone everyday is really not that big a cost to pay to ensure this happens early.
The problem it isn't 15-30 minutes. It is much more, because unless you are managing with strict work hours, and can make sure the stand up isn't delayed or interrupts someone's work, you are losing a lot more of the developers time. Context and focus is lost if you were in the middle of a task. Time is lost getting back to the place where you were, etc.
It may help with 'bad teams', but if the punishment for good teams is to do that because of the others, then I am sorry, I'm out. Makes no sense.
If it works for you and your team, more power to you. But not for me. (And I would really advise folks to try and understand if the team actually feels stand ups (or any other thing really) are a positive for the people involved, or they are just to 'scared' to raise concerns to not be that guy, as I have seen this happen a lot, going with the flow, but the moment they can speak freely, raise all concerns)
> The purpose of the Daily Scrum is to inspect progress toward the Sprint Goal and adapt the Sprint Backlog as necessary, adjusting the upcoming planned work.
The Daily Scrum is not a status meeting, nor a place to ask the "3 questions", it's a planning meeting, plain and simple. You don't have to walk the board and not everyone needs to take a turn saying what they're up to. It's a communication tool that provides an opportunity to inspect and adapt. The structure of it is totally up to the team.
If I am blocked, I don't need the rest of the team. I will fire an email or document and tag people on Github that its blocked.
Also, why are emails not a thing anymore? Email is amazing. Apparently, its old fashioned now. Whatever is happening in tech companies, we need to stop and evaluate what the hell are we doing. It would be a great experiment (I think Gumroad is doing it? I don't remember) where there are no meetings, no slack, and only email, adhoc 1:1s.
I feel like we're not talking about the elephant in the room here and finding ways to justify stand ups or scrum or whatever.
It's the question whether we can adjust "things" to be able to reach the sprint goal. It's the goal that counts, not the way imho.
> Also, why are emails not a thing anymore?
Emails have their Pro's & Con's - I prefer them, but not everyone is able to be precise and on-point in written language. Also, you need to be able to express your feelings in written language. That's one of the reasons I use emojis even in emails. The ascii-ones, but still...
> I feel like we're not talking about the elephant in the room here and finding ways to justify stand ups or scrum or whatever.
Well, I can see the elephant. But people have different opinions on this topic - something you need to accept.
This is exactly the opposite of what professionals do. They should be able to write well. It is not optional, it is an expectation. Feelings should not be part of a technical discussion.
In a few years, we're gonna get emojis in an RFC. Just wait, you!
Looks like we need to agree to disagree here.
;)
See: Are Disagreements Honest? by Tyler Cowen & Robin Hanson, 2002
>The Developers can select whatever structure and techniques they want, as long as their Daily Scrum focuses on progress toward the Sprint Goal and produces an actionable plan for the next day of work. This creates focus and improves self-management.
> Daily Scrums improve communications, identify impediments, promote quick decision-making, and consequently eliminate the need for other meetings.
While I agree with your point that the format is flexible, asking the questions is a good way to keep people on topic.
If a team has a good culture around knowledge sharing etc then quite possibly its not required, while for other teams that short time all together is better than nothing.
Hey guys, in order to complete this library upgrade task today i need to do a major refactoring in common.js, so if you all could avoid tasks in this area until tomorrow so we all can avoid nasty merge conflicts it would be great, thanks.
Or hey, looks like this this test case from nightly is failing? Did anyone change something here recently? Who will take a look at it?
If your standups don't sound like this and only becomes a place to report status and excuses for being stuck (asking for help) to your PO or scrum master, then you have a lot to work on. Unfortunately the later version is very common and often hard to get out of.
A standup where developers are sharing what they are working on and people are actually paying attention means that as a developer I have to pay attention to 4 different technical discussions in the span of 15 mins.
The context switching and mental energy required to do that is tremendous especially when you may already be in the midst of working on your own complicated and mentally taxing project.
And this is the best case scenario. Throw in larger teams, throw in non devs, etc and it only gets exponentially more complicated from there.
The whole idea behind daily stand ups is broken.
What you want, at most, is a 1-2 per week regular status update, at the end of the day, when you’re already mentally tired so the time wouldn’t be better spent elsewhere, and good enough team relation building that you can approach each other directly when you need something.
Agile/scrum tries to replace team building with status updates. When in reality, what one needs is team members to get familiar enough with each other so they know that Jack really gets the post lunch slowdown, so after lunch is probably the best time to approach him because he may not be actively working on anything, while Jill likes to sort out all her emails and communications first thing in the morning and then focus on her work in long uninterrupted stretches, so that’s when I should reach out to her for questions/discussions.
And you need to build the ability in your teammates to be able to think about the bigger picture, and decide whether the question they need answered by Jill right now while she is in the middle of her deep work is really urgent and important enough that it warrants breaking her flow or not, or if it can wait till the next day or if it’s short and simple enough, till you guys get lunch together today.
The Big Lie is that team building can be replaced by process. And the Big Lie is pushed (with the best intentions) because team building cannot be packaged and sold as a 3 day workshop (well, it is, but that comes across as inauthentic and doesn’t usually work well, and team retreats have lost the majority of their flavor because honestly I don’t want to get to know the vast majority of my colleagues outside of our work lives). What it comes down to is good leadership to build a strong team culture, and that’s harder to find and develop.
So instead of making the effort and learning to accept that you will have failures where the wrong person is made team leader, or they were made team leader too early and building feedback mechanisms to identify such mistakes and hopefully correct them ASAP, we resort tom3 day workshops that teach agile and that you can replace culture with regular stand up meetings.
This! They try to do it backwards: instead of building the team that will organically end up having standups over coffee in the morning, forcing the behaviour in the hopes that will build the team.
Seems like a mistake to have actual technical discussions in a stand-up. So yesterday I've worked on X feature, I've gotten pretty far but I'm being blocked because of a dependency on Y feature. I'd like to continue today, developer Z (who is working on Y feature) can we discuss this after the stand-up? Of course, I could've communicated this before - and maybe I've already done that, but the rest of the team doesn't know. What if they want to pick up a new story that has a dependency as well. Should all this communication just happen in emails or slack messages? That's fine I guess but it doesn't hurt to have 15 minutes to get a good view of what the rest of the team is doing.
Once you get into the nitty gritty you should honestly just say hey let's take a subset of this group and discuss it after. Works for us. Non-dev people shouldn't be there, or at least shouldn't get turns unless they're actually working on issues in the sprint.
Could it be the other way? That the quality of the retros went up and down based on the team cohesion? If that's the case (and I believe it is most of the times, in my experience), the retros are just an artifact, not the real mechanism.
That has always sounded super pretentious to me. It's a damn meeting, not a wedding or a funeral.
Agile seems very ceremonious to me.
Instead we talk about our plans for the day, ask a lot of questions and plan our collaboration and problem solving sessions. These dailies are usually shorter and I feel like I get much more value from them.
I’ve found that people who stick to the classic “what I did yesterday, what I’m doing today, what blockers are there” set tend to provide really short ‘bland’ updates e.g. “I was working on task foo, I’ll be doing more on foo today and possibly starting work on bar, I don’t have any blockers”. If you’re not paying attention you can miss the fact that the same update has been reported for 3 days in a row and actually there is some unexpected complexity and/or a simpler solution has been missed.
For me, the best stand ups give a little more information and can be a trigger for a follow up chat after the standup. “Yesterday I was working on task foo, today I’ll be doing a bit more because I found doing XXX is a little trickier than expected - but I’m still hoping to get onto bar, no blockers - unless my idea for XXX doesn’t work”
I’ve also found this sort of issue made worse on projects where the Project Management have decided that we shall be “Agile” and do scrum. You then end up with a non-technical PM acting as the scrum master and mandated “best practice”. This always stifles any technical discussion as it is ‘noise’ to them, despite being ‘signal’ for technical folk....
At best you get the chance of feedback with nothing implemented out of it.
Why is your manager present at the stand-up? It's just for the developers.
Sprints are just the periods of time between retros.
It doesn't help that few people take it seriously. And there's always one or two people that talk out the entire meeting, ruining any chance of it working for the rest.
> any actionable items getting discarded immediately after
Except that, that's bad and honestly I've never experienced it that way. Maybe because I'm vocal and harp on about things if they don't change but yeah. An actionable item either becomes an email (which we will follow up on during the sprint, if nothing happens it comes back next retro) or an issue in a sprint / kanban board.
> And there's always one or two people that talk out the entire meeting
You've got to claim a stage here. Or if it doesn't pertain to you specifically, help teammates who do get snowed under by explicitly asking them.
I'd really not want to work in the environment you're describing, but I think I'd give it a shot to change it before leaving.
Admittedly, that is my biggest problem with Scrum. Humans are by default the most volatile factor. While we could minimize its contribution, Scrum instead inflates the importance of the human factor. Example: estimating.
Grooming the back log for priority with just the people who are critical in deciding that priority, is common sense. Almost every methodology recommends this. Yet estimating is a tough sell: at the start, it is largely deemed useless due to inexperience. Yet as experience in estimating furthers, so too do metrics become available which make estimating unnecessary. Worse is when estimating and even re-estimating practices can easily eat entire days worth of productivity (a few hours per person + a high likelihood of hours around that meeting to be less efficient than could-be, loss or lack of flow). This is before we add that estimating has very little empirical evidence behind it (#NoEstimates) and psychological effects make things even more volatile (anchoring effect, Parkinson's Law, etc.)
I can't speak for others, but I went into this field because I want to minimize the human factor in anything mundane or boring, allowing people to maximize their participation in anything fun and exciting. For me, Scrum does the exact opposite.
I like to think that it would take a technically competent manager to understand the progress and performance of the developers. OTOH, with Scrum, you can generate numbers, however meaningless, without such prerequisites.
That's probably why some managers like it.
More likely is that, if teams were truly "self-managing", the number of management, management-lite and pseudo-management roles should be lowering drastically every year (or at least converting to hybrid roles). Yet I barely if ever see a Scrum adoption result in the majority of managers losing their jobs or changing the type of role they are performing. I also doubt data scientists would appreciate these middle-school tier statistics be called data science.
Why would you say that? There's nothing in the theory of scrum that makes a claim on the autonomy and creativity of developers. On the contrary, if you look in the scrum guide, you will find words like self-management, and independent, and cross-functional.
> Certain managers like it because it generates metrics, even though the metrics are meaningless drivel("we completed 20 story points this sprint!")
Story points do not figure anywhere in the theory of scrum. It is quite a different invention.
I'm really struggling with this argument.
So if someone reads a text, picks from it things that he likes, throws away things he doesn't like, tries to apply the result in practice, but without success — how come he gets to blame the original concept rather than his own invention? Why call the method derived via picking, choosing and mixing with bits from other texts by the same name as the original text? What makes people think that they are "doing scrum" when they are not?
Scrum was actually created by two Japanese dudes [0], and was for the manufacturing industry.
[0] https://en.wikipedia.org/wiki/Scrum_(software_development)#H...
While we’re on the topic of Agile, though, it’s best not to forget its eXtreme Programming roots.
For me scrum optimises for a very narrow perspective of software development which did not align well with long term and sustainable software engineering and ownership. If i was far less than generous I'd say scrum is design for children rather than responsible adults.
For success as a leader i should be focusing on building and fostering a team than does not need the self imposed constraints of scrum but are rather conscientious and vested enough to build and deliver what the company needs and the team can maintain.
It's super in Operations.. not super in Development.
Sprints make no sense at all. If you can do it you can do it. Stay at it and go on a spectrum of pumping consistent results to once in a blue moon creating something special. Sprint adds nothing to that other than a phrase to use in a conference call to hide ineffective working practices. I have Sprinted on a 35 hour working week, I have also worked normally on a 35 hour working week. Results are similar aside from stress others show where Sprint = Haste, and Haste != Speed or Quality.
Developers have always complained about being micromanaged or being given business objectives that don't make sense or about changing requirements or some such. But non-technical managers at the same time typically complain that their developers are prima donnas and that their team produces unpredictable and non-repeatable results.
If you understand KPI's, you understand scrum. Scrum exposes the development process to managers and in theory is supposed to give them a better idea of what the team is doing, what they're having problems with, and what the consequences of their management directives are. If that leads to better management of the team, scrum is a success.
Done poorly it may create a wealth of problems. The cadence may create undue sense of urgency that may lead to unhealthy levels of stress or to depression and desensitization of missing work targets. Nonsense competition may arise due to points and velocities.
Elevating a waffling HBR feature to the status of antecedent decalogue is totally on brand for the clerical formalists that promote Scrum.
In high performance teams, Agile begins where Scrum ends, and as the remarks here extensively demonstrate, awful working environments won't be improved by a bunch of ceremonies.
Again, thank you!
I’ve always felt scrum adds value for new teams who haven’t worked together or on greenfield projects in a space the team hasn’t worked before. That’s when the standups identity impediments. That’s when retrospectives uncover process or people issues. Once the team hits a stride it’s time for the training wheels to come off and then it’s just a Kanban board.
I also agree that after a team gels together there’s no need for a lot of the overhead that comes with scrum.
My experience in organizations have always been to continuously shape the process depending on how the team feels about it and not call it scrum
Here is the readable on the web version: https://basecamp.com/shapeup/webbook
Obligatory PDF: https://basecamp.com/shapeup/shape-up.pdf
Shape Up Your Agile (article): https://thinkfractional.blog/shape-up-your-agile/
Not speaking for OP but agile, straight from the manifesto, itself is anti-process, at least in the sense where...
> If not, which process do you find more palatable
Is a cogent question.
Which process do /you/ find productive and helpful? What would you change? What would you emphasize? Process is a tool to serve you and your peers and your stakeholders. Not to pay fealty. Not to choose sides. It can be picked into pieces and rearranged. It can be recalled or reorganized whenever it’s unsuitable.
But it was a process we decided on as a team, not something a consultant had read in a book.
I don't think that's true, it's "people over processes", it doesn't imply a "no processes" stance, just that you shouldn't _force_ a process and you should adapt.
IMO that's what the agile manifesto is about: adapting.
If the team likes scrum thats fine but picking scrum vs kanban, or bitbucket vs gitlab vs cvs, those are details a team cam and should be in charge of and revisit whenever they feel like. Because all that matters is working code, and what gets you there is skilled people that communicate well.
the problem is that this assumes that estimates can be accurate, which in some projects may be the case, but in general there are always unexpected problems, things you didn't know you didn't know, etc.
If it happens that a company goes under because they lost all income because there was no deliverability, the problem was the company had the wrong team of engineers. Either too much "isolated geniuses" or too much inexperienced. Sometimes also happens that the management decides the way of doing work without technical involvement. Even companies I've been that decided to rewrite a mature and solid big piece of software, because they "needed to use more strategic technologies". Meaning, the technologies that were the "cool thing to use if you are a cool startup". And they use Agile (so they claim).
Here’s where I disagree and would say that a well-functioning process certainly can help with that, albeit not perfectly, of course. And that is by aiding the invididuals involved in interacting well.
You can say we should separate agile from scrum, but scrum basically is agile today (and Kanban!), modulo the odd free thinking, practically self-managed shop. Agile comes in via consultant after a shop declares itself on a "burning platform."
What it's become, IMO, is work about work. I hated it.
The only contact I have with it now is when my manager has to hang up the phone because she has to go to the standup of other managers. (I drive a truck.)
I've been part of many meetings/scrums where the point was that the manager gets the info of how things are progressing but the meeting itself was net negative for the developers as they lost their flow and some of their time.
Is it possible to fall in love with someone so quickly over one line written on the web?
I don't think that's right. Agile is a way to manage projects as an alternative to waterfall. The 'communication' stuff on top of that might work well with it, but that's all to do with how you run your agile process. Agile itself is just about the order you do stuff.
Imagine that for your project, there 3 'features' that are needed. Each feature needs, designing, implementing and validating (testing it works). You end up with this grid of all the work that needs doing:
F1 F2 F3
Desi
Impl
Vali
In waterfall, you progress through this grid top to bottom. You design all the features, then you implement all the features and then you validate all the features.In Agile, you progress through the grid left to right. First you work on feature 1, doing design, implementation and validation, and only then do you move on to feature 2, then feature 3.
The reasons for doing this are many and varied. The obvious ones being that in waterfall you don't have anything useful until everything is done, whereas in Agile at least you have F1 fully done a third of the way through. This also means that you can decide that F3 is more important than F2, and then later that F4 which you'd never heard of is needed when F2 isn't (and you can decide this as you go along).
This bare concept of agile is almost always what you want to do, particularly for software projects. The concepts of backlogs, sprints etc. are all the process that has built up to make this work in real life. Approaches such as Scrum have then built on top of that giving a whole lot of extra practices about how teams should work. A lot of that is variable in usefulness and how well it is used. You don't want to get away from the underlying value of the agile process though.
I can't wrap my head around this. The first item of the agile manifesto literally says:
Individuals and interactions over processes and tools
> When [the three of us, along with many others] created the Agile Manifesto in 2001, Kent Beck reiterated his vision to heal the divide between business and development. Kent created the website, and we were stunned when thousands upon thousands people signed this website. So we decided to form an organization – the Agile Alliance. I was the first chairman of this organization. The next chairman was Ken Schwaber. He decided he wanted to do something else. He wanted to make the alliance a revenue making machine…
> Ken came to me some time later, telling me he was going to make a class called Certified Scrum Master Class. I thought it was a dumb idea. But a dumb idea that works is not a dumb idea. People came and liked it. The more he charged, the more people came. He started giving out certificates, and he made a little organization off to the side – the Scrum Alliance. Lovely thing to happen.
Do you abruptly cut the interview short or do you just make a mental note and continue?
Usually after this, I take some time just to 'calm down' and think about it, and I usually shoot them an email saying that I appreciate the time and opportunity, but I don't think it will be a good match and wish them luck finding a better suited candidate. I had a few replies thanking me, most just don't reply and I had one (only one) insulting me and my experience and saying they only interviewed me out of pity as my experience wasn't good enough (I had more years (8) of experience in the tech stack they used than the number of years the company existed!:)) Was from a Who's Hiring thread here actually :)
I LOVE sending letters like this. It's the politest middle finger you can give to a douchey hiring manager or organization.
I don't have so much experience interacting with recruiters/hiring managers. However, every time I've let some frustration show at work, in the moment I felt vindicated and righteous, only to feel like an ass about 24 hours later. Normally when I feel the need to vocalize a frustration, I try to write down or remember why I'm frustrated, but wait to actually action the communication until I'm calm. Goes a long way to focus on solving problems, without identifying people as the problem.
Typically, they just become another box to check. “This task is underway, blah, blah..” and everyone tunes out.
I’ve seen them done well and usually because they are focused on prioritization - “is this still important? No? Stop doing it”.
I have been a professional developer for close to 20 years, 10 more if you count my hobby/learning path as well. All teams I worked that implemented scrum were a hindrance to me and not a benefit. It may work for others and that is fine, but it isn't a silver bullet solution for 100% of the cases.
If you’re on a team of more than a couple people and you have stakeholders feeding requirements to the project, what do you do that’s so different from the simple process of Scrum? It’s just set up to say, hey, we’re going to work on these items for the next week or two, and please don’t constantly come interrupt me in the middle to ask me to fit in a bunch more things than what we agreed to work on in this short time period. Then we’ll show you how it’s working and you can decide what we do next.
Is anyone really doing Waterfall now? Maybe earlier some industries used a Waterfall like process. But actual descriptions of Waterfall seem to go back 50 years to Royce's paper, Managing the Development of Large Software Systems. That model was explicitly described as bad. I don't fully agree with that paper, but his suggested improvements are more iterative. Personally it seems like now Waterfall is mostly used as a strawman.
> but not usually for software where you learn more from users about what should be done and tweaked as you go along
I agree with that. I wonder if Agile is highly influenced by it's leaders being closely involved with consulting.
Also, if they team does not deliver, at the end of the day it's their manager who gets the blame, not them - so why should they care? Basically, smart devs are repaying the psychopathy of the typical company owners with a 100% selfish behavior of their own. That's the what I've seen in the wild, not the positive scenario you're describing. Perhaps it's "late stage capitalism" in the flesh.
But it's indeed first and foremost the managers failing not recognizing these attributes in their team members, and not working to fix their attitude (which clearly is the underlying problem here). Imposing more process will not fix the team not caring about the product / business.
If you are not up to changing jobs, I'd suggest you try openly bringing up your concerns in a retro. Unless, you actually don't care about the product yourself either?
Psychopaty is perhaps too strong a word - they're just taking care of their interests. Perhaps in the olden times they were aligned with the interest of the employer, but currently they're clearly not (my employer has just announced that they'll lay off a couple hundred of IT people are replace them with an Indian outsourcing company, purely to cut costs...).
I don't care about the project either, but as a tech lead, I'm actually paid very well by the company to take care of its interests - incl. killing off any wild ideas that the devs might have. This (staying on old and boring tech that works well, but is not what will help me get the next well-paid job) will hurt my career in the long run, but my plan is to actually go FIRE within the current job, so it's not a problem. Most people don't have such plans though and hence they don't benefit from toiling for an ok wage with boring tech that gets the job done.
The underlying systemic problem is of course the fact that the whole industry (at least here in Europe) is crazy about following the latest tech trends for trends sake, and thus running along on the tech treadmill is the best way to get highest compensation. In the US I believe it's different, because there joining a FAANG gets you the most money, and they mostly use custom tech anyway, so they don't care about the latest open source hits (of course, you have to leetcode instead, so it comes with its own set of problems).
Not one large-sized Nordic bank by any chance? ;)
The flipside of using latest tech is you should have easier time hiring new people to replace the ones who left. But I am certainly not denying that hiring devs who are willing to commit to the business is a really hard problem. Companies should maybe focus this more in their hiring practices over just the technical skill profile. Good developers will learn the tech stack in the job, if they care.
Also, people retention / satisfaction is pivotal in keeping the commited people on board. Doing massive outsourcings to India is certainly not a good signal to send to those who feel their skills and commitment could be appreciated elsewhere as well.
I will say no more ;)
> The flipside of using latest tech is you should have easier time hiring new people to replace the ones who left.
I've heard this argument before and it's basically a non sequitur for me. For example, there are fewer people who know the latest and greatest Scala libraries than those who know for example Java 8. The people who have learned Java 8 have not died or retired yet - they are still in industry, in large numbers, and hence it's easier and cheaper to hire them. Whereas you have to fight for the bleeding edge guys - usually by offering them high-paying contracts (which are the reason half of these guys are following the bleeding edge trends in the first place...).
Good luck, if you're a engineer trying to make things work without too much ceremony. everything is about chasing the latest and the greatest, whether it makes sense for the problem at hand or not.
No, what I dislike is being told to go work on feature X, when I know that we’re going to run into issues with feature Y in a matter of weeks, and then having to spend nights and weekends fixing it when it eventually does break, because nobody trusted me to know what was good for the product.
Scrum gives people who have no clue what they’re doing the illusion that they do. The process is literally their only handhold to avoid feeling swept away. Like, I’m doing nothing else right, but at least we are following _the process_.
It can't be both things at the same time. (out of curiosity, you say 100% of the time, how many companies you worked for that did scrum perfectly and had 100% good results?)
I have only worked with a single team that fully followed a scrum methodology, but it was very eye opening and successful.
How many of your bad experiences with scrum bent more than a couple of these rules? How many were always followed? : https://en.wikipedia.org/wiki/Scrum_%28software_development%...
Some big things I've learned are:
* Sprint planning has to be mutual. Management cannot plan a sprint on their own, they do not have enough information to accurately plan for order or operations or effort required. Furthermore, participants need to understand the direction and priorities of the project in order to do their job properly.
* You cannot change a sprint that is in progress. Mitigating switching costs are a huge part of the benefit scrum provides. Compromising on this defeats the point of the process. It's hard to tell management "no", but you have to do it. If fire-drills are unavoidable, then you must to account for this time when you plan a sprint.
* All stakeholders must attend backlog groomings and sprint reviews. If the inputs to the process are guesses, then the outputs will be guesses. This is just as important when prioritizing work items as it is when giving feedback on completed items. It must be first-hand. Documentation and/or status updates simply do not even come even 10% close to the power that a live demo does.
To me that approach goes against the original principles for agile, especially "Individuals and Interactions over Processes and Tools". I'm not a huge fan of highly structured Agile and scrum processes. But I think the best agile implementations come when teams have ownership over their own agile processes.
And if the team truly has ownership they are responsible for their success or failure. Sure, their process may be objectively bad, but that doesn't mean a better process should be imposed from outside of the team. The team should have some level of trust to fix it.
I also disagree with your three points being hard requirements. They may be really good suggestions for teams doing scrum, especially in lower trust environments. All three are specifically for scrum, for instance they lose meaning if you aren't doing sprints. But that's just arguing semantics. Fixing compromised scrum isn't strictly necessary if the team can be successful by dropping scrum.
If, for instance, you’re not doing time-bounded sprints, you are objectively not doing scrum. Scrum has an implementation guide that outlines this.
https://scrumguides.org/scrum-guide.html
> While implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety and functions well as a container for other techniques, methodologies, and practices.
Many people borrow ideas from scrum for use in their homegrown agile solution, and that’s ok. But it’s not scrum.
Ownership and vision are kind of the point of midlevel and senior roles. If you'd fall off the track in a matter of weeks, something is seriously wrong.
What do you call it if everyone is doing it wrong?
You can't design, review and test new product designs in a word document. You need to be able to iterate, learn, adopt. PDCA: Plan, Do, Check, Act.
Scrum is just a framework that implements this. Main benefit for the business is that you don't have long periods where you can't change where you're going. And if you change your mind, you don't want to have to throw away a lot of useless investment. So you only plan short sprints, you deliver quickly, generate ROI, and improve your plan where you're heading.
Just a way to manage uncertainty.
Scrum and all agile processes are owned by the development team (including the PO). If they're imposing a cost and not bringing value to the developers, you're supposed to change them.
And then, based on the comments seeing here, you are doing it wrong because
>if your experience of standups, plannings, retros etc is bad it is by definition because they were doing bullshit scrum and not adapting.
Agile is at is core just some suggestions for teams to work well together. There are no stand ups or sprints or whatever.
Scrum was created by one of the creators of the agile manifesto as a way to see consulting/training around the 'Agile' idea (timeframes may differ a bit, but they were linked). There is an interview/article by one of the creators of the agile manifesto (Kent Beck maybe?, will try to dig it up and edit the answer if I find -> was Robert C. Martin, see below) where he explains a bit the story and compares it to Agile (and basically says scrum has nothing to do with the original agile manifesto)
On a personal level, I hate scrum. The stand ups, the sprints, the retros or grooming or whatever they have nowadays. It is literally one of the first questions I ask in an interview about their processes and excuse myself from the process if I see if they follow it. It may work for others, but for me personally, I hate it with a fervour.
Though I agree with the Agile manifesto though, unfortunately it isn't very 'manager' friendly so you usually get scrum instead.
Edit: link to a reference to the article, can't find the original but found this: https://www.aaron-gray.com/a-criticism-of-scrum/#scrum-strai...