Last week I was off boondoggling at PDC 2008. Most of the sessions I attended were really informative, intriguing, or at least entertaining. Here are the highlights...
1. Pre-conference session on Agile Perspectives: this was a good refresher for me on agile and lean practices and some discussion from Mary and John Poppendieck along with the Microsoft P&P team. Nothing earth-shattering here. And, I still get the feeling that much of Microsoft doesn't yet practice Agile methods, though it seem that more and more product teams - on the order of a few thousand people, are. That's good news.
2. Day One - Big news from Ray Ozzie is Windows Azure : the "Windows in the cloud" platform for hosting services, web based applications, and a variety of Microsoft provided things for connecting up apps and services that aren't hosted in the cloud. I went to several sessions on the Azure architecture and saw how the physical machines are managed, how messages flow through the network, how apps an services are administered. This has to be the most impacting thing from PDC this year. Attendees got to sign up for development accounts so you can build and host your own services or use ".NET Services" in the could to communicate between your apps and partner services.
3. Visual Studio Team System 2010: There are some great new diagrams in the Arch and Dev team editions - most of the useful UML 2.x diagrams like Class, Sequence, Use Case, Activity, and a couple of others. Also, an Architecture Explorer mode gives the ability to drill into assemblies, namespaces, and classes and then surf around their dependency links and drill in for more detail. This is very cool for unraveling those "big ball of mud" architectures, as Peter Provost put it.
4. Parallel Programming in .NET 4.0 with Daniel Moth: .NET 4.0 is (going to be) enhanced with a set of classes wrapping the ThreadPool to give us simple task creation and synchronization and optimal execution using one thread per core in a multi-core or multi-proc environment. Having been frustrated for a while the the ThreadPool class, this is a very nice addition. And they use a provider model for scheduling if you want to get down in the details.
5. Most cool to me, and apparently to many session attendees by it's #1 session ranking, was The Future of C# by Anders Hijlsberg: I went to the replay of this session and it was packed. C#4.0 brings together the CLR and DLR with a new keyword dynamic to give us dynamic typing, which is super useful for COM-interop and other fun stuff.
My best experience, and the thing that really made the trip to LA & PDC worthwhile, was not a session at all, but the networking opportunities. And of all the relationships we developed and strengthened, the culminating event was getting invited to a relatively exclusive breakfast with the Visual Studio Team System product team leads. We talked about the future of the product, how they are planning to package it, what areas they need most feedback on, and partnering opportunities. And, the marketing team was gracious enough to grant a full Team Suite license to Improving to give away at our upcoming AgileDotNet Conference. Most of the other session info you can get online at www.MicrosoftPDC.com, but opportunities like that are hard to come by.