Sounds of Silence

I came back from the far east and got buried by email and meetings. Plus my stupid HP laptop is still stupid – now the both the built in wireless and the PCMCIA card slot are not working correctly so I can’t get on wireless. Amazing how quickly the ability to get online from anywhere in my house has become routine to the point where if I can’t get on wireless, I barely get online at all.

A couple of quick takes:

  • Keith blogged about giving BillG the third copy of Software Factories that came off the presses. When he came to present Software Factories to my team, he gave me copy number four. He and Jack even signed it. Cool!
  • Keith and Jack’s Software Factories presentation was a huge hit with my team. Our architects want their own copies of the book now. Pat even stole borrowed my signed copy to read over the weekend. I can’t wait to see the general response to this book.
  • I got the scores back from TechEd Malaysia and Beijing. Metropolis was the top architecture session of TechEd Malaysia and Data in SOA was the top architecture session and in the top ten of all sessions at TechEd Beijing. Gurpreet’s sessions also did very well. There are still a few worldwide TechEd’s left, but I think it’s safe to say that the new architecture track has been a big success. We’re already in planning for next year, so look out for us to build on that success.
  • I’m still pretty much at the “what good is this?” stage on WS-Transfer and WS-Enumeration. I can possibly see using WS-Enum and/or WS-Xfer’s Get action for retrieving reference data, though recent issues with RSS and bandwidth demonstrate the inefficiency of polling for changes. David Ing commented that WS-Xfer provides “semantic understanding” of actions. True, but at the cost of semantic understanding of the data. It’s much easier to change the name of the action that to change the schema of the message, yet WS-Xfer and WS-Enum’s operations are completely untyped. So I remain unconvinced of the value of these specifications.

Architecture Events

While I was in the far east last week, the Architecture and Design Events page of Architecture Center got updated. Thanks go to Lawrence, Richard and Mark – Architecture Center’s own three amigos if you will. Looks like the Software Factories guys are going to very busy, most of the upcoming events feature some type of presentation on factories, models or domain specific languages.

What’s cool about this list is that it features MS events like TechEd and PDC as well as non-MS events like OOPSLA, UML Conference and OOP. The only bad thing about this list is that I’d like it to be longer. Should there be more architecture-centric events or more architecture content at developer-centric events on this list?

Final Day of My Far East Trip

I said yesterday that the Metropolis session had gone very well. Got the score back – 7.71/9 speaker satisfaction and 7.83/9 content satisfaction. Not bad, esp. given that it was a translated session. Today, I presented Data in SOA, and I thought it well also. This time, I did it without the translator at the audience’s request. We’ll see how the scores come back. I thought it was encouraging that attendance at the architecture sessions steadily improved. Gurp’s session yesterday afternoon had more people than my Metropolis session and today’s session had more people still.

After the session, I spent some time answering questions. After Metropolis, there was one guy from China Mobile. This time, he was joined by two dozen other attendees. And again, Mr. China Mobile had some great questions that really made me think. He pointed out that often architecture is focused on the non-functional requirements of a system (perf, scale, reliability, etc) that are very technology platform dependent. As the platform evolves, the decisions made in implementing a system become obsolete, which makes it very hard to evolve a solution to take advantage of the improved platform. He’s right. The reason he’s right is that we don’t a good mechanism to capture the design decisions made during the development of a system, just the outcome. Software Factories can really help out here.

After the presentation and Q&A with the attendees, several of the speakers and I were treated to a trip to the Great Wall of China. One of the other speakers was Stan Lippman, whom I had never met. As for the Wall, what can I say but wow. We climbed for about two hours – glad I put on my sneakers! We reached at least a local summit, where there is a quote from a Mao poem stating that you can’t be a real man until you’ve climbed the Great Wall. Well, I guess that makes me a real man now. The wall is over 45 degrees in several places that we walked. I sure got a good workout today.

I’m exhausted, but I figure I can sleep on the 12 hours worth of plane ride I have tomorrow so I’m heading out (after a shower) to do a little shopping. I’ve had a great trip and met with some great people – both MSFT employees and customers alike – but I sure am looking forward to being home.

Metropolis in Beijing

So the Metropolis session went very well, even though it was being translated. We did what is called interactive translation – where I say a few sentences in English and then Quanzhan translated it into Chinese. It meant that we couldn’t cover as much material but we still made really good time – I did 52 slides (which is a significant reduction from the full 75 slides) in exactly an hour. The audience understood at least some of what I was saying – they laughed when I made a joke – but it really helped me to have the time to think about my next sentence while Quanzhan translated my last one. I was able to choose my words carefully in order to make sure the topics were covered as concisely as possible. I’m hoping the Data in SOA talk goes as well tomorrow. After I finish this entry, I have to working on cutting that presentation down to fit in an hour with translation.

After my presentation, I spent some time with an architect from China Mobile. I love conversations where a customer challenges me to codify my thinking – I learn from the customer as well as myself. He made a great point about architecting for an unknown future vs. engineering for the present. Sounds like a strong believer in YAGNI. While we were discussing SOA I was able to articulate something I knew but had never really expressed before. SOA is a means to an end, it’s not an end in and of itself. It’s a great way, but not the only way, to enable the flow of information across disparate systems. It’s also a great way, but not the only way, to enable more flexibility in the way we build systems. A key success metric for companies today is time-to-market. However, time-to-market usually refers to the time it takes to develop something the first time. In the future, I think the time-to-adapt will become even more important than time-to-market. Flexibility – you are gonna need it.

Stage 1 on New WS Specs

I’ll be honest, with a quick glance at WS-Enumeration and WS-Transfer I’m at what Don refers to as Stage 1. Especially WS-Transfer which appears at first glance to be CRUD for web services. Maarten talks about using CRUD only when you can afford it. My biggest issue with CRUD is that it assumes a trust relationship – that some other service is responsible for deciding when and how to CUD entities that I manage. I can’t imagine exposing an interface like that on any service I build.

But it is nice to see we’ve started publishing specs in easy to download PDF format.