Wednesday, September 27, 2006

Good Agile, Bad Agile



  Scrums are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most dangerous phase in rugby, since a collapse or improper engage can lead to a front row player damaging or even breaking his neck.
Wikipedia


When I was growing up, cholesterol used to be bad for you. It was easy to remember. Fat, bad. Cholesterol bad. Salt, bad. Everything, bad. Nowadays, though, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y differentiate between "good" cholesterol and "bad" cholesterol, as if we're supposed to be able to distinguish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m somehow. And it was weird when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y switched it up on us, because it was as if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FDA had suddenly issued a press release announcing that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are, in fact, two kinds of rat poison: Good Rat Poison and Bad Rat Poison, and you should eat a lot of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Good kind, and none of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bad kind, and definitely not mix cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m up or anything.

Up until maybe a year ago, I had a pretty one-dimensional view of so-called "Agile" programming, namely that it's an idiotic fad-diet of a marketing scam making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rounds as yet anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r technological virus implanting itself in naive programmers who've never read "No Silver Bullet", cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kinds of programmers who buy extended warranties and self-help books and believe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir bosses genuinely care about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as people, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kinds of programmers who attend conferences to make friends and who don't know how to avoid eye contact with leaflet-waving fanatics in airports and who believe writing shit on index cards will suddenly make software development easier.

You know. Chumps. That's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word I'm looking for. My bad-cholesterol view was that Agile Methodologies are for chumps.

But I've had a lot of opportunity to observe various flavors of Agile-ism in action lately, and I now think I was only about 90% right. It turns out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a good kind of Agile, although it's taken me a long time to be able to see it clearly amidst all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hype and kowtowing and moaning feverishly about scrums and whatnot. I have a pretty clear picture of it now.

And you can attend my seminar on it for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 low, low price of $499.95! Hahaha, chump!

No, just kidding. You'll only find seminars about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bad kind of Agile. And if in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future you ever find me touring around as an Agile Consultant, charging audiences to hear my deep wisdom and insight about Agile Development, you have my permission to cut my balls off. If I say I was just kidding, say I told you I'd say that. If I cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n say I'm Tyler Durden and I order you not to cut my balls off, say I definitely said I was going to say that, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you cut 'em right off.

I'll just go right ahead and tell you about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Good Kind, free of charge.

It's kinda hard to talk about Good Agile and Bad Agile in isolation, so I might talk about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. But I'll be sure to label cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Good kind with a happy rat, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bad kind with a sad dead rat, so you'll always know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference.

The Bad Kind


Back in Ye Olden Dayes, most companies approached software development as follows:

- hire a bunch of engineers, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n hire more.
- dream up a project.
- set a date for when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want it launched.
- put some engineers on it.
- whip cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r dead or it's launched. or both.
- throw a cheap-ass pacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tic little party, maybe. This step is optional.
- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n start over.

Thank goodness that doesn't happen at your company, eh now? Whew!

Interestingly, this is also exactly how non-technical companies (like, say, Chrysler) handled software development. Except cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y didn't hire cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 engineers. Instead, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y contracted with software consultants, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'd hand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants 2-year project specs, and demanded cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants finish everything on time plus all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crap cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer threw in and/or changed after signing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contract. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it'd all fall apart and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contractors wouldn't get paid, and everyone was really miffed.

So some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants began to think: "Hey, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se companies insist on acting like infants, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n we should treat cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m like infants!" And so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y did. When a company said "we want features A through Z", cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants would get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se big index cards and write "A" on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first one, "B" on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 second one, etc., along with time estimates, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n post cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir wall. Then when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer wanted to add something, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultant could point at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wall and say: "OK, boy. Which one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se cards do you want to replace, BOY?"

Is it any wonder Chrysler canceled cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project?

So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants, now having lost cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir primary customer, were at a bar one day, and one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m (named L. Ron Hubbard) said: "This nickel-a-line-of-code gig is lame. You know where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real money is at? You start your own religion." And that's how both Extreme Programming and Scientology were born.

Well, people pretty quickly demonstrated that XP was a load of crap. Take Pair Programming, for instance. It's one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more spectacular failures of XP. None of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agileytes likes to talk about it much, but let's face it: nobody does it. The rationale was something like: "well if ONE programmer sitting at a terminal is good, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n TEN must be better, because MORE is ALWAYS better! But most terminals can only comfortably fit TWO programmers, so we'll call it PAIR programming!"

You have to cut cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m a little slack; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'd been dealing with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate equivalent of pre-schoolers for years, and that really messes with a person.

But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 thing is, viruses are really hard to kill, especially cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meme kind. After everyone had gotten all worked up about this whole Agile thing (and sure, everyone wants to be more productive), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was a lot of face to be lost by admitting failure. So some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r kinds of Agile "Methodologies" sprang up, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y all claimed that even though all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r ones were busted, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir method worked!

I mean, go look at some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir sites. Tell me that's not an infomercial. C'mon, just try. It's embarrassing even to look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 thing.

Yeah. Well, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y make money hand over fist, because of P.T. Barnum's Law, just like Scientology does. Can't really fault 'em. Some people are just dying to be parted with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir cash. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir dignity.

The rest of us have all known that Agile Methodologies are stupid, by application of any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following well-known laws of marketing:

- anything that calls itself a "Methodology" is stupid, on general principle.
- anything that requires "evangelists" and offers seminars, exists soley for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 purpose of making money.
- anything that never mentions any competition or alternatives is dubiously self-serving.
- anything that does diagrams with hand-wavy math is stupid, on general principle.

And by "stupid", I mean it's "incredibly brilliant marketing targeted at stupid people."

In any case, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants kept going with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir road shows and glossy pamphlets. Initially, I'm sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y went after corporations; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were looking to sign flexible contracts that allowed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to deliver "whatever" in "2 weeks" on a recurring basis until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client went bankrupt. But I'm equally sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y couldn't find many clients dumb enough to sign such a contract.

That's when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants decided to take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir road show to YOU. Why not take it inside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 companies and sell it cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developers? There are plenty of companies who use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whip-cycle of development I outlined above, so presumably some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 middle managers and tech leads would be amenable to hearing about how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's this low-cost way out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir hellish existence.

And that, friends, was exactly, precisely cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point at which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y went from "harmless buffoons" to "potentially dangerous", because before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were just bilking fat companies too stupid to develop cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own software, but now cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 manager down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hall from me might get infected. And most places don't have a very good quarantine mechanism for this racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r awkward situation: i.e., an ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise smart manager has become "ill", and is waving XP books and index cards and spouting stuff about how much more productive his team is on account of all this newfound extra bureaucracy.

How do we know it's not more productive? Well, it's a slippery problem. Observe that it must be a slippery problem, or it all would have been debunked fair and square by now. But it's exceptionally difficult to measure software developer productivity, for all sorts of famous reasons. And it's even harder to perform anything resembling a valid scientific experiment in software development. You can't have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same team do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same project twice; a bunch of stuff changes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 second time around. You can't have 2 teams do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same project; it's too hard to control all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 variables, and it's prohibitively expensive to try it in any case. The same team doing 2 different projects in a row isn't an experiment eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r.

About cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best you can do is gacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r statistical data across a lot of teams doing a lot of projects, and try to identify similarities, and perform some regressions, and hope you find some meaningful correlations. But where does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data come from? Companies aren't going to give you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir internal data, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y even keep that kind of thing around. Most don't; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y cover up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir schedule failures and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y move on, ever optimistic.

Well if you can't do experiments and you can't do proofs, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re isn't much science going on. That's why it's a slippery problem. It's why fad diets are still enormously popular. People want fad diets to work, oh boy you bet cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do, even I want cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to work. And you can point to all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se statistically meaningless anecdotes about how Joe lost 35 pounds on this one diet, and all those people who desperately want to be thinner will think "hey, it can't hurt. I'll give it a try."

That is exactly what I hear people say, every time a team talks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves into trying an Agile Methodology. It's not a coincidence.

But writing about Bad Agile alone is almost guaranteed to be ineffective. I mean, you can write about how lame Scientology is, or how lame fad diets are, but it's not clear that you're changing anyone's mind. Quitting a viral meme is harder than quitting smoking. I've done both. In order to have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right impact, you have to offer an alternative, and I didn't have one before, not one that I could articulate clearly.

One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 (many) problems with Bad Agile is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y condescendingly lump all non-Agile development practices togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r into two buckets: Waterfall and Cowboy. Waterfall is known to be bad; I hope we can just take that as an axiom today. But what about so-called Cowboy programming, which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agileers define as "each member of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team does what he or she thinks is best"?

Is it true that this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r development process? And is Cowboy Programming actually bad? They say it as if it's obviously bad, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're not super clear on how or why, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than to assert that it's, you know, "chaos".

Well, as I mentioned, over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past year I've had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opportunity to watch both Bad Agile and Good Agile in motion, and I've asked cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 teams and tech leads (using both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Bad and Good forms) lots of questions: how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're doing, how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're feeling, how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir process is working. I was really curious, in part because I'd consented to try Agile last Christmas ("hey, it can't hurt"), and wound up arguing with a teammate over exactly what metadata is allowed on index cards before giving up in disgust. Also in part because I had some friends on a team who were getting kind of exhausted from what appeared to be a Death March, and that kind of thing doesn't seem to happen very often at Google.

So I dug in, and for a year, I watched and learned.

The Good Kind


(cue happy rat)

I'm going to talk a little about Google's software development process. It's not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole picture, of course, but it should suffice for today. I've been cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re for almost a year and a half now, and it took a while, but I think I get it now. Mostly. I'm still learning. But I'll share what I've got so far.

From a high level, Google's process probably does look like chaos to someone from a more traditional software development company. As a newcomer, some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 things that leap out at you include:

- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are managers, sort of, but most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m code at least half-time, making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m more like tech leads.

- developers can switch teams and/or projects any time cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, no questions asked; just say cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 movers will show up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day to put you in your new office with your new team.

- Google has a philosophy of not ever telling developers what to work on, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y take it pretty seriously.

- developers are strongly encouraged to spend 20% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir time (and I mean cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir M-F, 8-5 time, not weekends or personal time) working on whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, as long as it's not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir main project.

- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir 1:1 with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir lead.

- it's quiet. Engineers are quietly focused on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work, as individuals or sometimes in little groups or 2 to 5.

- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re aren't Gantt charts or date-task-owner spreadsheets or any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r visible project-management artifacts in evidence, not that I've ever seen.

- even during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 relatively rare crunch periods, people still go get lunch and dinner, which are (famously) always free and tasty, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't work insane hours unless cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want to.

These are generalizations, sure. Old-timers will no doubt have a slightly different view, just as my view of Amazon is slightly biased by having been cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re in 1998 when it was a pretty crazy place. But I think most Googlers would agree that my generalizations here are pretty accurate.

How could this ever work?

I get that question a lot. Heck, I asked it myself. What's to stop engineers from leaving all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trouble projects, leaving behind bug-ridden operational nightmares? What keeps engineers working towards cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate goals if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can work on whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want? How do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most important projects get staffed appropriately? How do engineers not get so fat that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y routinely get stuck in stairwells and have to be cut out by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Fire Department?

I'll answer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latter question briefly, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n get to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs. In short: we have this thing called cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Noogler Fifteen, named after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Frosh Fifteen: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 15 pounds that many college freshmen put on when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y arrive in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 land of Stress and Pizza. Google has solved cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem by lubricating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stairwells.

As to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of your questions, I think most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same small number of answers.

First, and arguably most importantly, Google drives behavior through incentives. Engineers working on important projects are, on average, rewarded more than those on less-important projects. You can choose to work on a far-fetched research-y kind of project that may never be practical to anyone, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work will have to be a reward unto itself. If it turns out you were right and everyone else was wrong (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 startup's dream), and your little project turns out to be tremendously impactful, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you'll be rewarded for it. Guaranteed.

The rewards and incentives are too numerous to talk about here, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 financial incentives range from gift certificates and massage coupons up through giant bonuses and stock grants, where I won't define "giant" precisely, but think of Google's scale and let your imagination run a bit wild, and you probably won't miss cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mark by much.

There are ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r incentives. One is that Google a peer-review oriented culture, and earning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 respect of your peers means a lot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. More than it does at ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r places, I think. This is in part because it's just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 culture works; it's something that was put in place early on and has managed to become habitual. It's also true because your peers are so damn smart that earning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir respect is a huge deal. And it's true because your actual performance review is almost entirely based on your peer reviews, so it has an indirect financial impact on you.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r incentive is that every quarter, without fail, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have a long all-hands in which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y show every single project that launched to everyone, and put up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 names and faces of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 teams (always small) who launched each one, and everyone applauds. Gives me a tingle just to think about it. Google takes launching very seriously, and I think that being recognized for launching something cool might be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 strongest incentive across cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company. At least it feels that way to me.

And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are still ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r incentives; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 list goes on and ON and ON; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 perks are over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rewards are over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top, and everything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is so comically over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top that you have no choice, as an outsider, but to assume that everything cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recruiter is telling you is a baldfaced lie, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's no possible way a company could be that generous to all of its employees, all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, I mean even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contractors who clean cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 micro-kitchens, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se totally awesome "Google Micro-Kitchen Staff" shirts and fleeces.

There is nothing like it on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 face of this earth. I could talk for hours, days about how amazing it is to work at Google, and I wouldn't be done. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're not done eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. Every week it seems like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a new perk, a new benefit, a new improvement, a new survey asking us all if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's any possible way in which life at Google could be better.

I might have been mistaken, actually. Having your name and picture up on that big screen at End of Quarter may not be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest incentive. The thing that drives cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right behavior at Google, more than anything else, more than all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r things combined, is gratitude. You can't help but want to do your absolute best for Google; you feel like you owe it to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m for taking such incredibly good care of you.

OK, incentives. You've got cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea. Sort of. I mean, you have a sketch of it. When friends who aren't at Google ask me how it is working at Google — and this applies to all my friends at all ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies equally, not just companies I've worked at — I feel just how you'd feel if you'd just gotten out of prison, and your prison buddies, all of whom were sentenced in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir early teens, are writing to you and asking you what it's like "on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 outside". I mean, what would you tell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m?

I tell 'em it's not too bad at all. Can't complain. Pretty decent, all in all.

Although cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 incentive-based culture is a huge factor in making things work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do, it only addresses how to get engineers to work on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "right" things. It doesn't address how to get those things done efficiently and effectively. So I'll tell you a little about how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y approach projects.

Emergent Properties versus The Whip


The basic idea behind project management is that you drive a project to completion. It's an overt process, a shepherding: by dint of leadership, and organization, and sheer force of will, you cause something to happen that wouldn't ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise have happened on its own.

Project management comes in many flavors, from lightweight to heavyweight, but all flavors share cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 property that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are external forces acting on an organization.

At Google, projects launch because it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 least-energy state for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system.

Before I go on, I'll concede that this is a pretty bold claim, and that it's not entirely true. We do have project managers and product managers and people managers and tech leads and so on. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 amount of energy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need to add to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system is far less than what's typically needed in our industry. It's more of an occasional nudge than a full-fledged continuous push. Once in a while, a team needs a bigger nudge, and senior management needs to come in and do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nudging, just like anywhere else. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's no pushing.

Incidentally, Google is a polite company, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's no yelling, nor wailing and gnashing of teeth, nor escalation and finger-pointing, nor any of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 artifacts produced at companies where senior management yells a lot. Hobbes tells us that organizations reflect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir leaders; we all know that. The folks up top at Google are polite, hence so is everyone else.

Anyway, I claimed that launching projects is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 natural state that Google's internal ecosystem tends towards, and it's because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y pump so much energy into pointing people in that direction. All your needs are taken care of so that you can focus, and as I've described, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are lots of incentives for focusing on things that Google likes.

So launches become an emergent property of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system.

This eliminates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 need for a bunch of standard project management ideas and methods: all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ones concerned with dealing with slackers, calling bluffs on estimates, forcing people to come to consensus on shared design issues, and so on. You don't need "war team meetings," and you don't need status reports. You don't need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m because people are already incented to do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right things and to work togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r well.

The project management techniques that Google does use are more like oil than fuel: things to let cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project keep running smoothly, as opposed to things that force cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project to move forward. There are plenty of meeting rooms, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's plenty of open space for people to go chat. Teams are always situated close togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r in fishbowl-style open seating, so that pair programming happens exactly when it's needed (say 5% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time), and never ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise.

Google generally recognizes that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 middle of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day is prone to interruptions, even at quiet companies, so many engineers are likely to shift cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir hours and come in very early or stay very late in order to find time to truly concentrate on programming. So meetings only happen in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 middle of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day; it's very unusual to see a meeting start before 10am or after 4:30pm. Scheduling meetings outside that band necessarily eats into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time when engineers are actually trying to implement cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 things cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're meeting about, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't do it.

Google isn't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only place where projects are run this way. Two ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r kinds of organizations leap to mind when you think of Google's approach: startup companies, and grad schools. Google can be considered a fusion of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 startup and grad-school mentalities: on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one hand, it's a hurry-up, let's get something out now, do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 simplest thing that could work and we'll grow it later startup-style approach. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, it's relatively relaxed and low-key; we have hard problems to solve that nobody else has ever solved, but it's a marathon not a sprint, and focusing requires deep concentration, not frenzied meetings. And at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 intersection of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two, startups and grad schools are both fertile innovation ground in which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 participants carry a great deal of individual responsibility for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 outcome.

It's all been done before; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only thing that's really surprising is that Google has managed to make it scale.

The scaling is not an accident. Google works really hard on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y realize that having scaled this far is no guarantee it'll continue, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're vigilant. That's a good word for it. They're always on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lookout to make sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way of life and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 overall level of productivity continue (or even improve) as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y grow.

Google is an exceptionally disciplined company, from a software-engineering perspective. They take things like unit testing, design documents and code reviews more seriously than any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r company I've even heard about. They work hard to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir house in order at all times, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are strict rules and guidelines in place that prevent engineers and teams from doing things cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own way. The result: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole code base looks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same, so switching teams and sharing code are both far easier than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are at ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r places.

And engineers need great tools, of course, so Google hires great people to build cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir tools, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y encourage engineers (using incentives) to pitch in on tools work whenever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have an inclination in that direction. The result: Google has great tools, world-class tools, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y just keep getting better.

The list goes on. I could talk for days about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 amazing rigor behind Google's approach to software engineering. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main takeaway is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir scaling (both technological and organizational) is not an accident. And once you're up to speed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google way of doing things, it all proceeds fairly effortlessly — again, on average, and compared to software development at many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies.

The Tyranny of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Calendar


We're almost done. The last thing I want to talk about here is dates. Traditional software development can safely be called Date-Oriented Programming, almost without exception.

Startup companies have a clock set by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir investors and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir budget. Big clients set target dates for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir consultants. Sales people and product managers set target dates based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir evaluation of market conditions. Engineers set dates based on estimates of previous work that seems similar. All estimation is done through rose-colored glasses, and everyone forgets just how painful it was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last time around.

Everyone picks dates out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 air. "This feels like it should take about 3 weeks." "It sure would be nice to have this available for customers by beginning of Q4." "Let's try to have that done by tomorrow."

Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it.

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.

Most people take it for granted that you want to pick a date. Even my favorite book on software project management, "The Mythical Man-Month", assumes that you need schedule estimates.

If you're in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 habit of pre-announcing your software, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 general public usually wants a timeframe, which implies a date. This is, I think, one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reasons Google tends not to pre-announce. They really do understand that you can't rush good cooking, you can't rush babies out, and you can't rush software development.

If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three exceptions I listed above aren't driven by dates, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n what drives cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m? To some extent it's just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 creative urge, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desire to produce things; all good engineers have it. (There are many people in our industry who do this gig "for a living", and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y go home and don't think about it until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day. Open source software exists precisely because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are people who are better than that.)

But let's be careful: it's not just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 creative urge; that's not always directed enough, and it's not always incentive enough. Google is unquestionably driven by time, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sense that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want things done "as fast as possible". They have many fierce, brilliant competitors, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have to slake cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir thirsty investors' need for growth, and each of us has some long-term plans and deliverables we'd like to see come to fruition in our lifetimes.

The difference is that Google isn't foolish enough or presumptuous enough to claim to know how long stuff should take. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only company-wide dates I'm ever aware of are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ends of each quarter, because everyone's scrambling to get on that big launch screen and get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 applause and gifts and bonuses and team trips and all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r good that comes of launching things with big impact at Google.

Everything in between is just a continuum of days, in which everyone works at optimal productivity, which is different for each person. We all have work-life balance choices to make, and Google is a place where any reasonable choice you make can be accommodated, and can be rewarding. Optimal productivity is also a function of training, and Google offers tons of it, including dozens of tech talks every week by internal and external speakers, all of which are archived permanently so you can view cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m whenever you like. Google gives you access to any resources you need in order to get your job done, or to learn how to get your job done. And optimal productivity is partly a function of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 machine and context in which you're operating: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 quality of your code base, your tools, your documentation, your computing platform, your teammates, even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 quality of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time you have during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day, which should be food-filled and largely free of interrupts.

Then all you need is a work queue. That's it. You want hand-wavy math? I've got it in abundance: software development modeled on queuing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory. Not too far off cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mark, though; many folks in our industry have noticed that organizational models are a lot like software models.

With nothing more than a work queue (a priority queue, of course), you immediately attain most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 supposedly magical benefits of Agile Methodologies. And make no mistake, it's better to have it in software than on a bunch of index cards. If you're not convinced, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I will steal your index cards.

With a priority queue, you have a dumping-ground for any and all ideas (and bugs) that people suggest as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project unfolds. No engineer is ever idle, unless cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 queue is empty, which by definition means cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project has launched. Tasks can be suspended and resumed simply by putting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m back in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 queue with appropriate notes or documentation. You always know how much work is left, and if you like, you can make time estimates based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 remaining tasks. You can examine closed work items to infer anything from bug regression rates to (if you like) individual productivity. You can see which tasks are often passed over, which can help you discover root causes of pain in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 organization. A work queue is completely transparent, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is minimal risk of accidental duplication of work.

And so on. The list goes on, and on, and on.

Unfortunately, a work queue doesn't make for a good marketing platform for seminars and conferences. It's not glamorous. It sounds a lot like a pile of work, because that's exactly what it is.

Bad Agile in More Detail


I've outlined, at a very high level, one company's approach to software development that is neicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r an Agile Methodology, nor a Waterfall cycle, nor yet Cowboy Programming. It's "agile" in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lowercase-'a' sense of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word: Google moves fast and reacts fast.

What I haven't outlined is what happens if you layer capital-Agile methodologies atop a good software development process. You might be tempted to think: "well, it can't hurt!" I even had a brief fling with it myself last year.

The short answer is: it hurts. The most painful part is that a tech lead or manager who chooses Agile for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir team is usually blind to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 realities of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation. Bad Agile hurts teams in several ways.

First, Bad Agile focuses on dates in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst possible way: short cycles, quick deliverables, frequent estimates and re-estimates. The cycles can be anywhere from a month (which is probably tolerable) down to a day in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst cases. It's a nicely idealistic view of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world.

In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world, every single participant on a project is, as it turns out, a human being. We have up days and down days. Some days you have so much energy you feel you could code for 18 hours straight. Some days you have a ton of energy, but you just don't feel like focusing on coding. Some days you're just exhausted. Everyone has a biological clock and a a biorhythm that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have very little control over, and it's likely to be phase-shifted from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team clock, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team clock is ticking in days or half-weeks.

Not to mention your personal clock: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 events happening outside your work life that occasionally demand your attention during work hours.

None of that matters in Bad Agile. If you're feeling up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day after a big deliverable, you're not going to code like crazy; you're going to pace yourself because you need to make sure you have reserve energy for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next big sprint. This impedance mismatch drives great engineers to mediocrity.

There's also your extracurricular clock: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 set of things you want to accomplish in addition to your main project: often important cleanups or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r things that will ultimately improve your whole team's productivity. Bad Agile is exceptionally bad at handling this, and usually winds up reserving large blocks of time after big milestones for everyone to catch up on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir side-project time, whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're feeling creative or not. Bad Agile folks keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir eye on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal, which hurts innovation. Sure, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll reserve time for everyone to clean up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own code base, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're not going to be so altruistic as to help anyone else in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company. How can you, when you're effectively operating in a permanent day-for-day slip?

Bad Agile seems for some reason to be embraced by early risers. I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's some mystical relationship between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 personality traits of "wakes up before dawn", "likes static typing but not type inference", "is organized to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point of being anal", "likes team meetings", and "likes Bad Agile". I'm not quite sure what it is, but I see it a lot.

Most engineers are not early risers. I know a team that has to come in for an 8:00am meeting at least once (maybe several times) a week. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y sit like zombies in front of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir email until lunch. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y go home and take a nap. Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y come in at night and work, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're bleary-eyed and look perpetually exhausted. When I talk to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're usually cheery enough, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y usually don't finish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir sentences.

I ask cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m (individually) if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile approach, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y say things like: "well, it seems like it's working, but I feel like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's some sort of conservation of work being violated...", and "I'm not sure; it's what we're trying I guess, but I don't really see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value", and so on. They're all new, all afraid to speak out, and none of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m are even sure if it's Agile that's causing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem, or if that's just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company is.

That, my friends, is not "agile"; it's a just load of hooey. And it's what you get whenever any manager anywhere decides to be a chump.

Good Agile Should Drop cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Name


I would caution you to be skeptical of two kinds of claims:

- "all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good stuff he described is really Agile"
- "all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bad stuff he described is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fault of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team's execution of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process"

You'll hear cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m time and again. I've read many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile books (enough of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to know for sure what I'm dealing with: a virus), and I've read many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r peoples' criticisms of Agile. Agile evades criticism using standard tactics like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two above: embracing anything good, and disclaiming anything bad.

If a process is potentially good, but 90+% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time smart and well-intentioned people screw it up, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it's a bad process. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can only say it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team's fault so many times before it's not really cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team's fault.

I worry now about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term "Agile"; it's officially baggage-laden enough that I think good developers should flee cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term and its connotations altogecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. I've already talked about two forms of "Agile Programming"; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a third (perfectly respectable) flavor that tries to achieve productivity gains (i.e. "Agility") through technology. Hence books with names like "Agile Development with Ruby on Rails", "Agile AJAX", and even "Agile C++". These are perfectly legitimate, in my book, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y overload cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term "Agile" even furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r.

And frankly, most Agile out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is plain old Bad Agile.

So if I were you, I'd take Agile off your resume. I'd quietly close cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SCRUM and XP books and lock cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m away. I'd move my tasks into a bugs database or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r work-queue software, and dump cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 index cards into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recycle bin. I'd work as fast as I can to eliminate Agile from my organization.

And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I'd focus on being agile.

But that's just my take on it, and it's 4:00am. Feel free to draw your own conclusions. Eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way, I don't think I'm going to be an Early Riser tomorrow.

Oh, I almost forgot cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 obvious disclaimer: I do not speak for Google. These opinions are my very own, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll be as surprised as you are when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y see this blog. Hopefully it's more "birthday surprised" than "rhino startled in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wild" surprised. We'll see!

246 Comments:

Blogger Sean Foy said...

Could you describe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 priority function for your work queue?

6:15 AM, September 27, 2006  
Blogger Keith Sader said...

Which values of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile Manifesto do you find foolish?

If you're going to tar and feacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r it(Agile), maybe you should start at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source.

6:28 AM, September 27, 2006  
Blogger dm said...

oh shit. it's a jerry maguire memo!

(sorry... )

very interesting post. I work at a govt agency (not software development) who's general approach to projects is not so far removed from what you describe. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest missing ingredient is financial incentives, but we seem to get buy pretty well on praise and an attentive external audience.

Academia in general is also a bit like what you describe - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no research deadlines (even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conferences and grant application dates come around every year) but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 carrots (mostly tenure, but also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 implicit ranking system engendered by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 publish or perish approach) keep everyone working furiously.

6:30 AM, September 27, 2006  
Blogger keithb said...

Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it.

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.


Yep, and why is that? It's because most of us in our industry are writing sotware for paying customers (who might happen to share an employer with us) who have a "soft real time" idea of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 features we build: ie, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 features is at a maximum at some time t and declines, perhaps rapidly, after that. These three kinds of development are all quite unlike this.

Google's products and services seem mostly to exist for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 purpose of making online advertising through Google more attractive, and that's a continuous process.

My client's projects generally exist to make some business process 1) possible, 2) faster, 3) higher quality before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 competition do that. The business sponsors of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se projects want to know when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 benefit is going to start acruing. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need schedules. Rightly or wrongly, that's what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need. And that's why (in contrast to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 named methods that camed before) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile methods tend to put an emphasis on early delivery of business value, and hence cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 focus on schedule. In XP, though, note that we would racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r reduce scope that slip a delivery.

In a different context, different approaches are requried: how well do you think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google approach would fit (to pull an example from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 air) adapting a trading system to handle new kind of derivative? Or making a new kind of revenue earning service avilable on a mobile network? Beleive me, "it'll be done when it's done" is not an acceptable answer when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sponsor can see many millions of dollars (a chunk of which is headed for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir bonus...or not) being lost if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opposition gets into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market far ahead of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

The most painful part is that a tech lead or manager who chooses Agile for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir team is usually blind to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 realities of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation.

Ah. See, if a manager chooses anything an foists it on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir team, it's going to be a struggle to get it to go well. But when teams choose cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves to work in a certain way, it can really sing.

I don't doubt that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google approach is very enjoyable for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developers, and is a good fit for Google's business model--but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are a lot of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r businesses wokring in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r business models. For many (not all) of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, agile with any size of "A" can be a big step up from what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y've got.

Keith

6:46 AM, September 27, 2006  
Blogger keithb said...

Forgot to mention:

Well, people pretty quickly demonstrated that XP was a load of crap. Take Pair Programming, for instance. It's one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more spectacular failures of XP. None of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agileytes likes to talk about it much, but let's face it: nobody does it.

Really? Since adopting Agile methods myself in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 late 1990's I've worked with five teams on three continents, all of which pair and continue to pair because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y find it beneficial to do so. YMMV, of course, but where's your contrary data?

Keith

7:23 AM, September 27, 2006  
Blogger dm said...

Keithb: I bet you got up before 6am this morning. ;)

you've got a point though. appropriate organizational/management style seems very business model dependent, with google's model being among cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 outliers. but maybe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's an argument for finding new ways to contract with customers (i.e. changing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 business model).

7:36 AM, September 27, 2006  
Blogger Unknown said...

Sounds like you're living cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dream, and i'm green as hell.

But how well do you think that organisation would work at an organisation where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hiring policy is a little less stringent than your own?

Sadly for a majority of us working furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 intellectual bell curve, I just don't think you will see such a proactive approach to a "communal" task list even if developers were left to self organize. We've all worked in places with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own wally, and for this type of person, peer respect just doesn't motivate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. In my experience cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smarter you are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 greater your motivation from intellectual pursuits and peer respect, but as you drop furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r back down that bell curve you see that it just becomes a job, a 9-5 to pay cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bills.

So lucky you, but I'm pretty sure that if you all did waterfall over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re you'd make it work too.

I hope I don't sound too bitter!

8:02 AM, September 27, 2006  
Blogger Klondike said...

You must know about this already, but you got mentioned on RedHanded! I'm proud to say I discovered your awesome blog weeks before _why declared to a stunned readership that you had rendered a brilliant wordsmith speechless.

8:19 AM, September 27, 2006  
Blogger Vicki said...

Actually, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is "good rat poison". It's called Warfarin (aka Coumadin). It's used as a blood thinner (anticoagulant).

8:43 AM, September 27, 2006  
Blogger Isaac Gouy said...

keithb said...
"And that's why (in contrast to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 named methods that camed before) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile methods tend to put an emphasis on early delivery of business value..."


Lest we forget methods that came before: "... we use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concept of selecting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 potential steps with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 highest user-value to development-cost ration for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 earliest implementation. This is really like skimming cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cream off cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 milk. ...
I would like to stress that selection of high value/cost steps is a fundamental distinguishing feature in my own formal conception of evolutionary planning, in contrast to that which I have found elsewhere."
1988 Tom Gilb Principles of Software Engineering Management

9:18 AM, September 27, 2006  
Blogger Unknown said...

Jeebus. I'm really sorry you have such a bad attitude about agile. I'm also really sorry that I started to nod off halfway through your rant. What you are describing at Google is not agile - it's a corporate philosophy. Getting free meals has jack squat to do with your development process.

Of course, I'm sure that arguing with your position will entitle me to some jab about being an early riser - as if that were some kind of fatal character flaw.

Your queue sounds exactly like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product and sprint backlogs in Scrum, which works well.

As far as pair programming, I love it and have had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance to exercise it at more than one company. The rationale behind it had more to do with getting a realtime code review and sharing of knowledge than some ideal of "if 1 is good, 2 is better".

Oh, and you can take my index cards when you pry cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m from my cold, dead hands.

9:29 AM, September 27, 2006  
Blogger Oli said...

Hey Steve, nice post... I totally agree with you on one point: people deliver cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir best when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y get presented with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right level of incentives.

You probably forgot to mention that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Business people (i.e. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people who dream cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 projects and initiate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work queue) also are great achievers. They probably beat a few ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies in this respect as well don't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y? Do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like getting huge bonuses and a dinner at Google CEO's palace (not mentioning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nice check that must hidden in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fortune cookie)? I bet cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do.

Your post shouts "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re should be more companies like Google where people are rewarded for delivering stuff that serves cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Business Model and Business Stragegy, and hey guys, it works even better when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y work for actually HAS a working Business Model", and I can't argue with this! But I strongly disagree when you make it a Celebrity Fight between Good Agile (ie Google) and Bad Agile (People who are trying to work in ways that put people at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 centre of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delivery, but who unfortunately have not achieved cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 level of incentives that Google can support). There are a lot of companies out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re that just cannot afford to behave like Google. There are a lot of companies out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re that have a "cultural debt" as far as Project Management and software delivery are concerned. Their evolution towards a Google style change/evolution mechanism is slow, and chances are, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will never achieve it. However, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do recognise that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can do things better, and for this, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need guidance: Agile is indeed on offer when that constatation is made.

And Agile disciplines are NOT dangerous as you state: I can actually understand your comment regarding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that Agile discipline may not fit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google culture: this is not due to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that Agile is BAD, it stems from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that Agile focusses on Delivering Business Value, whereas cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 model you live in is based on people recognition and personal incentives.

By cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way, does Google ever bin a project? even some effort have been put on it, and possibly a vast amount of investment? Damn, I bet that happens. Does that mean that your Good Agile at Google is Bad cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n... hummm, am confused now.

Once again, great post, good ranting and great recruiting pitch, unfortunately, I think you just don't get it...

9:36 AM, September 27, 2006  
Blogger Unknown said...

Kudos to Google, looks like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Company Culture lets you have a lot of stuff right. You sound like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 guys at Microsoft and Apple did back in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 80's and 90's.

Sadly I suspect most of us poor sods work in organisations where senior management don't let you up and wander over to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r team when you feel like it and expect something to ship about when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 development team said it would.

Given that, and given that development team's clients sometimes change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir minds about priorities, how do you manage cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work queue? Personally I find a kind of bubble sort: "Is this more important than that" (with or without cards) works racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r well.

(igouy, Tom Gilb certainly had many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ideas of Agile before "Agile", Sadly, most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software development community never heard of him)

9:57 AM, September 27, 2006  
Anonymous Anonymous said...

As do many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 readers, I feel thusly:

1) Yes Agile/XP isn't all it's cracked up to be, but it's better than most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alternatives.

2) Google's approach sounds brilliant, but how in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world can it work at [my place]? We've got corporate customers, and corporate culture, and lesser quality coders, etc.

2b) I'm jealous.

10:15 AM, September 27, 2006  
Blogger jcwinnie said...

Sorry, had to exit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 elevator on a less verbose floor. What were you saying? (Although, I did like "Cue cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Happy Rat")

10:26 AM, September 27, 2006  
Blogger Syntek67 said...

Amen...
I cannot agree more... :)

12:15 PM, September 27, 2006  
Blogger Steve Freeman said...

Interesting. Recently I worked on a project that went into production right on time, despite starting months late, that had no bugs, without pulling extra hours, and without shouting at each ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r (too often). In a conventional organisation that does not have a virtuoso tradition of software development. We had index cards, paired on most everything, and estimated and reestimated as our understanding grew.

What a sucker I was.

1:46 PM, September 27, 2006  
Blogger joevandyk said...

A reason why that methodology works so well for Google is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y hire cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 freaking smartest people. A lot of places, for whatever reason, aren't totally comprised of really smart people.

You gotta account for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "dumb person in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next cubicle" syndrome in those places somehow.

I don't think your characterization of Agile programming is accurate though, especially your knock on pair programming. Pair programming can be really effective, if done properly. Knowledge transfer is really efficient.

6:04 PM, September 27, 2006  
Blogger Amanda said...

I've worked on waterfall projects, agile projects, DoD projects (which are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own adventure), and now Google. Steve's rant is spot on, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's more than one way to look at things. Overall, Google generally fits cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 spirit of agile methods, and in fact some groups use XP, or Scrum, or whatever, but it's up to each team, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methodology a team choses to use is definitely secondary to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 results it produces, so nobody cares about buzzword compliance. The corporate philosophy seems to be "we'd racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r underconstrain people than overconstrain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m". Some projects are time critical--and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y use schedules, milestones, etc. (though not, that I have seen, MS Project) as a way to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves on track. Some people do pair programming as a way to be more productive, but that's up to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. That's what's most different from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r large development organizations: process is intentionally not centralized except where absolutely necessary. It's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 polar opposite of, say, CMMI.

And yes, setting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hiring bar very, very high does make a real difference.

6:10 PM, September 27, 2006  
Blogger Geek Vader said...

As I understand it, every single product that Google has launched ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than search is a financial failure. Just like grad school - you have a relaxed, low pressure environment and, just like grad school essentially zero impact to your life if your project isn't a success.

This is not a "knock" on Google - I am a great admirer of Google in general. But your fanboi fawning is blinding you to Google's weaknesses.


You said one thing that struck me: if 90% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 teams screw up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methodology, it's a crappy methodology.

Which is true, and a fair criticism.

Of course, this is also true of virtually every ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r software process. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ones that people can follow? They don't deliver.

So how's this for a quote: Agile Software Development is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst software development methodology ever tried - except for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs

Because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's more to life than low key deliverables and free lunches - most companies need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir projects to financially succeed in order for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to stay in business.

6:20 PM, September 27, 2006  
Blogger Ethan Herdrick said...

Steve - great post. Thank you.

6:31 PM, September 27, 2006  
Blogger Tim Hollingsworth said...

Having all your apps running in-house also helps, since separate teams can work on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same app simply by deploying it in bits and pieces as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y see fit.

Compare to, say, Micrsoft trying to get Vista out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 door. There's no way that will happen without hard schedules.

7:01 PM, September 27, 2006  
Blogger someone else said...

Thanks for sharing. It's always helpful to hear how successful software companies manage cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir projects since it seems to be a hard problem to solve/predict.

My company recently decided to implement SCRUM for developing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next version of our product. The more reading I do, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more I see common characteristics, like collaboration, task tracking and prioritizing, and self-organization. You can even see it in applications like BaseCamp, Joyent, and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r collaborative apps springing up on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web. It sounds like Google focusses on those important characteristics in project management.

For what it's worth, I think that's an excellent way to build software. I'd love to start my own software company so I could just do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same thing. It sounds fun.

7:22 PM, September 27, 2006  
Blogger Unknown said...

Google has a huge advantage over most ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies.

Thanks to its search revenue, it has deep pockets and can afford to be very generous with time and benefits, and it can afford to fail.

It works as long as every now and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n, you hit a big jackpot, but what about companies which need to make every post a winner, or which are building mission-critical or time-critical systems?

7:39 PM, September 27, 2006  
Blogger dm said...

Scrums are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most dangerous phase in rugby, since a collapse or inproper engage can lead to a front row player damaging or even breaking his neck.
— Wikipedia

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r apt definition of scrum:

One guy pushing two guys up three guys assholes.

8:33 PM, September 27, 2006  
Blogger AndrewR said...

Google is actually a venture capital company, it's just that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're funding to be full-time employees.

The plan is like this:

a) Come up with a ton of capital.
b) Fund a bunch of smart people with good ideas.
c) Hope that you make 1500% on 10% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 projects in order to offset cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 90% that fail completely.

8:46 PM, September 27, 2006  
Blogger Timothy Wee said...

It's all about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people.
At Google, I think it is pretty rare to find someone who is not an A-lister and who treats software development as only his job.
That way, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is trust amongst cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team, and between management, business, and developers.
I agree that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 initial culture is important, but it can only be sustained if your people are "right".
Also, developers have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 power at Google.


Compare this to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 normal, everyday IT world of software, and where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 managers and team members don't really have that trust, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is wide variation of skill within a project, and sometimes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 manager does not really understand technology eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r.

A couple of books that describe what a good team mentality should have are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 oft-mentioned
Pragmatic Programmer
and
Practices of an Agile Developer
from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pragmatic programmers.

Don't be fooled by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Agile" in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name. It reads more like an "extension" to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pragmatic programmer than a tome about xp programming.

9:00 PM, September 27, 2006  
Blogger Mark S. Weiss said...

And what about if Google doesn't hit anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r jackpot, say, before it has some bad news and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very generous valuation and one-way ride straight up from IPO, etc. etc. starts to turn a bit? Google is a company that has never known hard times, at all. Thus, it is very young, *totally* unproven at this point. Let's see if it can maintain cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same level of pampering when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 finances aren't quite so rosy.

Relying heavily on advertising is a model that is very likely to fluctuate at some point. And as previous posters have pointed out, Google hasn't successfully found ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r revenue models. And, as previous posters have pointed out, much of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software that Stevey is so proud of is, yes, used by millions, but no, not used by millions of paying customers. It's a loss leader to promote more eyeballs and brand awareness -- to support and increase ad revenue.

So, given all of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above, might it just be possible that what works for Google isn't a universal fit for everyone? And, might it also be possible that it might not actually be how Google does things (can afford to do things) forever eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r?

Google is, obviously, a group of very smart people. But, as this post argues/posits/asserts/protests, if you can take just one tiny step back/out of Google-world, I think you will see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se smart people are not living in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "real" world, by which I mean, *cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir customers live in.* It is a world of "grad students" making cool products that need only be loss leaders. It is a world of very smart people who are all togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r feeling how smart cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are, constantly reinforcing to each ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r how smart cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are -- and thus is precisely blind to whatever such a narrow, particular, specialized culture might not consider important/relevant, might not be interested in, etc. Meanwhile, it's customers are just regular people. And if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google culture is indeed as impressed with itself as you are Stevey, if it indeed fosters cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 idea that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is one way to do things that is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right way for all situations for all times, and it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way Google does it and it's obviously better, which is basically what you are claiming, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n this is a company ripe for a fall.

Humbleness wins over arrogance, every time. When you think you're cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best, you have stopped learning anything about all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 things you already think you're cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best at.

10:34 PM, September 27, 2006  
Blogger Unknown said...

This post proves 2 things:
1- you seem to know what happens in Google
2- you never worked in agile project

It seems to me you are just FUDing all over

10:38 PM, September 27, 2006  
Blogger Ryan Baker said...

Google sounds like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have some good ideas, but most of us aren't choosing between being Google and Agile. We're choosing between being Waterfall and Agile.

I don't even know that it's possible for most of us to copy Google's process eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r.

I actually wrote a whole blog post on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 topic.

10:39 PM, September 27, 2006  
Blogger Alan Keefer said...

As ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people have pointed out, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 priority queue you describe is basically cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same idea as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scrum backlog, which I've found works pretty well. You add in everything you can possibly think of, prioritize it, and fill in more details as things bubble up to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 queue.

I also want to echo a bunch of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r comments around how Google's delivery model makes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 style of development that you describe much more feasible. Companies that have to ship software to customers (eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r internal or external, but especially external contracted ones) usually just don't have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 option to say "you'll get it when it's done." The best you can do is pad cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 guess to relieve date pressure internally, but you have to give cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m some date, and it can't be ten years out.

The agile practices definitely work best under certain circumstances (smaller teams, usually in-house or contract development with a single customer), but that doesn't mean that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practices cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves are necessarily crazy. You always have to experiment to find what works best for your organization and your business, but it's certainly worth knowing about all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 different "agile" practices so that you can make informed decisions about what to try or perhaps how to take existing ideas and change cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to suit your needs. Overall, I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile proponents have certainly done more harm than good in pushing people towards a more sane, iterative development model.

10:46 PM, September 27, 2006  
Blogger Robert Gustavo said...

Google might be striking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right balance on agile methodologies, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're still on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wrong side of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bridge.

Given a choice between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 520 bridge twice a day, and Amazon's death marches broken into a series of death sprints, I'd go for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 death sprints.

What I am curious about, however, is how Google manages to keep engineers on a project productive and still respond quickly to requests from upper management.

Good post. Needs some editing.

11:11 PM, September 27, 2006  
Blogger GCOLO said...

ThoughtWorks does pair programming. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y seem to be highly regarded.

11:19 PM, September 27, 2006  
Blogger Lexi said...

KeithB wakes early,
To make points of "extreme" bias,
My eyes start to bleed

11:57 PM, September 27, 2006  
Blogger Unknown said...

Very interesting article, for one thing you make Google sound like a fantastic place to work.

The process you describe that Google have worked so hard to make scale sounds like massive fun to work under, and perfect for regularly generating interesting new ideas and technologies.

There are some things that Google is bad at, and that seem plausibly to be related to to process you describe. Google does not seem to care about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 users of its services. They care about making fantastic services, but not about supporting people who use those services or transparency. They also don't seem to mind having software in permanent beta. Googles beta is just an excuse for not providing a full service. It's good for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developers, but it's tremendously irritating for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 users who wait 4 years to get a completed service. Google seem to be very good at providing services that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kinds of people who work at Google would want to use, but not so much at stuff that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world want (luckily cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365res a big overlap, but that is a way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process has tied you into a specific part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market). Also, Google are in a very specific position in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market that enables cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to offer fantastic rewards and only hire highly motivated employees. They have a tonne of money, and make money simply from attracting people to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir pages. Few ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies have as much resource, and most ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies have to charge for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir services to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir money. If you charge for a service, it can't be in beta for ever.

12:52 AM, September 28, 2006  
Blogger Ilan Assayag said...

Great post, thanks. Although I admit that to me, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most interesting part is where you describe how it actually is to work at Google.

Ilan

1:02 AM, September 28, 2006  
Blogger Wesley Darlington said...

The idea that (some?) programmers have up days and down days, days when code seems to just fly out of your hands, and days when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code comes out like having teeth pulled (if at all!) ... well, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re isn't a lot of literature on this.

Eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r most programmers aren't like that, or have conquered it, or only some people experience this.

How normal is this periodic motivation for y'all?

1:31 AM, September 28, 2006  
Blogger Mike Woodhouse said...

Sheffield University did a study on agile vs non-agile development, with a number of teams each working in parallel on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same requirements. I offer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link without comment.

Ah, what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hell. Without going into specifics on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 paper, I'm attracted to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile way of doing things, largely through my own collected experience over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last (gulp) 28 years. I don't currently pair, being cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only developer in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 group, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are index cards on my desk, unit test frameworks on my C: drive and numerous methodology books on my shelf.

2:33 AM, September 28, 2006  
Blogger Unknown said...

Well I came here with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best of intentions to learn about what you have to say. I must be honest though once you started making fun of my religion I lost all respect for you. Isn't it funny? By publishing your opinions you obviously want to be respected yet you don't show respect for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs.
It's sad, short sighted, pacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tic and offensive. I'm sure you'll be happy when I say: "I won't be back."
Martin.

3:09 AM, September 28, 2006  
Blogger Unknown said...

Well this also reminds me of how Silicon Graphics were said to operate at one point, where upcoming projects were posted and engineers decided on which to join next so also somewhat self-organising.

Sad fact is this worked really well while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y couldn't do anything wrong but look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m now and see whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y still do this.

4:04 AM, September 28, 2006  
Blogger LeftWingPharisee said...

Great article. But you leave out a without-which-nothing that lets Google do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "good agile" you talk about: unlimited funds. The reason that most sw development is date driven is because most people need to know how long something is going to take and how much it is going to cost. It's not unreasonable, yet that causes poor sw development.

4:06 AM, September 28, 2006  
Blogger keithb said...

For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 benefit of Damien and Lexi: as it happens my alarm clock is set for 7am and I often oversleep that.

And this I can do without any problems currently since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client site I'm most often at is only 30 minutes away from my home by train and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team I'm coaching cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re have (for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own convenience, using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir powers of self-determination) decided to start cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir working day with a standup meeting at 9:30 What a bunch of chumps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y must be, eh?.

Sorry to contradict your predjudices--although I did enjoy cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 haiku :)

4:45 AM, September 28, 2006  
Blogger Unknown said...

Same as all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r good news stories I hear from companies like Google and 37Signals etc.

This is all well and good when you're working for a company with eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r a cash mountain behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, or a set of products producing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 continual revenue stream keeping you afloat...

It's no good to a company trying to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir cash flow up though, when you need to earn x dollars by y date, you need deadlines and milestones so you can invoice cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client.

of course I'm extremely envious of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 position you're in at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 moment - I just need to find a way of getting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re that involves keeping my business afloat, my clients happy and my employees paid.

5:03 AM, September 28, 2006  
Blogger Petr said...

Can't help mentioning here this great article "Life cycle of silver bullet":

5:24 AM, September 28, 2006  
Blogger Unknown said...

Google’s culture is adapted for internally sourced innovation. What makes software hard for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 division between customer and developer. Customer is an insurance agent, developer is a geek. The geek doesn’t know what technology cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 insurance agent needs; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 insurance agent doesn’t know what technology he needs eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r. Project management, traditionally, has existed in part to deal with this. Requirements and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r forms of “agreement” are one way to solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem. Intense iteration of working software is anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way. Yet, this remains one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most difficult problems to solve. My advice, don’t fool yourself into thinking Google is special because of its development culture; that’s hogwash. If Google is special, it’s because it doesn’t have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer/developer separation. Developers get to source cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own requirements, customers simply use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are given without having to manipulate its content. If everyone had that relationship with our customers, we’d all be setup like Google. However, commissioned software (like commissioned art) must be influenced by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 acquirer; and that’s where things get tuff. That’s where some of what you call “bad agile” is actually necessary. Great post though, loved it.

5:36 AM, September 28, 2006  
Blogger Johenius said...

*Sigh*.

First Joel, now Slashdot: you're becoming famous, Stevey :)

6:13 AM, September 28, 2006  
Blogger MyAppleExperience said...

How dows Google know when it needs to hire more people? One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ways I get more folks is to show that we're working appropriately long/hard/smart on problem set A but problem set B, a slightly lower priority, needs to be done too so we should hire people to do B.

6:47 AM, September 28, 2006  
Blogger Unknown said...

This looks like an interesting post. But *please* can you provide a media="print" stylesheet in your blog layout so that I can print it without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right column and wasting twice as many pages as necessary?
I just don't ready stuff as long as this on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 screen.

6:50 AM, September 28, 2006  
Blogger Mike said...

Hey I'm one of those developers that fits this:

"Back in Ye Olden Dayes, most companies approached software development as follows:

- hire a bunch of engineers, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n hire more.
- dream up a project.
- set a date for when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want it launched.
- put some engineers on it.
- whip cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r dead or it's launched. or both.
- throw a cheap-ass pacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tic little party, maybe. This step is optional.
- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n start over."

I happen to look forward to my pizza!!!!!

6:52 AM, September 28, 2006  
Blogger Unknown said...


If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three exceptions I listed above aren't driven by dates, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n what drives cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m? To some extent it's just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 creative urge, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desire to produce things; all good engineers have it. (There are many people in our industry who do this gig "for a living", and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y go home and don't think about it until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day. Open source software exists precisely because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are people who are better than that.)


And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are those of us that do this gig and go home and don't think about it until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day because we're busy raising families and enjoying life with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. I've been doing software development for nearly 20 years and I don't know where this attitude comes from that says unless you code constantly or work on an open source project in your (probably sparse) spare time that you are in some way a "lesser" developer than ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs. Don't get me wrong, I would love to be able to contribute to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OSS movement sometime in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future when my children are older and I have more time. Until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n I have to innovate and be creative in my "normal" work.

6:54 AM, September 28, 2006  
Blogger Unknown said...

My team adopted Agile/Scrum methods 6 to 8 months ago. At first it was tough, but now our "unexpected" issues are down to less than 10 hours of development time for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire team where previously it was above 50. We are making better quality code, faster, and our user's are a lot happier with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir Software Development Unit.
I'll drop agile when i'm dead thank you very much.

6:57 AM, September 28, 2006  
Blogger David Gerard said...

I'm trying to solve similar problems at Wikipedia. I don't know how readable that is to an outsider.

7:08 AM, September 28, 2006  
Blogger Unknown said...

Do you worry about being sued by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Scientologists for simply associating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m with a bad idea? Now, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile folks come after you with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same legal team, you may have a lot of truth to your rant.

7:13 AM, September 28, 2006  
Blogger Bandini said...

Associating wacky religions with software development methodologies and weight loss schemes is brilliant.

7:25 AM, September 28, 2006  
Blogger Octav said...

Is Google currently hiring ppl ? :)

7:31 AM, September 28, 2006  
Blogger Jeff Langr said...

Must be nice to work in a fairy-tale land where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no real deadlines, and where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's seemingly infinite money to hire cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best and brightest, and coddle cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as well.

I'm one of those overpriced agile consultants, or at least I used to be. I now (once again) work in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 trenches, something I have to go back to every couple years so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultant work isn't all outdated or inapplicable BS. And when consulting, my view of "agile" was always pragmatic: what is going to work best for this team?

Unfortunately, as you point out, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many people that (a) are making a pile out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big Scrum MLM scam and (b) overhype agile. Yet that doesn't discount cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that "agile" was intended to eliminate much of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bullsh*t that we had to contend with before (RUP, waterfall). That also includes bullsh*t like letting hotshot developers go off into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own cubes to produce wonderful, unmaintainable crap. Or bullsh*t like we can do a "perfect" design once up front and keep it clean over time without good coverage in unit tests. I had to put up with detestable work conditions throughout cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 90s, where beliefs in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se poor practices were at an all-time peak.

I don't believe in Methodologies, but I do believe that agile (not Agile) thinking and use of certain "agile" techniques, more than any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way of doing things, is a great start for a path to success, as well as a good opportunity to create teams and projects that are enjoyable to work in.

Jeff

7:37 AM, September 28, 2006  
Blogger Unknown said...

I really like your writing style but it's not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most constructive possible. Any process will have good stuff and bad stuff and as embarrassing as all evangelists are it doesn't mean cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re isn't anything useful in Agile. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r hand we could suggest that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top details of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 utopian development at google coupled with a hot topic is more about maintaining an image recruitment than commenting constructively on development process !

7:43 AM, September 28, 2006  
Blogger Unknown said...

In answer to Wesley's question: do (most) programmers really have up days and down days? Well, my reaction was "self-evidently yes", and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 colleagues I asked agreed with me.

I reckon 80% of my last 2 months' worth of programming was probably achieved in 4 days of highly productive "on" time (and we're not talking about cramming work in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last few days before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 deadline).

If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's really no literature on this, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n someone needs to do a research project on it. I think it was one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most perceptive things in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post.

Doesn't all creative work come in bursts? I've seen plenty of interviews with novelists who spend months writing little or nothing; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't consider this time unproductive, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are organising cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir minds, planning, so when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 writing starts, it will work.

7:46 AM, September 28, 2006  
Blogger LuCY said...

Funny in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 beginning, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n too long. I couldn’t finish. Hell, you’re not programming any more, are u? Just writing funny stuff. Cut your balls yourself and let us do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programming... agile or not.

7:52 AM, September 28, 2006  
Blogger Jim said...

Hmmm,

First, let me say that I work for a company that has been practicing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "agile" with a lower a process for over 20 years. We love it, it works well for us. But let me echo some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r comments, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reality is that "goggle agile" works in environments that are like "google" and may not work well in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r climates. Google doesn't have customers in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 traditional sense; clients don't call Google and say "I want a web-based calendar that does this-and-that but never cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r". Google is a take-it-or-leave-it, you're eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with-us-or-against-us, organization. If you want a very "heavy", feature-rich applications (ala Outlook) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you're out of luck when it comes to Google; you can use G-Mail or not use G-Mail, those are your only options. You also need an internal culture that supports and fosters "agile" development. Let me say, Google's approach would not work well (IMO) if you were contracted to build nuclear missiles for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DOD. It will not work if your company has a hierarchical, top-down-philosophy. My opinion is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal is to find cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "right" approach for your particular "environment"; silver bullets don't exist outside a particular set of circumstances.

7:56 AM, September 28, 2006  
Blogger Phil Freo said...

Very interesting article and perspective on Agile and Google. Thanks for sharing.

7:59 AM, September 28, 2006  
Blogger shalpin said...

The article misses one very important point about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 history of Agile Development: before all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hype, it started out as a grass roots movement.

The grunts could see that most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time and effort went into doing crazy shit, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y came up with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ingenious strategy: "let's stop doing all this crazy shit". But in any sufficiently large organization, it's heresy to give up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crazy shit. Crazy shit is not just random crazy shit, but crazy shit with rules, crazy shit with a history, crazy shit that give people that warm fuzzy feeling of something familiar. You know where you stand with crazy shit, even if everyone knows that it is crazy.

What you can do though, is to say: "let's stop doing all this crazy shit and replace it with ...". That gives people a sense that you have a vision, a sense that you have your eye on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big picture, that you'll be taking something away but you won't leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m with a void.

Thus Agile Development crept in. And because people had stopped doing all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 old crazy shit and introduced only a little new crazy shit, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 total level of crazy shit drops dramatically. Hence cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word spread about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile Development silver bullet, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 seminars started.

The rest is history.

If you want to learn more, I'm working on a series of seminars entitle "Applying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Lets Stop Doing Crazy Shit Methodology". There are still seats available.

8:14 AM, September 28, 2006  
Blogger Tim said...

Great post, Steve. I'll be posting my furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r comments on pliantalliance.org when I get a chance. I created pliantalliance.org in an effort to get rid of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word Agile. Not surprisingly, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 progress is slow. It is fun however to watch people get upset when you question cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir methodology.

8:15 AM, September 28, 2006  
Blogger Aaron said...

To challenege a little bit of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 criticism -- I don't think Stevey is suggesting that every company can/should adopt Google's business model. He's simply saying that if you want cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best software, this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way to do it - motivate your people, don't force things out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 door, and (as many, many people have mentioned) hire cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best. And I don't know if I buy 'we're not sitting on a mountain of cash, we can't afford to do this kind of thing', and I DEFINITELY don't buy 'this will only work as long as Google is on top.' Remember, this is HOW Google got on top, and this is what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're doing to STAY on top. This methodology isn't a result of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir success -- it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cause of it.

8:17 AM, September 28, 2006  
Blogger Ravi said...

Who'll pay for "Good Agile" of Google, which has products in "BETA" for ages.

Well maybe someday we'll see some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se products released.

8:24 AM, September 28, 2006  
Blogger Unknown said...

Your critique of agile seems to be based entirely on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more jumped-up and complex approaches.

Strip it down and you're left with two basic principles - short development cycles and talking to your customers more. Combined nicely in showing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m more prototypes to make sure what you're doing is what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y actually want.

I really can't see why you find that such a bad idea. Maybe you just don't like having to talk to customers?

8:27 AM, September 28, 2006  
Blogger Roni said...

Hi,
I just richoceted into here out of somewhere in cyberspace and I am THE Cyberspud...soooo; here is my poor little question:
Is this a rant or a comic discourse or a monologue or...??

I am sending it to all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programmers and techie people whom I know because I am sure(if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have time or are not scared away when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y see how long it is) that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will find it amusing(as have I).

So, speaking as one who is happy and proud to know nothing about how anything anywhere works; I salute you on a job well done.

8:34 AM, September 28, 2006  
Blogger Dave Johnson said...

This is very good. It deserves publishing beyond your blog. That's for sure.

The L. Ron Hubbard analogy is spot on. You've lured cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 zealots out to comment! :)

8:48 AM, September 28, 2006  
Blogger Chouch said...

Hi,

I really like this post.

What I infer from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good agile is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 success of software projects come mostly down to motivation, competence, and a "good" work environement (quiet, where you feel at ease)...

Like ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs though, I can't completely agree with getting rid of schedules. They are a necessary evil. The key to it is to manage cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 expectations of your customers. A difficult exercise in itself.

And it really looks like it rocks to be working at google.

8:50 AM, September 28, 2006  
Blogger Gubatron said...

Long ass post, wonder if half cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole thing, wonder if getting employees for google is your 20% project, this post seems more like evangelizing naive smart developers to go work for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NSA, errr, google.

Wonder how you get anything done if you have so much on your mind.

Wonder how many projects fail in google.

Wonder how many people actually do any work in google, how many actually deserve to get paid.

In any case, I don't care, I'm taking over something bigger than google one day, gotta code.

Oh, and Pair programming rocks, you do things right, make less mistakes, learn tricks, teach tricks, you should try it, maybe you're not as good as you think you are.

8:50 AM, September 28, 2006  
Blogger pglatz said...

Great article, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's alwayssomething fishy about methodologies that sell seminars.

Can you elaborate on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 priority quing software Google uses? Are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re anyopen source tools for this you'd recommend?

8:58 AM, September 28, 2006  
Blogger Michael Harrison said...

I learned a lot about Agile, XP in particular, from a project manager at JP Morgan Chase. He had introduced XP to his team, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y did all of it--pairing, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 planning game, test-first, on-site customer. And all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir metrics improved. Fewer bugs, faster progress, fewer late nights.

This PM wasn't a fanatic. He was a silver-haired lifelong programmer at a company where inefficient people are laid off at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next merger.

So I wonder where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comment "people pretty quickly demonstrated that XP was a load of crap" comes from. Sure, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's no magic bullet, but XP and Agile methods seem to work for a lot of people. And any methodology, applied inflexibly without regard for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 particular realities of a company or team, will only go so far.

I admit I'm a fan of XP. I find it to be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best way I've worked, because you learn faster and you can make suggestions easier.

One ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r thing. Pair programming was used on NASA's Mercury project. They really didn't want any bugs.

8:58 AM, September 28, 2006  
Blogger unmarked said...

I love how quick many are to attack this idea. It reminds me of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 battered wife syndrom.

I'll admit that I grew up with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 deadline mentality and it still lingers.. but since I left cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate world to work on my own, I find much more flexibility in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scheduling to account for those "down days" that everyone has, but apparently some won't admit to.

My previous company had processes galore. Meetings upon meetings all throughout cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day. I was lucky to get a couple of hours to actually do development. Each year, new processes were added to "improve" this. Yeah, doesn't that just make you want to wake up early in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 morning and head right to work.

I do agree that outside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google-sphere, deadlines are a necessity, but deadlines are most often just an arbitrary date. The world does not end when a deadline is missed (and if it does, your skills likely won't be needed during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rapture). Most corporations do not recognize this and do believe that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world will end if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 arbitrary date set by someone is not met.

Finally, one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reasons I think Google is successful with its approach is because it isn't afraid to fail. I believe, fear of failure insures that you eventually are parallelized to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point of guaranteed failure. Look at Microsoft and Vista as a classic example.

8:59 AM, September 28, 2006  
Blogger falafel said...

I'm going to share my take here.

I work for a game company, developing tools for designers and artists. I'm not a designer, I'm not an artist. I don't even care about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 game industry. I'm a programmer. Here's how our projects go.

I'm going to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 example of a cinematics tool.

Take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current cinematics tool. Sit it down in front of cinematic artists, art directors, animators, designers, and see how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y use it. What do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like about it? What are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 important things cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y use? What do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want that isn't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re?

Then we (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programmers) meet with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 users). There's not that many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, and we know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m personally, so it's informal and focused on getting stuff done. We talk about what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want and in what priority. We give cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m an estimate about what we can do in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next two weeks. The whole process takes about a half hour.

Then we work. We get as much done as possible. We don't pair, per se, but if someone else has some insight into a problem you're working on, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y help you out. We work in an open environment, so it facilitates asking questions and learning.

After two weeks, we release everything that works. We meet again and ask cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like, and for a new prioritized feature/bug fix list.

The users couldn't be happier, and we get a lot done. It's fun, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's very little pressure, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 urge to get things done on time is high, but not out of control.

We don't have crunch.

Is it agile? It certainly borrows things from agile, but it's not Big A Agile.

9:14 AM, September 28, 2006  
Blogger mondaysahappyday said...

Great post Steve, read it all & loved it.

To all those who are jealous here is some good news. You can make your own google. I have done it. All you need to do is stop caring.

I am fortunate enough to work for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software organisation of a large company. Through no fault of my own I was assigned to what is basically a maintenance project. It's not all bad. For example I got to travel to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nerve centre and spiritual home of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company (where honestly 50% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 building occupants are managers) and witness how people actually worship & slave to a bug tracking database. Anyway where was I? Oh yes google. Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r benefit of working for a large company is that it's very easy to float around aimlessly in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vast sea of mediocrity and have a great time. We can't bring pets to work and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no chef but for me cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 20% do-your-thing rule is in full effect (company policy 0%). I'm actually developing some better tools for doing what we do, since we are so tools improverished (among ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r things). And it's fun! At lunch time I like to go out for a 7km run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n eat a nice meat pie and drink an iced coffee. Better than a massage! The rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time I basically cruise spending it fixing whatever silly mistake some overstressed engineer made 4 years ago.

My ambition is to exit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 workforce and live off my accumulated savings while developing free software. I intend to achieve this using patience and a positive attitude. Eventually, due to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reality of working as a software engineer for a multinational company in a relatively expensive country, I and my colleagues will be released from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs of employment. This is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 greatest incentive and I am really looking forward to it. But in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mean time it's leisure as usual.

So think about it and you can have your own google.

9:30 AM, September 28, 2006  
Blogger Jim said...

It's funny, since one cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Scrum guys and I got in a big argument a year ago from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opposite direction. His point was basically, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customers demand "crazy shit" that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want or that's just to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m feel comfortable, tell cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to take a hike. Steve's idea seems to be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same but his target is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methodology instead of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer.

But that only works because Google doesn't have customers! Google doesn't build applications for clients- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are no deliverables and few products (if any). If folks stop eating Google's "light-and-easy" fare and advertising revenue drops I wonder how long cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work environment will stay cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same?

Don't get me wrong- I think Google found a formula that works for now, but its real easy to be organizationally innovative when your stock price is sitting over $300 and you're flush with venture capital.

9:31 AM, September 28, 2006  
Blogger Dylan Brams said...

Um. Google 'produces' advertising management software of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 highest order. That's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir big business. This was not a business at all worth being in five years ago.

All you're describing is a long-term gamble on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 part of upper management that if enough bright people are left free to roam and given incentive to work on whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ones to produce cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next big hit that makes a large pile of money.

That's it. Nothing special beyond a gamble and an attempt to lure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 brightest people possible into working at Google instead of starting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own company.

The people at Google have to be driven slightly differently, or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't make it in. Really, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 approach is smart because it creates a lot of buzz among cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people who are going to create cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 great software of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 future.

To make it work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are a lot of factors that work ONLY at Google, and have to do more with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal and people involved than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methodology.

If you were trying to make a directed product, and did not have all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ancillary need for advertisement / slashvertisement / web buzz, this would be an incredibly inefficient way to do things.

9:37 AM, September 28, 2006  
Blogger Unknown said...

Wesley said a bit back:

The idea that (some?) programmers have up days and down days, days when code seems to just fly out of your hands, and days when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code comes out like having teeth pulled (if at all!) ... well, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re isn't a lot of literature on this.

Eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r most programmers aren't like that, or have conquered it, or only some people experience this.

How normal is this periodic motivation for y'all?


I was really glad to see Steve's mention of this because this is something that I experience all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time.

What I've found is that eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r: 1) this is not universal/widespread, or 2) everyone who doesn't consciously realize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y experience this has already subconsciously beat this part of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir psyche into submission.

At my previous job, this phenomenon baffled my superiors. Days, sometimes weeks would go by when I would plod along producing relatively little, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n for periods averaging about 3 days, I'd be absolutely on fire, which I'll subjectively quantify as "ten to fifteen times as much output per unit time." In fact, at my old job, if I felt that I was going to be on fire, I'd actually call in sick sometimes and work at home so I didn't waste cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 raised productivity sitting in meetings or getting interrupted every five minutes.

The problem was that this bred an impression that all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 times when I wasn't "on fire," I was being "lazy," whereas ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r employees, who produced far less in terms of long-term average output per unit time, were perceived as "hard working."

What ended up happening was that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "on fire" periods just got beaten into submission. I'd eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r lie, and slowly spoon out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fruits of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se "on fire" periods over time, or I'd simply direct cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 motivation into something not related to work. It was easier for my boss/coworkers to accept consistent mediocre output than occasional extraordinary output.

I wish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were more research/literature on this phenomenon so that I could understand it. I feel fortunate that I've been able to address it consciously and not completely lose access to those hyper-productivity periods.

One interesting note however: I once met a programmer who described much cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same phenomenon w/r/t bursty productivity, but with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 added data point that he was diagnosed Bipolar. His "on fire" periods in terms of productivity and output coincided with his manic swings. I have no reason to believe that this applies to me, however it raises cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 question of whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r some people are "wired" for bursty productivity and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs for more consistency.

Any thoughts?

9:42 AM, September 28, 2006  
Blogger Unknown said...

> Let me say, Google's approach would not work well (IMO) if you were contracted to build nuclear missiles for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DOD.

True. But Google's approach was used to invent those nuclear missiles.

I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same for all products and services. Concerns about money and time do not best serve quality and innovation. You cannot follow two masters.

9:51 AM, September 28, 2006  
Blogger Doug Gibbs said...

Stevey,
What this post is really about is what motivates people to do work. That is a key thing every business wants to know. The answer is different for every niche.
It is nice that some companies, like Google, have figured out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whip is not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best motivator. The ideas are not new.
Max DePree wrote "Leadership is an Art" years ago. He is CEO of Herman Miller. They make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cool Aeron chair you are probably sitting in now. He said hire creative people and let cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m create.
The ideas from Herman Miller are based on a "Scanlon Plan" from http://www.scanlonassociates.org/. Google for gainsharing and open book management. I am thankful I work in a company based on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same philosophy.
This stuff originated in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 60's. I just want to give some context. Google is a great place to work, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are not inventing this stuff out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r.
Google has discovered that food and interesting work motivate programmers. You just felt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 earth move with that revelation.
It is sad that ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r companies don't look for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right combination of incentives to motivate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir employees. It works so much better than using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whip.
Nice post, keep up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good work. Do you think we could start a micro ISV from this work queue idea of yours?

9:54 AM, September 28, 2006  
Blogger quixote said...

As a longterm resident of academe, I had to laugh about some of this because you hit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mark so well. Interestingly, after grad school, where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y pay you squat and don't care what you do, what passes for management at universities veers pretty solidly into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Bad Agile" track. Or possibly just plain bad.

Just one example: all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 self-evaluations, assessments, program plans, five-year benchmarks, and so on. One year I actually kept track of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time wasted on administrative crap, like a lawyer might for billable hours, except in my case it was a labor of hate. It took almost three months out of my (paid) nine months of academic life. I could have taught two courses and published a research paper in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time it took me to fill out forms.

The reason I still got my job done, was that I spent every waking moment, including evenings, weekends and summers working. (I once figured out what my hourly pay would be if all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hours I worked were counted, and it came to about $6.25.)

Frustrating work saps energy. Working when you're bone-tired saps energy. Not being able to do your work right, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reason you got into it was for love saps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most energy of all. Result? All that dead tenured wood you hear so much about.

Google is on to something, if half of what you say is true. It'd be great if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't lose cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir way, and if anybody else learns something. You'd think that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's nothing very weird about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concept that treating people with respect works better than crapping on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

9:58 AM, September 28, 2006  
Blogger Lars said...

Mark said...

I love how quick many are to attack this idea. It reminds me of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 battered wife syndrom.


Mark, what idea are you referring to (Agile? Good/bad Agile?) and how does it relate to battered wife syndrome?

Stevey, despite your wildly distorted Agile strawman of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first two pages, you bring up some good ideas and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comments in response have been very clarifying. Like a lot of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r commentors, though, I wonder how Google's culture could be applicable at all to my environment.

Also, one could easily envision "Google-like developer culture" becoming cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next software 'methodology' fad that is misapplied and brings frustration to many developers and managers.

9:58 AM, September 28, 2006  
Blogger Unknown said...

Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it.

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.



There's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r exception: Blizzard. Unlike almost anyone else in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 game development business, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't ship on a schedule- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y ship when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 app is done. Like google, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are on top of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir field (EA's software is hit or miss, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir burnout rate is legendary).

10:04 AM, September 28, 2006  
Blogger Jonathan Millett said...

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 inspiration Stevey. Your writing is colorful and insightful.

To those who think that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google culture is not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world:
The world is what we make it.

10:13 AM, September 28, 2006  
Blogger Des Traynor said...

Great post Steve, really enjoyed it.

As I was reading it I was wondering to myself "Hmm, how long before someone shouts FUD FUD FUD". I'm impressed that it was 20 comments in.

I imagine many people will read this and call fud, without actually addressing any issues that you've highlighted.

10:13 AM, September 28, 2006  
Blogger Joel Jones said...

Minor nit. Most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original proponents of XP, like Kent Beck, come from a Smalltalk background, so I really wonder where your comment about strong typing comes from.

10:17 AM, September 28, 2006  
Blogger Dino said...

5% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people can't think, so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't. 5% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people can think and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do. The rest of 90% can think, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't.

Open-source software projects, Grad school projects & Google employ people of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 5% that can and do think. IMO this is what really makes a difference.

A process is a recipe. That has as its stated purpose prevention of creative thinking. That may satistically work in some emergency situations (for example paramedics). But software development is a 100% creative thinking process. So in software development processes are by definition bad.

But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are also necessary. In non-google like companies, 90% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 population thinks as much as a door knob. Then you need a process which has enough premeditated intelligence just to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 death march going.

11:14 AM, September 28, 2006  
Blogger Malachi de AElfweald said...

First, let me say that I really appreciate your blog entry. I have heard some things, like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 20% thing -- but it is nice to hear that not all companies focus more on dates instead of quality.

I read through quite a few of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 commentaries left on it, and am actually quite surprised by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 overall viewpoint of many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 commenters. I, for one, have worked at a few companies as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were beginning to implement [insert fad-based acronymn here] and it was always a huge time waster. Sure, we usually saw how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re could be some benefit to one piece or anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r - but in most cases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developers rebelled against it because management wanted us to spend more time doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir "new" methodologies than actually meeting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 deadlines, which were never realistic to begin with.

What you describe sounds very much like what most of us think of as "The Ideal Pure R&D Job". I, for one, wish more companies were focused on real creativity instead of just reimplementing a 10-year old wheel.

What you describe about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools is something I have experienced in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs companies - though not nearly as often as I should have. That trend does seem to be changing though.

The real problem comes down to two things, I think. First, people assume that what is tried and tested (even if it never really worked) is better than taking a risk on a novel approach. Second, FADs are very popular with people who pay cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bills. Anyone else remember when J2EE was simply a buzz word describing a single download of everything Sun had on a single download page?

And people made comments about how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir clients are all date-oriented, and thus cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have to be, etc. I think that gets back to reason #1 in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 previous paragraph. But I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y should also realize that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reason Google is able to output new services so fast is very much based on little incentives like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 20% rule.

I personally would love to work for Google. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir Project 02 ever starts hiring people to do hardcore Java (AI, TRAM, Encryption, whatever), I will probably apply.

11:15 AM, September 28, 2006  
Blogger Redshift said...

The priority queue approach reminded me strongly of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Getting Things Done"/43 Folders personal productivity system. That has some very good explanation for why it makes you feel less stressed, in addition to actually getting more done.

11:30 AM, September 28, 2006  
Blogger Steve said...

This sounds almost exactly like Microsoft in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mid-to-late '80s. I wish it had stayed that way...

1:13 PM, September 28, 2006  
Blogger Unknown said...

Hornet

I read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole thing. Thanks for send cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 note. I don't know how many places can be a Google. But I do know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 types of places that can't ever be like a google.

I hope we all find our own personal google.

1:14 PM, September 28, 2006  
Blogger Fatal Error said...

Seriously. If i was google i would be embarassed having someone this ignorant advertising that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y work for me...

1:22 PM, September 28, 2006  
Blogger Unknown said...

Most of us in our industry are date-driven. There's always a next milestone, always a deadline, always some date-driven goal to it.

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.


Well, I would add Drug companies to this list. Inventing or discovering a new drug isn't something you can attach a timeline to - it takes research and experiment.

This comment really drove that home to me:


a) Come up with a ton of capital.
b) Fund a bunch of smart people with good ideas.
c) Hope that you make 1500% on 10% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 projects in order to offset cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 90% that fail completely.


This sounds exactly like a drug company.

Google is really an engineer-driven company. They invent things for a living. HP used to be an engineer-driven company in that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir engineers were free to experiment and invent, and that culture may very well still remain. 3M is somewhat like that, and it's how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have grown cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir product portfolio.

So, while Google's organization and process may be most appropriate for inventing things, it's perhaps not best for companies whose goals are not quite as open-ended.

1:25 PM, September 28, 2006  
Blogger Tawani Anyangwe said...

About Agile, Steve don't you think for us who work in government consulting, this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best way to get projects done?

1:27 PM, September 28, 2006  
Blogger Me! said...

It's always great to read about people so enthused about where and how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are working. What struck me most about your response was just how similar it sounded to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people who were talking about agile development in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 beginning. "We're not doing Waterfall and we're not doing Cowboy Development," was a common ralying cry, followed by, "We're not doing Extreme Programming!" as ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Agile methods appeared. It is interesting that Extreme Programming itself has moved away from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rigidity and workshop-based mentality that you critique as it has matured. Perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile movement will follow suite.

Google seems to have combined many agile processes with IBM's marketplace of ideas approach to management. Of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 eight main bullet points you presented for example four are core practices of Extreme Programming. Three have to do with not serving customers directly. As soon as customers are introduced priorities, communication and deliverables have to change. Personally I see frequent delivery as a way to trick customers into not caring about dates because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't have to be afraid that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y aren't going to get what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need.

1:37 PM, September 28, 2006  
Blogger Michael Polo said...

Google can be seen a beacon that attracts cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best developers.... I believe you when you say that peer respect goes a long way, in an environment were everyone is extremely talented it would have to.

But transferring this process to an arbitrary company X with an arbitrary talent pool doesn't seem obvious. You have your collection of talents, of work-a-days, of work-a-holics, of slackers, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se traits are not even mutually exclusive.... You can mabye create a new Google from scrath, but to transform a current soft eng shop into one....

good luck.

1:59 PM, September 28, 2006  
Blogger Arek said...

Wow, as a fresh graduate in CS, i imagine to to have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pleasure of working in a structure fostering cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se idealogies.

I do not consider myself overworked or pressed by suits with unrealistic deadlines, but getting exposure to this kind of development would be awesome. Most people who haven't tried cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google apprach will probably feel this way, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again, i havent tried XP or pairing, so i'm really being objective on this.

After reading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 'Google Story' by David Vise, i can see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 importance on carying on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 structure that created cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company into a large scale arena. As mentioned above, it might not be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best approach for some, but it shouldn't be, so whats cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue with that? I pity cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scenarios where non-programmer, business suits rule over all aspects of a project. I temp'd at couple of firms that dealt this way, and i hated it.

Very informational post

2:07 PM, September 28, 2006  
Blogger Bill said...

Question to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile programmers out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re. I'm attempting to understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process--I feel it should be more flexible than anti-Agile people ever seem to let on.

For instance, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original post mentioned pairing 10% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time (or was it 5?) Anyway, that doesn't seem to be outside agile anyway. The stuff I've read suggests you wouldn't pair more than half cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time at most and all prototyping should probably be done alone.

So I'd like to ask, how often do "Agile" groups actually pair and at what point is it not considered Agile any more? I think that Agile and non-Agile projects should pair as often as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 programmers need it, and for some programmers or some situations, maybe 100% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time even fits...

The concept of Bad Agile hit home with me but a different aspect. Pairing isn't an issue for me, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are practices that Agile cannot exist without.

Some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile practices eliminate necessary concepts like design and some documentation. You cannot eilminate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se wihout using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practices that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y replace.

If you aren't constantly refactoring, you NEED an upfront design. (By constantly refactoring I'd say that 60% of your time should be fixing your old code). This is doubly true if you go for The Simplest Thing That Works.

If you don't have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to pair throughout cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire team (if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team is distributed, for instance) you CANNOT eliminate documentation, in fact since Agile is so much about communication, I think a distributed Agile team must produce at least as much developer documentation as a "Normal" project.

So my main quesiton, do I just not understand Agile development yet? Is it really a rigid set of practices that must be followed exactly, or do inexperienced managers and programmers just implement it that way?

I also think a lot of people miss cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact(?) that Agile is much more values than practices. It's not really what you do, but why you do it. Practices need to adapt to fit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values are absolute--Or am I not understanding again?

2:14 PM, September 28, 2006  
Blogger Bob said...

Great content, but sometimes you beat a dead horse

http://www.bartleby.com/141/strunk5.html#13


Vigorous writing is concise. A sentence should contain no unnecessary words, a paragraph no unnecessary sentences, for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same reason that a drawing should have no unnecessary lines and a machine no unnecessary parts.

2:18 PM, September 28, 2006  
Blogger Msoong said...

Interesting article, shows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attitude of people working inside of Google.

The comment re Google is similar to academe is apt. I've worked in IBM Research as well as Apple and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y really have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same setup. They all came to an end when cash flow finially caught up with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company.

Something else not mentioned: Googles pays substandard wages with comparable job, betting on smart, motivated, and YOUNG people to go for it because of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "working environment". I happen to have a mortgage, (and at this point of > $400 share price, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 upside for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stock options is also questionable) so will have turn to high BASE pay outfit...

2:27 PM, September 28, 2006  
Blogger Unknown said...

The following quotes are from Malcolm Gladwell (http://www.gladwell.com/2002/2002_07_22_a_talent.htm):
"They recruited ceaselessly, finding and hiring as many top performers as possible"
"We hire very smart people and we pay cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m more than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are worth."
"It was a place where stars did whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y wanted."
"The reasons for its collapse are complex, needless to say. But what if Enron failed not in spite of its talent mind-set but because of it? What if smart people are overrated?"

2:35 PM, September 28, 2006  
Blogger Unknown said...

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 excellent article. I think you're being unfairly harsh on Agile though. It's one of a plethora of toolkits to dip in to. The more tools you have your disposal, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 more effective you're likely to be. It takes experience to get software 'right', experience gained by remaining open minded, trying stuff out and probably being burned along cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 away. To state that *anything* is simply 'Good' or 'Bad', software methods included, is an oversimplification, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world is more complicated than that.

2:41 PM, September 28, 2006  
Blogger Unknown said...

Stevey-

I enjoyed your rant. It had me chuckling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole way through. Wonderfully written.

You are presenting a very closed-minded and extreme view of agile. You're exagerations are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 very "marketing" techniques that you criticize that agile consultants from using. Unfortunately, you're not alone in your experience with agile. Having been involved with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XP and Scrum communities for many years, it is disappointing that this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case. I appreciate that you did cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 observing and discussing that you did in forming your opinion.

Agile is not nearly as simple as people want it to be. Just as Google has to work very hard and be disciplined to maintain its culture and practices, so to does any team that wants to be emergent and adaptive. This does not make agile bad, just hard. Hard in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sense that it requires culture change. I have met very few people in software development that understand what it means to change an organization's culture. This is not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first time that something positive has crashed on those rocks.

Although you're uncomfortable with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 term agile, what you describe is in fact consistent with what agile manifesto its creators are all about. Google does not need agile as something that is defined because it is in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 DNA. Google doesn't have to change in this regard. It has always been this way. The Google IPO Prospectus is a masterpiece that protects cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company from letting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 shareholders being too shortsighted, among ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r great things.

Few organizations have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 market position, cash, and billiant leadership that Google has. With cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se legacy cultures and organizational infrastructures, it is a much more difficult situation. Given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difficulty, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re will be failures. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal of most is to move in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 direction of what you are so fortunate to live everyday.

The software development community needs to be rid of wanna be change agents (consultants and employees) that don't know what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir doing. In that regard, I agree with your rant.

Although not in a agreement, I look forwarded to reading more!

2:46 PM, September 28, 2006  
Blogger Unknown said...

Can you please share with us cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 priority tool you use. We need something like that to kill cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 index cards.

2:50 PM, September 28, 2006  
Blogger ken said...

"If a process is potentially good, but 90+% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time smart and well-intentioned people screw it up, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it's a bad process. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can only say it's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team's fault so many times before it's not really cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team's fault."

So programming itself is a "bad process"?

3:05 PM, September 28, 2006  
Blogger Justin said...

I work for a major dot com and can't agree more with your post. Even beyond direct "product" development, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 such approaches are destroying our company. Perhaps this approach doesn't work for consultants, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again, most of our outsourced projects turn into horribly managed disasters. Look at BOSE and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir 30 year project to develop vibration dampening systems for vehicles. Companies that are only concerned with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bottom dollar, shareholder revenue, project time management, people you say "Getting free meals has jack squat to do with your development process," well cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y really just don't get it. Sure, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y may survive. Their companies can be pumped up with millions upon millions of dollars from investors. They can provide mediocre services and keep up with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 flow. They ride cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tide. But what to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y innovate? Why is it that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most successful car companies are in Japan? Why are so many of our programming jobs heading to India? How come manufacturing has disappeared to China?

Where have our innovators gone.

3:24 PM, September 28, 2006  
Blogger Paolo "Nusco" Perrotta said...

Oh well, agile worked for me. I'm happy, my customer is happy.

OTOH, your post feels a bit unfair. Not everyone has a chance to work at Google. For most people, agile is just a pragmatic way of dealing with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alternative really *is* chaos.

I'm sorry, but you sound like a rich guy posing on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 guys from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ghetto and calling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m all idiots because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can't afford pricey sunglasses. Not really classy.

4:20 PM, September 28, 2006  
Blogger Tyson said...

There are valid criticisms of Agile, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are valid praises for Google, but contrasting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m doesn't actually make any sense - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y aren't trying to solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same problem. Maybe I'll write a post about how SUVs get bad gas mileage, but macaroni and cheese is delicious, so clearly mac'n'cheese is better than SUVs. That would be about as valid and meaniful as comparing Agile methods with Google's software development process.

Seriously, you are an entertaining writer, which makes it almost possible to overlook cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 randomness of this comparision. Since Agile (and Waterfall, for that matter) is trying to balance scope, quality, and delivery date, and Google doesn't seem to care about delivery date, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comparison isn't all that useful. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 projects I work on we have to deliver by a certain date - if we can't, anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r vendor will. I am not hardcore about any methodology - I think that Agile has its good points, and so does CMMI. It all depends on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 business context. If I tried to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google method (as you describe it) I'd be looking for new work - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 business I'm in has deadlines. This isn't an attack on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google process - it just means that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google process assumes a different business model than Agile.

4:36 PM, September 28, 2006  
Blogger Pablo Santos said...

It was shocking to read such a big amount of bad things about agile development.

Anyway, it makes me doubt, think, and that's always a good thing.

But, I have to laugh when he mentions "religion". Hey, he really talks like being on a sect: "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are so good to us. Everything is so nice. Nobody manages developers". Wow! So big bosses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re DID have manage to make people think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can do whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, and actually make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m do what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y ask cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to do... Uhm... Looks like brain-washing to me...

What I like to hear from agile, or google's development, or whatever any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cool guy on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 block that shows up, is that people goes first. I do really hate "people interchangeability-based management methods". That's it. And I guess most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, doing or pretending to do agile would agree on that.

Anyway, I liked cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 silver-bullet-based evangelism he introduced: put clever people doing whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like and you will get things done. And lovely managers upstairs won't even try to "make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m converge".

Come on!! If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were so clever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would be rich! :-P

5:40 PM, September 28, 2006  
Blogger Mr Angry said...

OK, I officially have a new favourite piece of writing on software development. Everyone else can stop writing.

You must have known you were going to get killed when you wrote this. Having cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 audacity to attack Agile? Just because you can prove with objective reality and actual results that you're right?

The comments were mostly exactly what I expected and my brain started to shut down after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first 20 "he's right so I'll attack him on something he didn't actually say" responses.

I'm just depressed because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vast majority of companies will never implement cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google approach, not because it won't work, not because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're different but because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y suck.

5:55 PM, September 28, 2006  
Blogger Treeman said...

(There are many people in our industry who do this gig "for a living", and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y go home and don't think about it until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day. Open source software exists precisely because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are people who are better than that.)

This is getting to be a pervasive and I think counter productive attitude in our industry. After spending hundreds of words talking about how motivating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 perks and financial incentives are at Google, how important it is to maintain rational working hours and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 extent to which Google actively subsidizes personal work (including open source work, I'm guessing), Steve makes this comment denigrating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 majority of developers that have priorities outside of development.

It sounds like along with everything else Google does its best to cultivate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 feeling of superiority into its employees.

When I leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 studio tonight and focus my time, energy and passion on my family, I won't feel sorry that my "betters" are off making it easier to sell advertising.

The catered gourmet meals do sound pretty sweet, though.

7:28 PM, September 28, 2006  
Blogger Unknown said...

Very, very good post. Here is what I am telling people: http://www.wrightin.gs/2006/09/best_software_p.html

8:13 PM, September 28, 2006  
Blogger ScottJ175 said...

I know exactly what you're talking about, Jour. Hopefully Steve will blog on it someday.

I also have fluctuations between massive productivity and total slacking (or at least what management would call slacking (such as reading Stevey's blog "on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 clock")).

In fact, I've solved most of my tough code writer's block issues AWAY from my desk. Be it while mowing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lawn or while washing my hair in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 shower.

This makes me about want to snap when faced with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 typical, production-line, 19th century, "be here at time X and work Y hours a day" work model most of us face.

8:52 PM, September 28, 2006  
Blogger DaveAtFraud said...

The only exceptions I can think of to this rule are:

1) Open-source software projects.
2) Grad school projects.
3) Google.


Actually, it sounds like Google is an attempt to create a paid mini-OSS development environment. About cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only difference is in having tangible financial incentives to reward people for contributing to "important" projects. The rest of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 incentivization (peer recognition, visibility) sounds an awful lot like what drives open source development.

My question is this, what happens when a big, complex problem comes up? The kind where you need, say, a network guru, a statistician, maybe some behavioral people, etc. just to understand cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem?

Cheers,
Dave

9:35 PM, September 28, 2006  
Blogger doomvox said...

Steve Yegge wrote:

But it's exceptionally difficult to measure software developer
productivity, for all sorts of famous reasons.


I thought cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main reason was that no one tries to do it.

Question: how would you evaluate two methodologies if you really wanted to? What would you need?

Answer: conduct a social science experiment using teams of volunteers. Undergraduate CS majors might do in a pinch.

Question: who is going to do this experiment? Computer Science
professors? Ha! CS profs want to scribble equations, Design Languages, maybe, once in a great while, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll be willing to
write a program or two... but conduct a social science experiment? Feh, that's some ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r department, isn't?

So instead we're stuck with anecdotes, religious fanatics, and
hucksters holding seminars...

Steve Yegge wrote:

About cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best you can do is gacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r statistical data across a lot of teams doing a lot of projects, and try to identify similarities, and perform some regressions, and hope you find some meaningful correlations. But where does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data come from? Companies aren't going to give you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir internal data, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y even keep that kind of thing around. Most don't; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y cover up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir schedule failures and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y move on, ever optimistic.


Well Duh. So don't try to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data from corporate sources.

The comparison to "fad diets" is completly unfair: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are indeed academic sources of data on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 performance of diets, it just takes awhile for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 data to accumulate, but accumulate it does... consequently diet fads are much shorter lived than programming fads.

9:42 PM, September 28, 2006  
Blogger Pierre-Armand Lalonde said...

Can you tell me how even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good agile can be used in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context of a fixed price contract? I am a consultant - yes one of those. Clients hire us to do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 impossible. We make it happen but struggle to reach fixed dates. How am I supposed to convince a client to work with a priorities queue instead of fixed dates? Seems to me you were right cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first time.

9:44 PM, September 28, 2006  
Blogger Unknown said...

when you hear people talk about working at google its like listening to someone who just found jesus. Seriously, what's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 catch.

10:18 PM, September 28, 2006  
Blogger Unknown said...

To cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people who complained that because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r priorities besides programming (families, hobbies, etc) cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y've been lumped in a "lesser programmers" category I can only say this: if you have ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r priorities besides programming, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you are, by definition, a lesser programmer.

Not that you aren't skilled, brilliant, whatever, it just means that your footprint on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world of programming will be shallow. You won't be of a magazine, you won't be giving keynotes at OSCON.
To be truly outstanding in any field requires that you be obsessed. People who influence cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir fields don't go home on time. The always need to stay an extra hour or eight. Not because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need money or because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have a deadline, but because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need to work out an idea.

They know going home would be pointless anyway. They might say hello to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir wives and children, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir mind would be elsewhere.

Don't take it as an insult, it's just reality. The hour-a-day jogger isn't going to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Olympics. The eight-hour-a-day programmer isn't going to write Linux. If that isn't obvious to you cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n no amount of hours would be likely to make you exceptional so don't worry about it.

10:37 PM, September 28, 2006  
Blogger Pedro said...

Since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are now 119 comments I doubt anyone will see this. Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, here goes:

Your comparison to "good cholesterol, bad cholesterol" belittles cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post. Just as with cholesterol, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation is more complex than simply "good" or "bad."

I've used Agile [yes, with a capital "A" and index cards] at Google and for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most part it's been good. What I like about it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 transparency. You know how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is to do, and you know how fast you can do it. And you know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things from historical data. Sure, for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first few iterations your estimates might be bad. You learn from that and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 estimates get better. Hence, you get a better idea of how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re really is left. You also know historically how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team can do each iteration, and that comes from real, hard data, so it helps you plan.

My experience is that Agile is pretty good for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things; estimating and scheduling. Of course it won't solve all your problems, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are lots of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r factors at Google that mean that most projects turn out well, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 estimation and scheduling aspects, AFAICT, really do work.

Also, it would be much easier to take you seriously if you didn't go off insulting people randomly. I myself am a late riser and don't really understand how early risers do it. That doesn't mean I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's something wrong with people who can get up early; indeed I respect it. It's something I've never been good at.

10:47 PM, September 28, 2006  
Blogger Pedro said...

Since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are now 119 comments I doubt anyone will see this. Nevercá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, here goes:

Your comparison to "good cholesterol, bad cholesterol" belittles cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post. Just as with cholesterol, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation is more complex than simply "good" or "bad."

I've used Agile [yes, with a capital "A" and index cards] at Google and for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most part it's been good. What I like about it is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 transparency. You know how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is to do, and you know how fast you can do it. And you know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things from historical data. Sure, for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first few iterations your estimates might be bad. You learn from that and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 estimates get better. Hence, you get a better idea of how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re really is left. You also know historically how much work cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team can do each iteration, and that comes from real, hard data, so it helps you plan.

My experience is that Agile is pretty good for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things; estimating and scheduling. Of course it won't solve all your problems, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are lots of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r factors at Google that mean that most projects turn out well, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 estimation and scheduling aspects, AFAICT, really do work.

Also, it would be much easier to take you seriously if you didn't go off insulting people randomly. I myself am a late riser and don't really understand how early risers do it. That doesn't mean I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's something wrong with people who can get up early; indeed I respect it. It's something I've never been good at.

10:47 PM, September 28, 2006  
Blogger Unknown said...

Maybe Stevey was drunk when he wrote this. Definitely false advertising -- I thought he'd have something interesting to say about Agile, not a rehash of everything that's already been said about Agile methods or working at Google... boring.

He's clearly never spent 5 minutes speaking with Kent, Ward, Bob, Martin, Mike, etc etc etc. So what if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are lots of poser Agile consultants running around? There are lots of poser consultants in general, in any field. Big deal!

Well, maybe it's good that he wrote this anywho because it got mentioned on Slashdot. Never heard of him before and I now have a bunch of his old Lisp and Emacs posts to put me to sleep tonight. Hopefully some of those postings actually make a point... he must have some smarts to have kept a job at Google for a year+, and he does use Emacs after all (although he just got around to 22 ;)

10:54 PM, September 28, 2006  
Blogger franklin lyons said...

Steve is letting us in on something bigger here, he has a unique perspective on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 inner workings of Americas and perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worlds greatest tech environment. Listen, learn, take what you can - The value of this is really between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lines.

11:03 PM, September 28, 2006  
Blogger Jake said...

My experience has been that agile and every ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r organized/engineered process is great for people who are experienced and have discipline. Organization fails for people who have yet to master cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own work habits and style. Get togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r a bunch of experienced talented people and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll kick ass because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are disciplined and know how to flock. Put a bunch of inexperienced people togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r who have not mastered cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own abilities and expect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to coordinate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own clunky abilities with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 clunky abilities of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs and you just have a pile of clunky people.

11:39 PM, September 28, 2006  
Blogger Unknown said...

I tried reading between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lines. Maybe I've just read too many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Google employee blogs and InfoWeek "Google Management Secrets" type articles to find anything new in this article.

My top complaint remains -- false advertising! He should have titled cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 post "Why I love working at Google, and don't plan to attend Agile seminars or buy more books on XP" (I'm sure Kent Beck will become despondent and cancel plans for a third edition)

For a guy who recently whined about Software needing Philosophers, he comes off as a stellar hypocrite here for bashing a grassroots effort (Agile) that fundamentally challenged cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 establishment of Traditional Software Development. Dissing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 C3 project is such an old XP hater tactic. Couldn't think of anything more original. Oh yeah, he was drunk.

11:48 PM, September 28, 2006  
Blogger Unknown said...

I think Google is fast turning out to be a load of arrogant and self-sufficing nerds. The google story is bound to implode like Microsoft in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next decade. Apart from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 search engine and gmail, ALL cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir products suck real bad.

But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again I forgot to add cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 disclaimer. This opinion is entirely my own and does not in any way reflect that of my grandmocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, my fellow villagers or my pet dog.

Word of Wisdom - "Too much tongue in cheek never made a very good geek"

12:29 AM, September 29, 2006  
Blogger Unknown said...

Stevey,

You mentioned that XP is a load of crap. Furcá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rmore you mentioned cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 'good agile' @ Google. You've described developer's are free to join a project when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can. Develop's work 8-5 hours and no overtime. These are specifics of XP too. Or do you think Pair Programming == XP?

Have to mention i haven't work on XP or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Agile methods, but what are your experiences with XP?

2:55 AM, September 29, 2006  
Blogger Unknown said...

Does anyone else think that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 description given here of google (smartest people, well rewarded, free lunch, lots of inspeak) is identical to that of Enron??????

4:56 AM, September 29, 2006  
Blogger Unknown said...

What a contrast.
...dave

5:13 AM, September 29, 2006  
Blogger Unknown said...

Stevey,

I was actually more captivated by how development life is inside Google than your rant on Agile. Your rant lacks perspective as it seems you've forgotten life in a development environment where delivery date is included in contracts. Sounds like you've been drinking Google Koolaid...cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n again, I would be too.

Everything you describe about Google's working conditions sound very much Agile...in fact, it sounds like you work at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 holy grail of Agile. What Google is trying to emulate is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Open-Source model, which is really cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 grandfacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r of Agile development methodologies. They have figured out that software development at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 highest levels is as much art as skill, and you really can't force a creative process.

Imagine if Google would announce new software releases 3 quarters prior to release. Do you still think your development environment and conditions would be as cushy and flexibile as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are now? If not, wouldn't you agree that Agile and its various flavours offer numerous practices that would be beneficial where delivery date is important?

One thing I do agree with you on however is anyone who is dogmatic about any methodology or process, is indeed "stupid" as you put it. There is no process and methodology that works for everyone and every project. Anyone who doesn't inspect and adapt really isn't agile.

6:00 AM, September 29, 2006  
Blogger rmcubed said...

The Google development culture doesn't always work so well from our perspective, as content contributors

6:35 AM, September 29, 2006  
Blogger Justin du Coeur said...

Funny. The only project I've ever worked on that was consistently (a) on time; (b) utterly rock-solid; and (c) really *fun* to work on, was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one that was developed in a mostly-XP style. You seem to be racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r selective in your data.

Moreover, I'm not sure who you're talking to, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kind of religious Agile approaches you're describing are exactly cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ones that serious Agilists don't have much respect for. Everyone who's serious about Agile knows that you have to adapt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methods and mechanisms to your situation, not take it as some sort of religious dogma to be faithfully followed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word...

7:29 AM, September 29, 2006  
Blogger Unknown said...

cwells, you shouldn't confuse time spent with innovation and contribution to a field. The two are not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same. There are plenty of people in programming that can't produce as well in multiple obsessed days what a good, talented person can in one day.

8:11 AM, September 29, 2006  
Blogger Unknown said...

One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best implementations of Scrum I have seen is at Google on Adwords. You need some structure to Google style when you have multiple distributed development groups working on software that every ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Goggle app has to integrate with on regular upgrades. See:

Ssh! We are adding a process…

Mark Striebeck, Google Inc.
mark.striebeck@gmail.com
Agile 2006, Minneapolis

Abstract
Google is very successful in maintaining its startup culture which is very open and engineering-centric. Project teams don’t have a project manager, but organize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves and communicate directly with all stakeholders. Most feature decisions are made by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 engineering teams cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365mselves. As well as this works for products like search, gmail … it creates issues for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AdWords frontend (AWFE) application. AWFE is much more product management and release date driven cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Google applications. This presentation discusses how we carefully introduced agile practices to coordinate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AWFE development teams and made cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process more efficient and predictable.

8:14 AM, September 29, 2006  
Blogger Unknown said...

It seems like alot of people are mentioning googles failed project ratio. Which is broken for 2 reasons.

First cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are a multi-billion dollar company. As long as that is true cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n by definition cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are successful. Please keep in mind this was not always cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y had to get to that point... At any rate, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se projects can go on in perpetuity until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y get anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r home run (and actually cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have had several).

The Second reinforces why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first is true. What seems cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 important piece of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above article... is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code is solid.

If everyone is writing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same type of code, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it doesn't matter if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project fails, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code is very likely reusable in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r areas. At least in a company that sounds like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y could use it.

The process described for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 google system sounds terrific. It seems like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are geared towards producing as much top quality code as can be produced times n(coders). Then its just a matter of increasing n.

The ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r important point that seemed to get a little muddled was cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meta info disagreement. The importance of this seems to be that index cards tend to get in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way of "doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right thing." They create an easily trackable, accountable path, without focusing on what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desired result is... which tends to change. The importance of avoiding feature creep is one thing, but if its cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right thing to do...

Sounds like index cards have a place, but its more in a tuning and support capacity than core development.

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 insight.

8:26 AM, September 29, 2006  
Blogger jeremy said...

In my experience, managers love Agile. Just as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y loved XP, and before that RAD, and before that time cards.

Traditional managers are hand wringing expectant facá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs. They pace and worry, wondering if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're going to have a bouncing baby boy, or a sled, or a big wheel of cheese.

That's because in many companies, managers are managers because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have been managers before. It's still a rarity that an actual contirbutor rises and is allowed to lead. As such cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't always trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 engineers, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't always see things teh way an engineer would, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have little grasp of abstract concepts. And because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y rise at 5am, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have little empathy for a guy who time shifts his sleep schedule to match his own biorhythms, etc.

But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do understand bullet points, and clocks, and checklists. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y cling to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Agile is a way to try and trick clock punchers into thinking cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are swift little mammals, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are actually cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same old dinosaurs keeping one short sprint out in front of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 glacier.

Agile works, of course, well enough to produce *something*. Any process will work if everyone uses it. But you'll never know what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code could have been, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reins are always on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "cowboys". You'll just produce competently mediocre code, that never rises to greatness.

My advice to anyone looking to become agile, as well as leave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 door open for greatness is to study open source methodologies, that is not to say everyone has to open cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir preciously proprietery code, look at how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do, and do likewise within your organization.

And a huge part of what Stevey said, that is getting poo pood is that you need to value cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 health and well being of your employees. They will produce more, better, and longer if you do.

Agile does not value cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, it underestimates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. It smacks of a Special Olympics "everyone's a winner, let's all get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r" rush toward homogeny that is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difference between multi billion dollar successes and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sub million dollar assembly line coder body shops where this seems to be "working for us."

8:37 AM, September 29, 2006  
Blogger mark said...

I won't comment on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good/bad agile stuff, but I would like to say something about "Date-Oriented Programming". My company produces enterprise software for Fortune 1000 companies. These customers must be provided with product roadmaps that describe what we intend to deliver, and when, several quarters in advance. You can't just drop stuff in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir laps out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 blue and say "Time to upgrade, boys!". They have to plan how and when to pull togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 resources required for what can be very complex migrations (of customized database schemas, for example). So yes, Stevey, "Date-Oriented Programming" is a bad thing, *unless* you actually have to have a plan, and more or less stick to it.

9:04 AM, September 29, 2006  
Blogger Unknown said...

With my short 10 year experience in software, and reading all those comments, i can see a common thread that people seem to only partially acknowledge: it's about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people stupid!

Maybe i am one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lucky fews, but i have had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance to participate in three very successful projects in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last 7 years that used very different methodologies. I don't believe in methodologies but in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people. A great team with great people can adopt any methodologies and be successful.

The real question is which methodology works best, most consistently, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team is not all composed of A+ individuals, which seems to not be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kind of place that Google has fostered. If people are top, methodology doesn't matter one bit and freedom is what generates creativity and value. Discussing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of methodologies in your world Steve doesn't seem to make sense.

Now of course, my big question is why would a company compromise on hiring anything but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best. That's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst business decision, not which methodology to adopt.

9:06 AM, September 29, 2006  
Blogger DonSchenck said...

ANY company can, IF THEY WISH, create a good working environment. They don't because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't WANT to.

After that, heck ... pick a methodology. With happy, productive, self-fulfilled programmers, all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 managers and methodology have to do is stay out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way and don't impede success.

Good post. Thanks for reminding me how hum-drum, boring and pointless my own programming life is. :)

9:26 AM, September 29, 2006  
Blogger Unknown said...

Your criticism of date-driven projects, while insipiring to those of us who live in that world, fails to mention one aspect of Google's business that differentiates it from a lot of software-driven businesses -- Ad revenue sustains income while people work on new projects.

I don't know about ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs, but if I put a banner at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top of my company's proprietary software for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 purposes of selling ad space, I'd be canned in a heartbeat.

This model works for Google because of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nature of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web. The point being that many companies are date-obsessed because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't get paid until cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y ship. Many have a rough-equivalent of ad revenue called "maintenance", but much of that cost goes to fund cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 service and support functions.

So you say Google projects are one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three types that are note date driven. But name me anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r software company (outside of Yahoo) that has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 luxury of placing ads AND cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user base to make it a profitable proposition?

9:34 AM, September 29, 2006  
Blogger Unknown said...

@Steve

Actually, you've got it backwards: talent without obsession is next to worthless. Talent is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 raw material, obsession is what refines that raw material into real innovation. How many people have talent but never use it? Michael Jordan may have had talent, but what got him to where he was was hard work inspired by obsession. Many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs may have been just as talented as him, but he's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 one who obsessively shot 1000 free throws a day, who practiced in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dark, outside, just to get a few more shots in.

You might also think that obsession without exceptional talent is worthless, but it isn't. While talent is clearly a huge boon, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re have been many people of mediocre talents who's obsession and commitment to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir fields changed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world. The reverse simply isn't true.

11:16 AM, September 29, 2006  
Blogger Andy said...

Thanks Stevey for prompting such a great and diverse set of comments.

I have despaired at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slow corruption of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values and principles that subsequently became enshrined as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Manifesto for Agile Software Development" and, perhaps more usefully, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "Principles behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Agile Manifesto".

I urge anyone to read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se when deciding what 'agile' might be for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Practices should flow from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se values and principles and must take in your situation: your specific organisation, project, team, individual. Your "agility" is not defined by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practices you employ; but how you go about applying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 values.

Like life, diversity and adaptation is crucial; cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is NO silver bullet... and that includes Google's.

2:13 PM, September 29, 2006  
Blogger Dav said...

A nice rant of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "let cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m eat cake" variety. Entertaining for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 royalty but not to be taken seriously by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 peasants in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world.

Personally, I'm on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fence on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 value of pair programming. It doesn't seem like it is somthing that should be done 100% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nice thing about Agile is that nothing has to be done 100% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time. Agility is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key, and even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 methodology can and should be adopted to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 task at hand.

4:14 PM, September 29, 2006  
Blogger Gabriel said...

Great job. Great post. Well-written, thorough, excellent thoughts.

4:49 PM, September 29, 2006  
Blogger DixieGeek said...

The one critical part of XP/Scrum that you conveniently left out of your diatribe is that XP/Scrum puts cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 management of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project squarely where it belongs: on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backs of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work. This is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most important part of XP/Scrum. When cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people actually doing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 final say in what gets done and when, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n projects actually get done on time.

Having worked for a company that put cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Scrum methodology in place was so refreshing that we released 3 commercial software products in 9 months. Pair programming wasn't used except when needed and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n only because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team decided it was necessary (not because some MBA manager type decided to ram it down our throats) We didn't shun it; we (cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team) just didn't see at as a necessary part of our process unless a particular part of our project called for it or one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team members asked for it.

We also eschewed index cards for whiteboards. One contained cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 currently active project list and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r contained our backlog. Every morning during our scrum, we worked both lists, moving things back and forth, adding to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 backlog, etc. All you had to do to check cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 status of a project was to look up at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whiteboard. If cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 status of a project you were working on changed during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day, you got up, walked to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whiteboard and marked its new status. Everyone could see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 change immediately.

During cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 scrum, No one but team members were allowed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Scrum Room and on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rare occasion we allowed guests, no one was allowed to speak except for team members. The president of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company would on occasion request cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opportunity to attend. We would allow it only if he agreed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ground rules, ie. he wasn't so speak unless spoken to and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n it was only to answer direct questions. If after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 meeting he wanted to submit questions to be answered in a subsequent scrum, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n an email would suffice or he could catch a team member outside of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Scrum Room at anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r time.

The one benefit that everyone liked is that it was forbidden to work more than 40 hours a week. We never worked more than 40 hours a week. Never.

XP/Scrum works when implemented properly. I have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 practical experience to prove it works.

The only times I have seen it fail is when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no management buy in, someone tries to graft it onto traditional software management practices, or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software developers don't or aren't allowed to run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process.

6:29 PM, September 29, 2006  
Blogger Tom M said...

Thanks for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 interesting read. I would like to comment on your comments as relates to opensource.

Opensource projects may not often have specific date deadlines, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y generally try and set asside reasonable time frames to have a release within.

Generally opensource projects without a significant update every half a year are very stagnant or dying.

Releases for F/OSS are important for a few reasons -

1) It encourages developers to finish up projects that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y had planned to do.

2) It helps shake out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bugs - both in greater end user testing and in developers desire to have a low bug count for releases. Also major functionality changes can have wierd interactions, so only a few major changes per release cycle will make bugs easier to find. Whereas a long development cycle can mean multiple large scale interacting changes.

3) Attracts more endusers and developers - open source projects tend to only get publicity with releases (a few exceptions being Firefox that has exceptionally clever marketing efforts, Ubuntu - which gets additional coverage due to Mark Shuttleworths celebrity status and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r factors, and Blender that gets publicity from major art projects that it is associated with). Publicity results in faster growth of both cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 userbase and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 developer base. (Blender for instance gains both a surge of new users within a few days of release, and a long term permanent boost in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user growth rate with each major release).

For Blender we try to have between 2 and 4 significant releases per year.

Tom M.
LetterRip

8:36 PM, September 29, 2006  
Blogger camz said...

Excellent post. Thanks, I will be sharing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 link with quite a few people.

Nice to see that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are still some sane developers out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re that "get it", and don't fall for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hype.

8:50 PM, September 29, 2006  
Blogger orph said...

Awesome. Thanks for pointing out how pin-headed those methdologyniks are. And wow, Google sure does a great job making software!

Now, please release your multi-million-dollar decades-of-man-years massively scalable software stack for free to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 public, so ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people can too. That or get off your high horse.

Not everyone has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gigantic nation-state sized nest egg of cash that allows you to work without deadlines.

And I'm sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability for massive fuck ups at all levels of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 organization to not effect cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bottom line more than an iota must have a very calming effect.

Unfortunately, some of us have to live outside your particular square mile of California office park.

2:02 AM, September 30, 2006  
Blogger David Watson said...

First you state, "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir 1:1 with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir lead."

Then you state, "it's quiet. Engineers are quietly focused on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work, as individuals or sometimes in little groups or 2 to 5."

Wikipedia defines a meeting as follows: "In a meeting, two or more people come togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, in particular to have discussions, often in a formalized way."

While I admit that "sometimes in little groups or 2 to 5" does not sound formalized, it does sound like a meeting. Which, of course, begs cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 question - is pair programming a meeting?

6:26 AM, September 30, 2006  
Blogger Payton said...

Typo: "inproper"

12:07 PM, September 30, 2006  
Blogger Unknown said...

http://yahoo.businessweek.com/smallbiz/content/sep2006/sb20060927_259688.htm

just curious how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 writer relates to this article about how google manages its meetings...to me it seems highly bureaucratic, controlling and condescending. Not nearly cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 utopia one would expect....

12:38 PM, September 30, 2006  
Anonymous Anonymous said...

Agile seems more like a cult than a useful process to me. I mean, look at this page: http://www.agilemanifesto.org/

You've got to be kidding! Anyway this was an awesome blog to read. Thanks, Steve!

Keith C.

6:36 PM, September 30, 2006  
Blogger Clark Stanley said...

A successful software methodology (not new, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs have suggested it):

(1) Hire really smart people
(2) Set some basic direction/goals
(3) Get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hell out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way

In addition to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 steps about, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r key: RETENTION. This is basically cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "secret sauce" over at Google and a number of places. They've figured out that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above works, and everything else about how Google works revolves around RETENTION and ATTRACTION of talent. All cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 food, money, etc, is to make it attractive to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top performers to stick around.

How do you make developers want to work for you? Make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m believe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 things cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y hate most don't exist in your environment. I haven't worked at Google, and don't have any inside knowledge, but I do know its a publically traded company, and at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y day cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want to make a profit and make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 shareholders happy. Do I believe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y truly don't have deadlines? No, I don't. They don't have deadlines cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y tell developers about, but I bet cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have an idea of how long cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll let a project go along before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y kill it off. I also bet while it may be true that you can swap teams every ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r day if you want that it won't serve you well when it comes to bonus time.

Bottom line, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y've figured out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 3 steps about, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n built an internal economy that ensures:

(1) Bad projects die, and good projects complete
(2) Bad developers leave, and good ones never ever ever leave

I'd love for someone at Google to weigh in on this with internal insights. I can say cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 two things I've seen absolutely kill performance on teams is:

(1) Bad projects that just don't get killed. A company that keeps beating its head against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wall just because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't "quit". Stupid, insane, and bad business. Worst of all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good developers smell out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se failures waiting to happen and get frustrated beyond all hell when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project keeps running like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Energizer Bunny.

(2) Mediocre or bad developers lingering along because a company is unwilling, unable, or just completely clueless about performance management. Nothing will drive a project straight to hell faster than some below average performers. Not only do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y drag down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y drive cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top folks out of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 organization faster than anything. Sure, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are some people who "like" being cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 biggest fish in a very small pond, but most top performers like to be around ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r top performers.

Combine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 above two and you have a recipe that ensures you'll be looking for a silver bullet in any methodology anyone can come up with. Problem is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 only thing that really works is to solve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real problems. This leads me to a one-word silver bullet software methodology:

THINK

8:48 PM, September 30, 2006  
Blogger Samuel Cormier-Iijima said...

One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most interesting things I've read in a long time. I'm going to have to show this to all my friends studying Management. I've always thought that subject was pure BS, but this sheds some light on how Google works as well as it does. Thanks!

(I WANNA WORK AT GOOGLE! I WANNA WORK AT GOOGLE! HIRE ME!) :-)

12:48 AM, October 01, 2006  
Blogger Patrick's World said...

I have to agree with above comments.

First, Steve is very fortunate to have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opportunity to work at Google. It sounds like an amazing place.

Second: Google is very much an exception. Try finding VC firms willing to find this level of employee perks: some market leading VCs were for an exceptional opportunity, but it is not as simple as just saying "well, why don't cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of you morons do this".

Google has a very unique position and one that its backers were happy to fund. However, only a few can be cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world's leading search engine.

For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of us on commercial deadlines, we have to come up with processes that help get things done by a set date. That is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world works. As J.P.Morgan said "I don't want it perfect, I want it Thursday". Perfection is not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal. The goal is a solution that pretty well works ON TIME.

Your clients want to see regular progress reports and will not settle for "some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 finest people in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world are working on this".

So for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of us (and that would have been you Steve, were you not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 beneficiary of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 genius of Sergei and Larry), we do have to continually search for processes that work in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world.

For me, big M methodologies are a bit of a have. They do have some grains of usefulness in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y draw on accepted principles of RAD. I agree with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 analysis of how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y drove Agile into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate environment. When cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultants and courses arrive, you are being fleeced.

Software teams learn how to work togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n decide what mix of RAD principles work. They don't need to buy into a whole methodology.

Agile was a worthy thought - how projects can deal with change as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project continues. Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r great disapppointment though.

2:05 AM, October 01, 2006  
Blogger kirillkh said...

Hi Stevey,
I just want to say huge Thank You for this post, as it provides an outstanding presentation of thoughts that have been bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ring me for far too long now. Someone had to step out and say cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se things loud and clear. I am forwarding this link to my friends and my management.
Hail cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 incentive-based development!

5:40 AM, October 01, 2006  
Blogger Brett said...

Nice rant on Agile ... I disagree with most of your conclusions but I'll give you points for outlining a well written blog post.

Here is where I think you miss cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mark:

First, you make VERY BROAD generalizations about agile practices. Does what you describe happen? I'm sure it does. But that doesn't mean every development shop trying scrum or XP is layering a ton of crap in with it (in effect making it non-agile). I don't think you have anywhere near enough experience with non-google Agile to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 conclusions that you do. Itsounds liek you were in an agile shop that eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r didn't have management buy-in or where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tam wasn't allowed to be self-organizing.

Second, I'm very happy for you that you are happy working at Google. Google's products, for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most part, exist for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sole purpose of driving advertising revenue. There are exceptions such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google Search Appliance. I am guessing that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ongoing development of that product, with it's corporate customer base might be going a little differently cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 development for gmail. When someone is paying $$$ for something it is a different game. I'm sure senior management at google gets that. Eric Schmidt isn't stupid.

Third, it is easy to preach from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mountaintop with Google's $$$ war chest sitting next to you. I'm going to guess that Google's culture was not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same when it was in it's infancy. The culture you speak so fondly of evolved becuase Google's initial product (search engine) generated a ton of cash. The cash came first, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 culture evolved. That fact makes it difficult for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs to attempt to recreate Google's corporate operating philosophy (aka lets integrate our advertising into every consumer facing product we create). btw, that is a brilliant philosophy because it means that as new products get released, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y add volume to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 advertising engine. Well, except for stuff like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google Search Appliance. But since that technology is an off-shoot of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main search engine, any revenue from it is like a cherry on top of a sunday.

Fourth (and I'll stop at four), for all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 negatives you say about more 'traditional project management', you mention a whole number of things at Google that strike me as counter to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 free-wheeling environment you speak so lovingly of.

Anyway, congratulations on being happy at Google.

9:15 PM, October 01, 2006  
Blogger John Rusk said...

Steve,

Your comments about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 difficulty of scientific experiements are spot on. But I'd like to point out that one guy did try it. It took him 10 years, but eventually he did find meaningful corelations between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 successful teams.

The researcher was Alistair Cockburn. Now before you dismiss his work because you know him as an Agile "methodologist", let me point out that his agile views stem from is research (not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way round), that his work earned him a Ph.D, and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process he documented is not as dogmatic and "cult like" as ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r agile processes are (or appear to be).

I've posted a few details here

As an agile fan myself, I agree with many of your criticims of "Bad Agile", but still see a lot of value in it, particularly in Alistair's non-dogmatic style of agility.

2:10 AM, October 02, 2006  
Blogger Unknown said...

New and relevant Martin Fowler post on Agile Imposition.

Drifting around cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 web I've heard a few comments about agile methods being imposed on a development team by upper management. Imposing a process on a team is completely opposed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 principles of agile software, and has been since its inception.

Its easy to knock Agile, or anything else, when you clearly don't get it. I guess some people will write Martin off, given he was involved in drafting what you and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs deride as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kooky and cultish Agile Manifesto. Give me a break!

11:14 AM, October 02, 2006  
Blogger Amy Schwab said...

Great article on an exceptional corporate culture and on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 short-comings of Agile! As many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 commenters have mentioned, would that everyone worked in such a culture - and most don't. So what should someone do who works in a different type of culture?

Perhaps racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than simply (or, some might say, simple-mindedly) embrace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "latest greatest" silver bullet, consider an approach (no I didn't say methodology) that matches method to situation. I'll call that adaptive, and it happens at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 level between project and business - often referred to as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project management level but it doesn't look much like project management - perhaps project guidance strategies would be more appropriate.

Many of our friends, consultants in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XP and Agile community, have suggested that we promote our adaptive approach under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile umbrella - and, no doubt, we could lure many more clients into trying us out. But we shy away from that because it seems fundamentally dishonest. Plus, one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 natural outgrowths of our approach is to disqualify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 use of Agile methods where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y aren't appropriate eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 culture or to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nature of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project.

I also don't think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y really want us in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir midst if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y understood cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real implications. It appears to me that Agile consultants love cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 long term coaching engagements that keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m working. I hear many many stories of a consultant spending months with a client - in-house, making sure cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y adopt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 method 'appropriately' and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 organizational anti-bodies don't kill it in its infancy. I consider that creating a bubble-baby and not terribly agile. How about using a consultant for a few high value days (like 4) with a group, equipping cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't need cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 consultant anymore. Now that's what I consider real agility.

Oh yes, and this adaptive approach was distilled from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best practices of a slew of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 predecessors to Google in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 valley. Before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MBAs moved in.

11:28 AM, October 02, 2006  
Blogger Unknown said...

To summarize cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sentiment in most comments above:
"Wow, I'd really love to work in IR&D at Google! Unfortunately, I'm on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 assembly line at [not Google]. How does what you have to say impact me in any way?"

1:06 PM, October 02, 2006  
Blogger Unknown said...

The group I'm with at my company deals with internationalization. In that pursuit we are developing guidelines and rules about proper ways to code. So we have tools we are developing that we plan to load into developer workstations that will error/warn/inform when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have violated a rule.

I personally think it's pretty pacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365tic and patronizing and apt to be ignored and discarded. So I asked our architect how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y plan on ‘enforcing’ cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir usage.

His response was that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y where thinking up incentives. For example a coupon for a free ice cream when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 install this new ‘process improvement’ tool.

My life sucks.

5:18 AM, October 03, 2006  
Blogger BobF said...

Interesting rant. The main problem I've seen with A-gile methods has been documented by Khaled El Emam. Agile teams usually fail to do a good job on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 architecture -- and, when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do run into an architecture problem cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do not really do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 refactoring that Beck says cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y should.

The net result is that products of agile development teams have not endured for very long.

Of course, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are situations where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 architecture is 90+% predetermined. Most web apps fall into this space. In those situations cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are some successful projects and products.

If you are working on something that requires a truly new technology or super tight privacy or super tight security or super performance, etc., cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 off-cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365-shelf architecture is not sufficient. There are some wicked problems.

The challenge of wicked problems is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are usually solved by very, very small teams or a single person. It takes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m a while to do it. That phenomenon often breaks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rapid cycle.

Google's culture sounds interesting. I always had fun developing a few tools when I was young (I'm an old fart). I used to have to hide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time I spent on tools. However, several of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools proved to be useful to colleagues and eventually I became a development manager.

Then cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 challenge was to find ways to inspire ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs to develop tools and hide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir work from my bosses.

Good luck to you.

5:47 AM, October 03, 2006  
Blogger dp said...

This is just a fantastic article. Thanks so much for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 insight into a company that truly has it togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r and has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir "priorities" straight. I just wish more companies followed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir lead *sigh*

I'm infinitely curious as to what Google's internal "bug tracking/work priority" system LOOKS like. Web enabled? Ajaxy? Fun to use? Tag-based? Any details would be extremely interesting :)

8:52 AM, October 03, 2006  
Blogger Craig said...

awesome post, well written.

I myself, am always in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 position of not liking my industries flavor of coding framework.

But I myself just want to be a better programmer, and release better quality products.

But frequentally i have to clean up after ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r people's code, no real documentation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir application, and it takes many months of reading code to get a clue...

Then it's written in a framework that makes no sense for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 situation I am in...

I would love to be in a team programming environment, but that has never happened for me.

So I am cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sole/lone programmer, trying to improve efficiency, and quality...

It would really be nice if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re was more common sense and less fads...

9:37 AM, October 03, 2006  
Blogger SnoopDougieDoug said...

Dude,

There are so many holes in your diatribe it's not funny.

Have you actually worked on an agile project? Observing is not doing. Watching sausage being made is not making sausage. It looks disgusting from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 outside, but until you have DONE it yourself, you have no standing. Critics are a dime a dozen.

You also attempt to paint agile as bad since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are seminars that make grandiose claims. I'll bet you can find someone out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re who will grandly proclaim that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best way to create software is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google way. Oh wait, that's you.

Google is an anomaly. You have one data point, which a trend does not make. Who else has such a development environment? Not open source or grad school--cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y have zero compensation. Google does not have a "product" to sell. It is not in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software business, it is in advertising. Software is just a means to an end, which is to stuff more ad crap down people's throats (through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir eyeballs I guess).

Google has no concept of delivering a product to a market. You do not SELL any software, so who cares if it's late?

Google's added value is cool, on-line applications that drive advertising. What a boon for mankind. More ads in more places. Don't get me started.

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r flaw in your diatribe is your assertion that all agile development is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same. One of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 key tenants is that you get to pick and choose whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r your team wants to follow ANY of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tenants. Too much resistance to pair-programming? Fuhgetaboutit!

I suppose you don't see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 irony in that Google practices many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile methods. Short, focused meetings, prioritized tasks, and so on.

I just don't get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big rant thing about agile. Filtering out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unsubstantiated verbiage I come up with:

* Never tried it
* Don't like some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concepts and yet use some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 concepts
* Not interested in something I have never tried

Your whole blog entry reminds me of trying to get my daughter to eat broccoli. She had never tried it, but from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 look and smell she knew she would not like it. Never mind it has fiber, and vitamins, and so on. She had convinced herself that she would not like it and no amount of my logic was going to change her opinion.

So agile proponents sound like snake oil salesmen? Hah! Try selling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Google way and stand back and prepare to be bombarded.

9:40 AM, October 03, 2006  
Blogger robottaway said...

Steve, if Google's model has worked so well how come it is not in wide use? I am not trying to be sarcastic. Could you please write a book on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 inner workings of Google and what makes your company work :) I would like to read it! Then force my bosses to read it.

10:48 AM, October 03, 2006  
Blogger Dr. Zaius said...

Google's model is in use to some degree in all healthy and innovative companies. In most companies, after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 initial entrepreneurial wave, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 corporate folks start to join and exert influence over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 engineering dominated company. They create too many layers of management to try and control things, and before you know it, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are not many critical and contrarian thinkers left to innovate.

4:07 PM, October 03, 2006  
Blogger Unknown said...

The google model sounds great for a company that really has one product (SEARCH!) and a bunch of ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r independent products that can come to maturity at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own pace. Like anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r commenter mentioned, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software "methodology" at Google works only because of Google's particular business model, and that Business model is a very unique one.

9:13 PM, October 03, 2006  
Blogger gulli said...

What you are describing is definitely related to Lean Thinking and Lean Software Development, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 20% slack time for instance has a presedence in 3M R&D. I suggest you read up on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lean movement, e.g. Lean Thinking. Very intersting indeed.

1:03 AM, October 04, 2006  
Blogger vv said...

I saw a lot of critics saying "what you describe works because you have no strict deadline, what do you do when you DO have a deadline"?
Apparently, a lot of people did not read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rant carefully - cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "google process" is used for doing things "as fast as possible". So how do you do things "faster than possible"?
Using such a software process is not necessarely impractical for all but google - of course, it needs to be adapted to each particular company. For instance - he said that at google cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are rewarded for launching before end-of-quarter; so similarly you can have rewards (monetary or not) for "launching on time". If launch date is strictly correlated to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company income, make it correlated to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 develpment team's income, so that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y know that if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y fail and loose cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contract, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will actually loose money (i.e. cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will miss cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance of earning money).

2:20 AM, October 04, 2006  
Blogger ND said...

Could not have been more close description to what we experience with one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customers following A-gile.

2:33 AM, October 04, 2006  
Blogger Dr. Zaius said...

It's really an entrepreneurial model, not a Google model. It’s not really a process, it’s a mindset. A company has to buy into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mindset and also have individual leaders who understand development at an intimate level to appreciate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 advantages of agile working. The mindset basically managing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 unknown, not thinking you know it all. Most companies can’t deal with this ambiguity, adaptation, and uncertainty. They’re under an illusion that one can define up front what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer wants, right down to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 smallest User Interface elements. They spend enormous amounts of time thrashing over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se elements. They also build in functionality that when released is never used by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer. They ride cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wave of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entrepreneurs who created cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 product before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y arrived. A company can do this for awhile but eventually it will come home to roost and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will get disrupted by more agile competitors.

9:58 AM, October 04, 2006  
Blogger Unknown said...

We worked as a small team cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way you describe it happens at google back in '92 and produced a great piece of software which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days is called Microsoft Dynamics NAV. Racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than 10 people it now takes hundreds of people to make a new version. Yet cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y still haven't really changed what we made back cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n, I guess it still does cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 job.

7:29 PM, October 04, 2006  
Blogger GharNo1 said...

Hey Stevey, your original post says "Agile is bad, google is good". What is Agile is never answered...Also google does not have a client that has a business deadline, so it can afford to amble around and hit-an-try, but this is not possible for most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 non-product companies. Do you know that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are companies who excel in fixed-bid fixed-time projects?

11:01 PM, October 04, 2006  
Blogger Unknown said...

Neeraj, I think when it comes down to it, generalisations (including this article, excellent as it may be) are of limited value until you glean from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m what works and what doesn't work in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 context of whatever environment you operate in.

There are some things that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article doesn't address, such as what DO you do when your clients keep adding unreasonable requirements to projects that are already behind deadline? As cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 article suggests, this is one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 main motivating factors that led to agile developments in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first place. Whereas cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 'methodology' itself may be flawed, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 intention behind it is understandable and more importantly cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PROBLEMS it sought to address are still very real, immutable facts of daily life in any organisation that has to live with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 reality of 'deadlines' and thus can't be ignored.

What is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 alternative to SLDC/iterative development? Unfortunately this article doesn't cover this thoroughly. Yes, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole incentive for completion as a motivator is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, but that works for Google, it may not work for say a bank that really, really needs to fix a financial module thats leaking thousands of dollars by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 day. So really, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se articles serve as a useful start for beginning a thought process, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 answers should come from you and your own research, don't seek silver bullets but work to tailor ones of your own. That's one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 points of this article, I think.

3:22 AM, October 05, 2006  
Blogger Lexx said...

I was watching you blog for several months now, since I stumbled on great articles about Lisp (from your Amazon times). But ever since, it was getting worse and worse. This one is over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 top.
I hope cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comments will open your eyes. You just cannot afford such scheme outside of Google's financial wealth.
One thing that will get you more readers is attacking everything - from software methodologies to religions. Controversy will get you popular, for a time. Unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 audience quality dwindles rapidly in such cases.
Expect to get more and more people commenting on your blog and linking to you, togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r with less and less insight.

3:38 AM, October 05, 2006  
Blogger J.R. said...

Stevey,

Your biggest point seems to be that Google's business model ignores one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three variables of most systems engineering: schedule. You retain cost and performance, and get exceptional performance at an excruciating cost because your customer doesn't even know that a product is coming.

The downside of this is that you risk Segway-style failure: having no customer ahead of time, you risk coming up with a product for which no validated need exists.

With enough brilliant people left free to challenge each ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r's assumptions, you can have an Edisonian inventors' paradise. But at some point, you have to realize that you're playing a different game than everyone else.

The challenge of any systems engineering project is balancing cost, schedule, and performance. Agile, XP, and many fads pin down a schedule and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n suggest approaches to managing performance within cost. As long as Google can afford to ignore one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three variables, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can get as much performance as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want.

It doesn't mean cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir approaches are lame (although most management fads are). "Different" isn't "wrong" -- I would hope someone at Google would be intellectually agile enough to recognize that.

10:03 AM, October 05, 2006  
Blogger Unknown said...

Doug, you hit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nail on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 head...

Your whole blog entry reminds me of trying to get my daughter to eat broccoli. She had never tried it, but from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 look and smell she knew she would not like it. Never mind it has fiber, and vitamins, and so on. She had convinced herself that she would not like it and no amount of my logic was going to change her opinion.

I see why he changed his blog title from "Drunken" blog to "Whining" blog. He's regressed from eating too much free ice cream at Google, so like your daughter whining comes naturally.

To be fair to his readers and advertisers, I think "Stevey's Drunk (on Google Koolaid) and Whining Blog" best represents cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent content. I much preferred when Amazon stress drove him to real drink, and writing interesting things about Lisp and Emacs.

Listening to highly paid consultants will discolor any idea for hands on hackers. Stevey, stop listening to those hacks and get back to hacking. The top 'agile' people that I know spend most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir time coding cool stuff and solving interesting customer problems, not writing articles or speaking at conferences. They don't generally bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r trying to sell ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs on 'agile' because most people just won't get it -- and never will. One good programmer will always outcode 100 hacks in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 long run, no matter how good of a process or IDE you give cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

Get real and get back to your roots my good man!

10:57 AM, October 05, 2006  
Anonymous Anonymous said...

I like you for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same reason I like Simon Cowell. You both say exactly what I'm thinking!

Death to buzzword infection!

11:47 AM, October 06, 2006  
Blogger Blog Author said...

Hi Steve,

Would you by any chance be willing to chat about how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "pile of work" to do system works? I'd love to give that a try. Sounds like it would work for a professional investor as well. Do any non-proprietary pieces of software emulate it?

Happy to chat via phone, email, blog comment section, etc.

Thanks for an amazing post.

2:05 PM, October 06, 2006  
Blogger Ted M. Young said...

Your experience: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are managers, sort of, but most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m code at least half-time, making cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m more like tech leads.

My experience: one manager of mine never coded (and barely had enough time to see me once a month), and anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r manager of mine probably coded 25% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time, but never on my project.

Your experience: developers can switch teams and/or projects any time cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, no questions asked; just say cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 word and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 movers will show up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next day to put you in your new office with your new team.

My experience: Unless you were considered a "star", you couldn't switch teams until your manager gave cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 OK, and even cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n only if you were switching to a more important project. Maybe cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MTV office has more constrains than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Kirkland office, I dunno.

Your experience: Google has a philosophy of not ever telling developers what to work on, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y take it pretty seriously.

My experience: Huh? I was always told what to work on and given no choice in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 matter. In fact, I was moved off a project because it had too many engineers, not because I asked. Not that I asked to be on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first place.

Your experience: developers are strongly encouraged to spend 20% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir time (and I mean cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir M-F, 8-5 time, not weekends or personal time) working on whatever cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y want, as long as it's not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir main project.

My experience: Sure, as long as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 20% time didn't interfere with your main project, which, despite your experience, did have deadlines that were expected to be met. And, given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that after code reviews, slow unit tests, excruciating builds, etc., are done, you really don't have any time left unless you work until 9-10pm each day.

Your experience: cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week, including cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir 1:1 with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir lead.

My experience: Similar. However, you're expected to do much of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tasks normally assigned to a project manager, such as keeping on top of writers, UI folks, etc., to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir stuff done so you can write a design document, or finish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code, or fix a bug, or get QA to look at it. So yeah, not many meetings, but still a bunch of administrative overhead.

Sorry, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's a large part of software development at Google that is extremely frustrating, much more so than eBay where I worked before. What's worse, is most everyone I encountered knew this, but it's too large of a problem to fix in 20% time. Google needs fewer "smart people" and more people who know how to code and build Java software in an modular (dare I say OO) way.

You are indeed lucky that your experience is so different than mine. Enjoy!

5:41 PM, October 06, 2006  
Blogger Dave said...

This whole post was a joke wasn't it?

I don't mean that as a slam. I read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 whole "bad agile" and thought, "he's gotta be pokin' fun at something for some reason. Who'd even call his description of 'bad agile' Agile?"

I've had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 XP or not discussion a lot of times. The most memorable one I had was with a group of all senior level programmers who walked away from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 experiment convinced that it really was a faster way to program.

I was a lead programmer for a startup with two senior and two junior programmers (right out of college). I can tell you right now that if I had to manage that project again. We'd definitely do paired. Most kids right out of school don't have a clue and paired can give cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m that clue faster than any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r process I know.

5:52 AM, October 07, 2006  
Blogger Nicole Tedesco said...

The problem with most "methodologies" -- including Agile -- is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are best understood as a descriptions of what functional projects tend to look like. Good people, good teams, good incentives, good management and so on drive project dynamics in such ways that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dynamics can be best described by methods such as Agile. Just because I can describe a functional project however, doesn't necessarily mean that I can force a project to be functional. I can whip Agile on any team I want, but if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 mix of people stink or any one of a number of project-killing factors exist cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n all bets are off, Good Agile, Bad Agile or Ugly Agile.

Remember, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Poseidon missle project was one Hell of a successful very large scale software development project. Also remember that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Poseidon missle project was also a waterfall project. All conditions in many dimensions of project dynamics contributed to its success, not just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that it was a well-run waterfall method.

In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 end, a project's success is much more a function of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 quality of people up and down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire food chain.

12:57 PM, October 08, 2006  
Blogger stephan said...

Pair programming is invariably promoted by people using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 implicit threat that resistors aren't 'team players' with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 goal of imposing fucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r social coercion, in ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r words, just like high school.

5:46 AM, October 09, 2006  
Blogger Unknown said...

hobbittS1witty post steve.pity that some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people you have offended have such short attention spans...

perhaps that is why cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y like -ologies.

i started programming before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were any -ologies around. we designed and used our own METHODS for managing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 various aspects of software development. i still use method to keep me from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 madness of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 development environment.

methodologies came about because a) someone wanted to make some money and b) because managers wanted to find a quick way to make ineffectual developers into effective developers. get real! cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is no shortcut. you need a wide range of skills; you need to apply cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m diligently; you need to be creative; you need to share and be supportive; you need to communicate; i could go on.

10:31 AM, October 09, 2006  
Blogger Curtis Wayne said...

Interesting article- thanks for posting.

Google sounds like an elite R&D facility.

But most software developers are actuallly more like well-paid mechanics, not pioneering researchers.

To wit:
For most businesses, IT is a "utility" function- like cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 phone or janitorial service. Just something to build and keep a system running that allows cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to do cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir REAL job- selling cars, insurance, pork bellies, medical care, etc.

People look to engineers mostly to MAINTAIN systems, not reinvent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m- cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same way we look to our mechanics to keep our cars running, not re-engineer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m whenever we bring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m in for an oil change.

Do I want a mechanic who is an ARTIST at changing my oil, but can't guarantee (or even estimate) when my car will be ready? "The oil will be changed when it's changed, and not before."

No. There is a definite element of pragmatism and scheduling incumbent on most mechanics, just as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is on most software engineers.

For those mechanics (or mechanical engineers) that work at research labs, or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 R&D department of GM, perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y can spend years envisioning cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next generation model car; but those jobs are few (as is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 demand for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m).

For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of us:
PM and software development team methodologies in general exist (IMHO) to elevate less disciplined (and talented?) team members to a median standard. Unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 overhead involved in this also tends to lower cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 productivity of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team "superstars".

Most business have far more mediocre programmers than superstars, so for most orgs, adopting strict(er) development methods will, in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ory, at least, be a beneficial trade-off.

Even a small SWAT Team of superstar coders can be amazingly productive. Oh, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y get bored easily, too. So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y need fun and challenging projects coming down cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pike constantly- and/or oodles of money to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m around.

Businesses large and small walk a constant tight rope between attracting and keeping superstar coders, and keeping cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 business systems humming along without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tremendous upheaval of systems change.

People who are content to maintain insurance systems, for example, are probably not cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 world-class coders that Google attracts. But cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are needed, just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same. And some method(s) are needed to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 team pulling in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same direction to meet delivery schedules.

Most businesses just don't have revenue models like Google's, and that's OK. In fact, some (myself included) would say that Google's business model isn't very sound, relying almost exclusively on ad placement, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 recent purchase of YouTube.com (anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r no-money-maker) doesn't seem like it helps much.

So, who's to say that Google's vaunted relaxed and lavishly rewarded development cycle won't be one cause of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir undoing?

12:31 PM, October 10, 2006  
Blogger Unknown said...

I tend to agree that XP is a joke, and I find it hard to believe that any decent programmer would prefer cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pain of non-stop pair programming to independent work most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time. I think people who enjoy it aren't very productive, and would prefer to socialize.
However, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs have raised valid points about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 nature of Google's business and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs; dates are a hard fact that cannot be ignored. Google sounds great, but long term cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y will have to start actually producing in order to keep Wall Street interested and competitors away. Google's search results are extremely weak, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re's much less competition than during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 dot-com boom. At some point, Google may wake up and find anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r major player with better search results, and boom - suddenly time matters.
But your points are well taken, it does seem like Google tries hard to make a solid working culture.

1:41 PM, October 10, 2006  
Blogger Lisa said...

I'm curious, Stevey, as to how many projects using XP practices or ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r agile practices you have worked on?

9:43 AM, October 11, 2006  
Blogger Toenex said...

So dates and deadlines are a bad thing? I bet you still demand your pay by a certain date each month though.

3:15 AM, October 13, 2006  
Blogger Jon Collins said...

Most excellent post. Keep up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good work!

Jon
www.joncollins.net

6:34 AM, October 13, 2006  
Blogger Paul said...

Fantastic post Steve. I'm sure it ruffles some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile zealots feacá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs, but it's spot on.

7:28 AM, October 13, 2006  
Blogger Your Attorney said...

Excellent posting. It is amazing once you clear past all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rhetoric how basic right/wrong shines through everytime.

Thank You.

Lisa, Cerebral Palsy

4:10 AM, October 14, 2006  
Blogger Unknown said...

I've just came back from JAOO conference where Jeff Sucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rland claimed that development teams in Google were using SCRUM... bu that's not my point.

I am a consultant (shame on me) and my company is both mentoring customer development processes (and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer might be a banck, an insurace company as wee as a software house, this doesn't matter) and developing in house software . We can stick to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 customer development process, coach a new one or propose ours. My default choice looks like agile, but it's always a context driven trade-off.

Google environment looks shiny - and you have all of my genuine envy for working in such a paradise - but its model cannot be applied elsewhere. One reason above all: Google is well known for hiring cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best available people, which normally helps you deliver regardless of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process (that's cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same reason probably cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 first XP project succeeded...). If you have to deliver and take cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best from a given team, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n you'll need some sort of process. As a team leader I tend to be strong on code convention, bug tracking - sounds like your queue - integration and testing. Are cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se agile or not? I don't care. But really what you define as "bad agile" - that sounds scary to me too - looks like some West Point trainee, told to read cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 book and make it "cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rule".

This is clearly a misunderstanding, after all Agile folks are consultants - as you said - so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll never come up with a "rule" but only with some (brilliant) suggestions...

6:57 AM, October 15, 2006  
Blogger Unknown said...

Reading your blog makes it obvious that Google has made one critical error... cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y hired you for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software department instead of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 marketing department.

11:52 AM, October 17, 2006  
Blogger timshawn said...

http://www.joelonsoftware.com/articles/fog0000000024.html

Joel's take from a few years back.
I guess Google hires naked chefs!

2:31 PM, October 19, 2006  
Blogger johngf said...

Reading cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 comments I'm actually quite intrigued to work in a more Agile way now. I was unaware of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Manifesto or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 principles, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y do sort of reflect much of what I do anyway and I can see how becoming more agile could help. My main role is to support software that tests hardware, so most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time I have dates to work towards for new hardware, or have to give my own target dates for bug-fixes/yield enhancements. We don't have index cards, but most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 work I do is recorded in our bugzilla db. I meet with my manager and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people to whom I deliver software regularly and I make (sometimes) frequent, incremental releases corresponding to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 changes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y request.

Incidentally, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 project I enjoyed cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most recently was outside that format, but even though cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 person who requested cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software had been asking for it for months before my manager told me to do it, he has shown very little interest since I asked for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 requirements and he gave me a racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r simplistic flowchart. Yes it was frustrating working with a sparse spec and minimal customer input, but I got to do my own thing for a couple of weeks. Whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r that program is ever used, or is even useful, I may never know as I don't really want to see it again if my customer doesn't care about it. But at least I enjoyed work for a short time.

On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 agile manifesto, though, I would say that while working code is more important than documentation (because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code should do most of its own documentation), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 volume of documentation should be proportional to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 complexity of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software.

7:28 AM, October 20, 2006  
Blogger Arun said...

any company(well atleast good companies who would care abt thier employees) would like to keep cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 employees happy. perks is one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. but how do u do it? u reduce cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 salary little bit. thats what exactly google does. Im a fresh grad and have many friends in google as well as ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r major s/w companies. Atleast for fresh grads, in general cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 salary seemed to be a 5k less. Not that few thousands extra in salary is a big deal, but it gives room for perks. Imagine instead of giving Xk bonus every year to you, if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company gave u (x-1)k, but also a free round trip to a ski resort with stay. I think cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 expense for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company is same or maybe even less, but it seems cooler and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 human mind becomes happy with such perks and feels more valuable than 1k. Im not saying Google is paying less or tries to be evil applying this principle. Overall, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pay including cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 perks in Google might equal to just cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pay in any ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r biggies. Its definitley a wise choice as in overall you pay enough to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 employees(market value as MS,Y!,Oracle,Cisco I know of), but base is slightly less and load instead with perks like free food(which motivates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to stay longer or come early to have free breakfast/dinner) etc

4:57 PM, October 20, 2006  
Blogger Sid said...

I'm an undergard student almost done with college.

I'm also working on acad. project.

I couldn't agree with you more.

Just ditch talking about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BS and do it! Too bad cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 guys at Google figured that out before I did.

1:51 PM, October 22, 2006  
Blogger Horsey said...

I have a question. What happens in Super Happy Fun Land once you've made a couple of bad hires, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are many unproductive people running around?

Does everyone at Google pull cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir weight? And if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y don't, will cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir peer reviews reveal cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir lack of performance?

Will people continue to be productive when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company is 10 years old, and some decidedly poor performers have been rewarded because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are good at politics?

Organizations that are young have cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 advantage of very little history. Its easy to view Google as Happy Fun Land because you haven't got to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 point where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 skilled people-operators have infiltrated your structure.

Read about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way Intel and Sony used to be. Look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are now i.e. horrible bureaucracies. You know cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y used to be awesome engineering havens too. What went wrong? What went wrong is that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y lasted long enough to get heavily embedded with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 type of douchebags that don't make things, but who spend cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir time thinking about how to use human organizations for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own advancement.

It's inevitable. Eventually cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fairytale will end, and you'll have sweet-talking douches running wild up in your house too. The talents that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se people have are amazing. When used for good, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y make excellent sales people. When used for evil cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y upset cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 delicate structure of incentives in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company.

I've already know a few people from Google that I would never hire for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 start-up I'm at currently. Its not that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y aren't smart, because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are. It's that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are better interviewers than cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are producers.

And Google doesn't fire people or have lay-offs, even if you could identify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 organization. So good luck working with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se people for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next twenty years.

1:22 PM, October 24, 2006  
Blogger KrisSh said...

Back in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 early 90s, I was one of three developers in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Macintosh team at Sierra Online (remember Leisure Suit Larry?). We ported DOS games to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Mac - some ports would take a short ime, ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs would take a long time with lots of changes to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 interpreter. We didn't know what a process or a schedule was. We just worked as hard as we could to ship games. We shipped over 15 ports in 3 years, along cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way rewriting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Mac game engine, including cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 graphics engine, memory and resource managers, and parts of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 virtual machine. improving performance 8-fold, and seeing Mac revenues jump from < 2% to 8% of total company revenues as a result. We didn't work off specs, we didn't have a project manager. The reason no one bugged us for schedules or dates was that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y didn't care about a product line that accounted for less than 2% of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 company's revenues. Of course, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y sat up and took notice when sales started improving hugely. What was our incentive to make significant innovations and ship frequently? All three of us loved games, had a sense of pride in what we did, and felt we could make a difference. Every time I went to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stores, I could point at atleast 4-5 titles with my name in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 credits. What's more, Sierra had a great royalty-sharing scheme and for every box that sold, we would get a cut of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 revenue. I would get royalties equivalent to up to 20 - 25% of my salary every year. I do believe that if you have smart, motivated people who are left alone and given sufficient incentives, great things can be achieved on a consistent basis. Unfortunately, most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 software industry doesn't operate that way - not any more.

7:23 PM, October 25, 2006  

<< Home