This week I've got something special to share with you - an interview with Peter Provost. Peter was formerly a developer and development manager at Microsoft Patterns & Practices. He's currently a Senior Program Manager working on the next version of the Visual Studio Team System Architecture Edition. This team has been doing some amazing new things that I want other Architects to know about. In fact, Peter's recently been seen showing off the new UML modeling capabilities of Architect Edition. Microsoft doing UML? Yes! Finally! I thought it would be great to get in touch with Peter to get to know him better and glean some insight into what's going on with his team.
Clint: Can you tell us little about yourself?
Peter: I grew up moving around the world. My dad was in the oil business and we moved every three or four years. By the time I was graduating high school, we were in Denver, Colorado and I knew I wanted to stay in Colorado so I chose CSU in Ft. Collins. College was fun… sometimes too fun… as I tried to figure out what I wanted to study. I’d been programming since I was 10 years old, but didn’t want to mix hobbies and career so I tried a bunch of majors before dropping out and moving to Edmonton for a “time to grow up” break. After a year I returned to the scene of my crime, switched to Comp Sci and graduated in 18 months. After college I spent thirteen years in Denver doing consulting and working in a couple of startups. Along the way I got involved in the Agile Development scene, where I met Jim Newkirk. At an MVP dinner in Seattle, he and Scott Densmore pitched the idea of me joining patterns and practices, and the rest, as they say, is history.
Clint: What attracted you to the Visual Studio team?
Peter: I’ve always had an affinity to developer tooling. Early in my career I was that guy who would write a tool the second time I hit a manual problem. I still do that today. Any time I find something that hurts, I’ll do it once, maybe twice, but then I need to make it go away. Visual Studio is the best tool there is for .NET development and when the time came for me to move on from patterns & practices, it was the first place I looked. The Architecture Edition of VSTS attracted me in particular for two reasons. First, the team is great. They really want to be more agile and the culture is very good. Second, and this is a bit controversial in some agile circles, I think there is a lot of opportunity for architectural tooling in agile development. Most agilists run from this idea because they assume that architectural tooling is about Model Driven Development (which they would call Big Design Up Front) but I don’t think that has to be the case. So I’m here to try to help bring that vision to reality.
Clint: What can you tell us about the architecture of Visual Studio and/or VSTS?
Peter: I could tell you, but then I’d have to kill you. <grin> Seriously, though, Visual Studio is the biggest project I’ve ever worked on. It is probably one of the biggest projects in the world, behind Windows and Office. A lot of people ask “why does an IDE need to be this big?”, but they forget about all the things VS, VSTS and TFS do: Unmanaged, Managed, Multi-targeting, Refactoring, Web Services, Web/Windows/Mobile/WPF/Silverlight client frameworks, Testing/Static Analysis/Code Coverage/etc, Version Control, Work Item Tracking, Reporting, Office Integration, Office Application Development, etc., etc. The list just goes on and on. And of course, the most important feature in all of VS: Intellicrack. J
As for the architecture of VS and VSTS, it is a modular application. The core is the shell with core services and then almost everything else is a package or an addon that plugs into the shell. All of this is publicly available through the VS SDK. All we do in VSTS is build on that like everyone else does.
Clint: What features are you’re working on in Rosario that you think will have the biggest impact?
Peter: I’m working in the VSTS Architecture Edition and I think our whole product is primed to make a big splash when we release Rosario. We’ve already been showing all of our UML support in our CTPs and we’ve also been showing off our Architecture Explorer, which lets you do amazing analysis and discovery of existing solutions and/or binaries. Customers can get a preview of this now in the April 2008 CTP which is available for free download.
Clint: What’s your favorite feature in Rosario?
Peter: It is hard to pick a favorite. I really like the Architecture Explorer. I think people are going to find that immensely valuable. I also love all the work we’re doing in the modeling space. People need to be able to discuss and describe their designs, intents and other components in their problem domains and solutions visually, and we’re enabling that.
Clint: What should architects be doing now to prepare themselves for Rosario?
Peter: Just keep doing your job and let us know where you feel pain points. We’re excited about what we’re doing right now and so far customer feedback is telling us that we’re going the right direction. But we always need to hear from the people who use our products so we can make them better.
Clint: Where do you see the Architect edition headed in future releases?
Peter: We will continue to balance UML for logical and conceptual modeling and DSL based approaches for physical modeling and design. Post-Rosario I can’t really say what we’ll be doing, because I’m not sure we’ve decided yet. :)
Clint: Thanks again, Peter for taking the time to give us a glimpse into what's going on back in Redmond.
You can learn more about Peter through his site and blog at Geek Noise...Rants, rambles, news and notes.