Thursday, September 28, 2006

Google is not a software company

Very interesting Slashdot discussion (Good Agile — Development Without Deadlines) on Google's approach to software development. Steve Yegge, who works for Google, has written an extensive blog entry on how software development is done at Google. I didn't read the whole piece, but you get a good taste of it from the Slashdot intro:
"In a recent blog entry Steve Yegge, a developer at Google, writes a fascinating account of life at possibly the coolest development organization in the world. Steve lays out some of the software development practices that make Google work. Go on, say you are not even a little bit jealous. ;-)" From the article:

* Developers can switch teams and/or projects any time they want, no questions asked; just say the word and the movers will show up the next day to put you in your new office with your new team.
* There aren't very many meetings. I'd say an average developer attends perhaps 3 meetings a week.
* Google has a philosophy of not ever telling developers what to work on, and they take it pretty seriously.
* 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.

Yegge also does a fine job of skewering what the author calls "Bad Agile."
But what is the most interesting is the following comment (Just keeping the talent happy...), that I think hits the nail on the head:
"Google is not a software development firm, but an ad sales firm (check their 10-K if you have any doubts). It uses software to attract viewers in the same way television networks use programming and magazines use articles. Under this model, it makes sense to give developers a large amount of freedom to develop whatever they want. The final type/quality/status of the software doesn't matter nearly as much as the fact that there are new features appearing on the site from time to time to attract new viewers..er, users... and keep old users. Most of the applications probably won't amount to much, but just like with any media company, you only need one or two big hits a season to keep people coming back.

Google develops a large amount of its content in house in much the same way old movie studios developed all their films in house. For Google, the talent is not actors and directors but developers. Movie studios learned that you treat the talent well to keep them around and Google has taken that lesson to heart. Developers tend to want complete freedom to work on what they want with no deadlines and giving them this is the easiest way to keep them happy. Call it 'good agile development' or whatever else you want, it's really just keeping the talent happy in the hopes that they'll keep developing content to attract users.

Unfortunately, software companies that rely on software or service sales for revenue cannot take this extreme approach to agile development. They need to deliver software on occasion or someone else will replace them in the marketplace. Agile development is still the best way to go, but unbounded development only works if software isn't your primary source of revenue."
Google is the preferred destination for software developers today. College graduates scramble to make an impression at on-campus Google events. Developers struggle through rigorous interviews, just for a chance to work there. And why not? If you could develop in such a utopian environment? But is it a true test of agile development? I would agree with the comment. No. It is not, because it's not a representative software development team.

Imagine the college grad whose first job is at Google, who only knows software development like Google does it. Imagine that he/she has to leave Google and go to a real IT shop and actually answer to customer requirements and meet specified deadlines. Bit of a shock I suppose? ;)

Friday, September 15, 2006

Dying Aspens

I love aspens. They are one of the coolest things about living in the West. The shimmering sound they make as their leaves quake in the breeze is magic. They are also cool because of how they grow. They sprout suckers from these huge interconnected root systems, making aspen groves one of planet's largest organisims.

The mystery is, why are so many dying (Scientists Say Aspens Are Dying Out West)? My fear is that human activity may be to blame. Many of the theories suggested can be drawn back to man.
  • fungus - climate change may have made the stands more vulnerable.
  • drought - again climate change.
  • human interference with the natural cycle of forest fires.
  • resurgent herds of hungry elk nibbling saplings to death - caused by lack of their natural predator.

Sunday, September 10, 2006

Beginner Maya: Bouncing Ball


I am taking a 3D animation course this semester and learning to use Maya. I provide this exceedingly dull beginner animation as a benchmark. Hopefully as the semester progresses, you'll see some more exciting animations. :)