Since Agile became a buzzword (and before that "Extreme Programming!!1!") about 14 years ago, I've never seen it work right. I've never seen either of these have a net addition to the performance of the team. 2 developers pair programming don't get new features done twice as fast. (though it's great for fixing a bug or transferring knowledge for a particular piece of code.)
Daily standups have never been beneficial. I see people here talking about managers not talking during standup. I've never seen that once in the past 10 years that "SCRUM" has been the buzzword. NOT ONCE. I've never seen standups that were only 15 miutes. After being forced to stand for 20-40 minutes each day listening to an air headed project manager drone on during the Standups at Amazon, I vowed I'd had enough. I got tired of having my time wasted and made a rule that if I can't sit down during a meeting, I'm not attending. If you think I'm rambling in the meeting, then you can make me stand up, but I'm never the problem (always the "product manager" or "biz guy" is the problem. Talking seems to be what they think is the purpose of their job.)
It's gotten to the point where I associate the word "scrum" in job postings as a red flag.
Teams should work asynchronously, all the time. Git lets us code async. Slack and Hipchat let us chat async. Whenever we need to coordinate, we just talk. (which is why you need offices so your talking doesn't bother other people.) Otherwise, everything should be async.
A standup is a big old pointless nose-counting exercise. It feels like it comes from the 1950s.
And if you're having a daily standup at 10am, then that means I can't start work at noon, can I? So, where is this "flex hours" that everyone thought was such a good perk 10 years ago?
The worst standup I've seen was lead by a fitness fanatic tech lead / manager. He used his superior endurance to 'win' technical arguments by just talking until people gave up because they wanted to sit down. These were typically hour meetings, but could extend to three. I'd give them 15 minutes then start sitting on the table.
In my industry, the big problem is people trying to use agile to deliver fixed cost, fixed feature, fixed time projects. They'll often be doing this as part of a large organisation also working to those targets. If you want to deliver a project like that, you need to control change to requirements, and push the costs from change either into a cost bucket you can track, or back onto the customer. Because Agile encourages flexibility, other teams teams working on waterfall push changes towards the Agile team. If the interface between them needs unforeseen changes, or some extra business logic turns out to need to go somewhere guess who's implementing it. The axe falls on the project manager at the end.
I don't think scrum is right if - you don't have direct contact with users (i.e. a feedback loop), you don't have the capacity to change your product and drop features as you go.
It's worth agreeing, in that kind of organisation, the scrum will be happening at 10am, like you say.
God damn it, everything you write on here is so valuable and good. You are making the rest of us look bad. Stop it! ;)
I've heard it explained that the scrum thing was a way to start the journey. If you are in developer chaos, or utterly bogged down in useless process (some processes are good), then this will get you on the road. But we have better tools these days. Use them. Remember what your goals are. Scrum is not the goal. Delivering/testing the product or feature is (for example). If scrum is a strategy that gets you there in a better way, great. If you have a better way, use that instead.
Two week sprints are probably better than 3 year development cycles for most things (airplanes and nuclear reactors require a lot of planning, sorry). But it is artificial. Any complex project will have many different components, and all of them are going to have a different, natural cadence. This core infrastructure requires careful planning and build out. That UI element needs to be slapped together for an A/B test. This "like" fits great into the next 2 weeks. This device driver has to be syncronized with the prototype hardware delivery being made by your partner. And so on. Almost none of that fits into a 'finished product every two weeks, never stop or change once you start".
If scrum works for you, great, but please don't cargo cult it, or think it is the end instead of the beginning.
Useless but fun anecdote: I was reading some glassdoor reviews yesterday if a nearby compay. It was being excoriated by every employee review. The CEO responds with 'we are Agile now, so come work for us. All the whiners quit" (quote marks imply paraphrase, not direct quote) .Ya. No thanks.
That hasn't been my experience. I've never been in a standup meeting lasting more than 20m, and almost always < 10m.
I've been a PM, TA and developer - I would be fairly ruthless with timing.
Agile might make it easier for incompetent people to screw things up, I suppose. And therefore it might be best to avoid in teams where the problem is deeper than the team organization.
I've been xp/scrum (what a god-awful word btw) since 02. I've seen it work extremely well many times, with very large teams, and small (process weight shrinks w/team size).
Agile isn't a set of processes, it's a set of principals.
I completely agree that it's become a terrible cargo cult in many shops, easily as heavy as RUP.
Daily standups have never been beneficial. I see people here talking about managers not talking during standup. I've never seen that once in the past 10 years that "SCRUM" has been the buzzword. NOT ONCE. I've never seen standups that were only 15 miutes. After being forced to stand for 20-40 minutes each day listening to an air headed project manager drone on during the Standups at Amazon, I vowed I'd had enough. I got tired of having my time wasted and made a rule that if I can't sit down during a meeting, I'm not attending. If you think I'm rambling in the meeting, then you can make me stand up, but I'm never the problem (always the "product manager" or "biz guy" is the problem. Talking seems to be what they think is the purpose of their job.)
It's gotten to the point where I associate the word "scrum" in job postings as a red flag.
Teams should work asynchronously, all the time. Git lets us code async. Slack and Hipchat let us chat async. Whenever we need to coordinate, we just talk. (which is why you need offices so your talking doesn't bother other people.) Otherwise, everything should be async.
A standup is a big old pointless nose-counting exercise. It feels like it comes from the 1950s.
And if you're having a daily standup at 10am, then that means I can't start work at noon, can I? So, where is this "flex hours" that everyone thought was such a good perk 10 years ago?