A revealing metaphor.
Mar. 13th, 2013 11:21 amSo there's some speed at which you can run for a long time. You can run faster than that for a short period, but you can't keep it up; it's not sustainable. Running faster than that is called a "sprint". Sprinting doesn't refer to a particular way of running, or a particular speed; what it means is exactly keeping a pace that is not sustainable for the long term.
So suppose a marathon coach and said
"The secret of running a marathon fast is realizing that sprinting is faster than running. So for the first 100 yards of the marathon, you should sprint. Then for the next 100 yards, you should sprint again. And then another sprint, and another, until you've run the whole marathon fast".
I would conclude they have no idea what they are talking about, and I would discount not only their advice on sprinting, but all their advice on how to go about running a marathon.
So suppose a marathon coach and said
"The secret of running a marathon fast is realizing that sprinting is faster than running. So for the first 100 yards of the marathon, you should sprint. Then for the next 100 yards, you should sprint again. And then another sprint, and another, until you've run the whole marathon fast".
I would conclude they have no idea what they are talking about, and I would discount not only their advice on sprinting, but all their advice on how to go about running a marathon.
no subject
Date: 2013-03-13 05:11 pm (UTC)no subject
Date: 2013-03-13 05:41 pm (UTC)no subject
Date: 2013-03-14 02:21 pm (UTC)I'm working at a place that's "trying to be agile", but they have a command and control mentality which pretty much makes that impossible. In our scheme, agile is probably costing us a lot of productivity. But that's because we have stand-ups with one engineer, one team lead and five "chickens" who spent most of the time talking.
It is what you make of it. Just as you can write bad code in any language, you can be a bad manager in any management structure.
no subject
Date: 2013-03-14 03:22 pm (UTC)I've been a professional software engineer for 25 years. I've thought pretty hard about it, and I can't remember a time when I've either learned something useful, or communicated something useful, in a "go around the room and everyone say what they're working on" meeting. Any methodology that mandates mandatory meetings of this sort is a bad one for me.
no subject
Date: 2013-03-14 04:07 pm (UTC)More or less.
From the agile manifesto: http://www.agilemanifesto.org/principles.html
"At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly."
In practice, that means that agile methodologies are a starting point, not a destination. If such and such isn't working for you, then do what works for you. You might argue that Agile isn't the optimal path to the best way to work. I couldn't argue with that.
"I can't remember a time when I've either learned something useful, or communicated something useful, in a "go around the room and everyone say what they're working on" meeting. Any methodology that mandates mandatory meetings of this sort is a bad one for me."
Assuming you're talking about stand-ups, these things are supposed to be very short (under 15 mins), and done only with team members who doing the work. Here team has a very specific meaning in that anyone on the team should be able to the work of anyone else on the team. But if daily stand-ups aren't working for the team, that's ok. Agile methodology allows and encourages you to discard what doesn't work. If you're not allowed to discard what isn't working, then you're not actually working on an Agile project.
no subject
Date: 2013-03-16 08:25 am (UTC)I am not claiming Agile is or isn't the greatest thing since sliced bread; I'm currently in my first significant experience with it :-) There are things I like about it.
I've thought pretty hard about it, and I can't remember a time when I've either learned something useful, or communicated something useful, in a "go around the room and everyone say what they're working on" meeting.
This surprises me. Sure, these can become tedious, especially if there is too much wandering off and/or not properly scoping things and drilling down into implementation details etc. that really don't belong in a standup meeting. The whole point of standup is it's a short recap of what you've been working on.
Is it directly relevant to you to know what everyone's up to? Of course not. Is it often useful? It can be. Depends on the rest of your group dynamic. We do pair programming and switch up every few days. It's useful to be at least vaguely in the loop on what the rest of the team is doing because (a) you might end up working on it soonish and/or (b) even if you aren't you might have a good idea about something they're stuck on, etc.
I do think there is a maximum group size above which the time/benefit ratio isn't worth it. Of course, above that point you really should probably be splitting up into multiple teams each holding their own standup etc.and inter-group sharing on a less frequent basis and maybe only involving the leads or managers etc.
no subject
Date: 2013-03-16 01:57 am (UTC)I agree with you that like any methodology, Agile is probably what you make of it, and that some organizations handle it better than others. But I've yet to work on a project that gave visual design the time it needs to work from the top-down rather than piece by piece.
no subject
Date: 2013-03-14 02:33 pm (UTC)See also: "Your love is like bad medicine."
no subject
Date: 2013-03-14 03:13 pm (UTC)I'm not a rugby player, but from what I've seen, "when everyone puts their heads down, most lose sight of the ball completely, everyone pushes in opposite directions, and mostly they just cancel each other out and no forward progress occurs" is a reasonable description of a scrum.
And metaphors do matter. If I was interviewing somewhere, and was told "we don't call them a manager's 'direct reports'; we call them his 'slaves'", I would think twice about working there. "Sprint" rings the same sort of warning bells (though not as strongly).
no subject
Date: 2013-03-14 04:13 pm (UTC)Fun fact: Angry Birds is *exactly* a metaphor for scrum. The bad news; we're the pigs.
http://robsnetblog.blogspot.com/2011/12/scrum-is-like-angry-birds.html
no subject
Date: 2013-03-14 04:30 pm (UTC)http://www.infoq.com/news/2008/11/sprint-misnomer
no subject
Date: 2013-03-14 05:39 pm (UTC)I'm still confused about the word "sprint" though. I don't think the idea is to work at a unmaintainable pace, but to work without interruptions and changing requirements. Maybe the idea is that while you're "on the track" you can't be interfered with, but that you should periodically end the sprint and regroup off-track rather than just stay on the track for a whole marathon.
For what it's worth, Scrum is a specific instance of an Agile methodology; the Agile Manifesto doesn't have any of these hardcoded procedures (or metaphors), and in fact explicitly makes adherence to process secondary to people and communication. Which doesn't take away from your criticism, just pointing out that what you're criticizing is Scrum rather than Agile.
no subject
Date: 2013-03-16 08:31 am (UTC)So does this seriously just reduce to, you dismiss/condemn an entire philosophy because its early proponents/promulgators were bad at choosing names?
no subject
Date: 2013-03-18 02:03 pm (UTC)My view of standups is certainly colored by the fact that in my current job, we have a standup with 15 people, and the fact that half of them are in Nepal means that I can't hear what half of them are saying, and that time zones force us to have the meeting at a really inconvenient time.
Because Agile is the current buzzword, everyone wants to claim to be Agile. So my perception is that there is as much difference between management styles within groups claiming to use an Agile methodology as there is between groups that do and don't pay lip service to Agile.
It seems to me that people today take (whatever their misconception of) Agile is as gospel, and say "Agile is the Right Thing; is this thing we might do Agile?" rather than just asking "Is this the Right Thing to do for this group to accomplish its goals"?
no subject
Date: 2013-03-19 03:01 am (UTC)I don't see what I say above that can be construed as dismissing or condemning an entire philosophy.
"I would discount not only their advice on sprinting, but all their advice on how to go about running a marathon."
"I would think twice about working there. "Sprint" rings the same sort of warning bells (though not as strongly)."
Now, my "dismiss/condemn" is an overbid, but it does seem like you are overly hung up on the terminology.
I'm not saying the terms don't matter, I'm saying they don't matter that much.
You explicitly did NOT say: "I don't like the chickens/pigs metaphor; I would think twice about working at a place that disrespects its human employees by calling them barnyard animals."
but my reaction to your post was vaguely as if you had. Feel free to say this says more about me than about what you actually said if you want :-)
no subject
Date: 2013-03-19 06:54 pm (UTC)I'm probably also influenced in the strength of my reaction by having worked at multiple places where management felt, consciously or unconsciously, that cultivating an attitude of perpetual crisis would increase developer productivity.
no subject
Date: 2013-03-19 03:06 am (UTC)Well, to me, that's an example of doing it wrong. As mentioned above I think it scales only up to a certain group size, and 15 is definitely too many, and mixed remote standups are problematic (we have one full time remote employee, although he's not in the group I directly work with; they do their standups in a conference room via video conference. I don't know how well it works but no one seems to complain.)
We have offshore teams in both Beijing and Bangalore. Mostly we communicate with them via email, but they have weekly sync-ups that consist of 1-2 people in the US and (usually) the entire offshore team (6-8 people) to discuss stuff they'll handle in the upcoming week, things they're blocked on and/or need help with, etc. This seems to work pretty well for us. I would never try to do it on a daily basis.
Because Agile is the current buzzword, everyone wants to claim to be Agile
Strongly agree.
So my perception is that there is as much difference between management styles within groups claiming to use an Agile methodology as there is between groups that do and don't pay lip service to Agile.
Quite possibly. My only real experience with it is my current job so I can't undertake any comparative analysis. (We tried to implement it at my last job but did a poor job of it.)
It certainly isn't a one-size-fits-all thing, so I don't mean to suggest it is a good thing for all projects in all organizations.
no subject
Date: 2013-03-16 08:18 am (UTC)Yes. If someone they told me they thought "sprint" was meant to be taken nearly literally to mean program as fast as you can at a speed etc. that is not long-term sustainable I'd think they were an idiot.