Software Factories Coming Soon

Now that Tech·Ed is over, I’ve got some time for things like playing Xbox, yard work and reading. I just finished The Footsteps of God (not bad, but not great – fine for airplane reading below 10,000 feet and after my battery died). On the technical side, I’ve been rereading ATL Internals for a COM based coding project I’m working on in my nearly-non-existent spare time. I also just started Software Factories by Keith Short and Jack Greenfield (with contributions by Steve Cook and Stuart Kent). Keith and Jack are architects in the Visual Studio Enterprise Tools Group. They are responsible for driving Microsoft’s model based development tools initiative and are heavily involved in the creation of the Whitehorse tools. Software Factories isn’t available yet – access to an early electronic copy is one of the perks of knowing the authors and having one of them speak as part of my Tech·Ed track.

Software Factories is about approaching application development with an industrialized manufacturing mindset, rather than the hand-crafted mindset we have today. It’s interesting how well this dovetails with Pat’s Metropolis work – both draw parallels to and learn from the Industrial Revolution. To quote from the website:

The industry continues to hand-stitch applications distributed over multiple platforms housed by multiple businesses located around the planet, automating business processes like health insurance claim processing and international currency arbitrage, using strings, integers and line by line conditional logic. Most developers build every application as though it is the first of its kind anywhere.

Without significant changes in our methods and practices, global demand for software development and maintenance will vastly exceed the pace at which the industry can deliver in the very near future.

Scaling up to much higher levels of productivity will require the ability to rapidly configure, adapt and assemble independently developed, self describing, location independent components to produce families of similar but distinct systems. It will require a transition from craftsmanship to manufacturing like the ones we have seen in other industries, and will eventually produce more advanced earmarks of industrialization, such as supply chains, value chain integration and mass customization.

We must synthesize…key innovations in software development…into a cohesive approach to software development that can learn from the best patterns of industrialized manufacturing.

This is what we mean by Software Factories. The industrialization of software development.

The book is fascinating, and I only just got started. The book should be available soon. Going forward, you can expect coverage on Architecture Center, as well as the official Software Factories website. In the meantime, keep an eye on Keith’s blog, check out this piece from the Architecture Center Update as well as this article on domain-specific languages, and watch Keith’s session from The Architecture Strategy Series.

Xbox Live on MSN Messenger

I’ve been playing a bunch of Rallisport Challenge 2 since I got back from Tech·Ed. I haven’t seen many of my Xbox friends online when I’ve been online, but I just setup the MSN Messenger / Xbox Live integration. Cool idea, but none of my friends are online right now, so there’s not really anything to see, yet.

On a similar note, Cory (who provided my Xbox Live Flair) has an app called Xbox Friends where you can see your friends playing habits in addition to their current status. For those who don’t have it, I can save you the bother of installing it to find out my habits – all Rallisport Challenge 2 all the time!

Update: I also signed up for Xbox Live Alerts as well. This isn’t as useful as there are a wide variety of alerts types and I have to have one delivery profile for all of them. I want to be notified in email if there is new downloads, but on MSN Messenger if a friend logs in. This appears to be an MSN Alerts wide issue – alert settings are per alert provider, not per alert type. Not very useful to be notified in email that a friend was online…yesterday.

Intro to VSTS

One of the big announcements at Tech·Ed was the Visual Studio Team System, a set of lifecycle management tools for architects, developers, project managers and testers. Check out this episode of MSDN TV introducing the Team System that was shot at Tech·Ed.

Thoughts on Prisoner of Azkaban

My wife and I saw the latest Harry Potter movie over the weekend. It’s my favorite so far. I’m not sure if it was the new director, or just the fact that this book was longer than the first two, but I thought this movie spent far less time on stuff from the book that wasn’t relevant to the story. I took a film class back in high school, and the teacher explained that every scene in a movie has to do one of three things.

  1. Advance the plot
  2. Advance the character
  3. Get a laugh

I amended rule #3 to be “Get a reaction” since there are often scenes in a horror or thriller movie that are there just to scare you. The first two Harry Potter movies seemed to spend a significant amount of screen time on getting the reaction: “I remember that from the book”. For example, in the last movie, when Harry and Ron drink a potion to transform into Malfoy’s two henchmen (henchboys?) , Hermione accidentally transforms herself into a cat. The only reason that scene is in the movie is because it’s in the book. Not having Hermione doesn’t affect Harry and Ron’s mission (i.e. it didn’t advance the plot) nor was there any fallout or change to Hermione in later scenes (i.e. it didn’t advance the character). It doesn’t even get a laugh. Given the Harry Potter movies are around 2 1/2 hours long each, there’s no excuse for extraneous scenes like this.

Kill Bill Vol 2, Troy, Shrek 2 and Harry Potter so far with Spider-Man 2 and King Arthur on the horizon. Sure we’ve had Van Helsing and The Day After Tomorrow, but so far the summer movie season is looking good.

What’s the Opposite of “Giant Sucking Sound”?

A while ago, Chris spouted on the then-trend of all of his friends coming to work for MSFT. He himself joined up six month after writing that entry. Now, there seem to be a bunch of new consulting companies sprouting up. ThinkTecture, PluralSight (thanks for the shirt Keith!), Barracuda.NET and Wangdera just to name a few. Most of these seem to feature DevelopMentor alumni. Will we see newly-minted MSFT alumni join this trend? I know one – my friend Jeff left MSFT to start his own consulting firm Secure Justice Solutions, focusing on integrated justice information systems. One isn’t a trend, but it’s interesting to watch as the economy slowly improves.

Note, unlike Chris, who observed a trend only to become a part of it a few short months later, we won’t be seeing any “DevHawk Consulting” nonsense around here. I’m having *way* too much fun doing what I’m doing w/ Architecture Strategy. Besides, I get to torment work with Pat.

Update: In the comments, Avery pointed out that Rob Howard has left MSFT to create a company called »telligent systems.