There was an interesting session at OOPSLA yesterday called "Second Life: The World's Biggest Programming Environment" by Jim Purbrick and Mark Lentczner, that covered two main topics.
The first part of the talk was mainly about the popularity of LSL (15% of Second Life users write scripts!), and the effort to move LSL to .NET and Mono, and also to enable other .NET languages like C# to be used to build Second Life scripts. This is very cool!
The second part covered how the LSL team uses Second Life as a communication and collaboration tool for their own software development. Since I had just blogged a few days earlier musing about unified communication for developers, this definitely caught my interest. Linden Lab folks have made what we at MS would call a dogfooding commitment -- all meetings are done in Second Life. The LSL folks use an interesting combination of tools for their collaborative development work, including Second Life features:
As an example, code reviews are done using a combination of Second Life (e.g., audio) and non-SL tools (e.g., screen sharing).
Software development is a social endeavor, and I expect more and more experimentation with social tools and environments like Second Life as part of developers' toolkits.