I suppose the first place to start in writing this blog is to begin with an introduction, including; who is part of the team, what is the “release“ team, and why they are so important for shipping software.
At the 30,000 foot view, the release team is responsible for driving and delivering the right product on schedule.
The Developer Division Release Team has 6 members; Chris Dias, Mike McKay, Dan Conley, Jason Sutherland, James Bartlett, Scott Pigeon and Natalie Wells. Each are responsible for a variety of areas, few of which overlap. Here’s the quick and dirty of responsibilities for each:
Leader of the effort and driver of the Division. Chris constantly drives the Division forward towards a common set of goals. It is his job to define a clear set of goals and the path to achieving those goals. Chris communicates that vision to the teams as well as progress along the way. Finally, it is Chris’ responsibility to hold himself and the various product teams accountable for the commitments to delivering the right product on time.
Mastermind of the future: makes sure that we’re paying attention to the future in terms of planning not only the product, but also how we’ll improve our processes of building the next set of products as well.
Our resident “Rocker”. His CD collection stops at about 1991. His primary responsibility is actually releasing the bits to manufacturing (for CD/DVD media) and posting the web download packages to the download center or Windows Update. His busiest time usually starts after the division has signed off on the final build and started partying. When not in “ship mode” he works on “speedboats” (products and SKU’s that ship outside of the major release trains), Express SKU’s and driving and shipping the Community Tech Previews.
Mike handles much of the official responsibilities; such as divisional communications, project meetings, legal discussions…plus a whole lot more that would be a challenge to write in bullet format.
Is all things Yukon. The next release of Yukon, as many know, will depend on various Developer Division components; most notable being the .NET Framework. James’ is responsible for coordinating and ensuring a successful delivery of the .NET Framework into Yukon.
The only one on the team with an actual “release” title. In the simplest statement, Scott is responsible for the movement of the ‘bits’ thru the system. Scott manages the flow of code thru the division.
Is all things Windows. Much like Yukon, Windows is also leveraging the benefits of the .NET Framework. Jason (me) is responsible for coordinating and ensuring a successful delivery of the .NET Framework into Windows.
So, after a brief description of who we are, I would like to describe what it is we’re responsible for, which will lead to what it is we do.
Beyond deciding which features to deliver and how they’re implemented (feature team responsibilities), there are many, many more aspects of delivering great software. If you can imagine a division of a few thousand people all focused on delivering some really great products, you’ll quickly realize that there is an incredible need for coordination of these efforts.
· What are the efforts and what’s common to them all?
· What goals are being set for bug trends (downward, of course) and quality (upward)?
· What’s the schedule? And what are we doing to meet it?
· How do we know we’ve met all of our legal responsibilities?
· How we actually make sure that what we’re building is integrating well with other groups in the company (such as Yukon and Longhorn).
· How do teams know and understand the status of another?
· How do the “bits” get thru the build system and what’s the schedule for delivering features across teams (can you say “dependencies”)?
· When we’re done, how does the product actually get to manufacturing or onto the web for download?
· What about projects that are “out of band”? Meaning they don’t ship as part of Visual Studio or the .NET Framework itself, but are products of the Developer Division.
Defining these efforts, driving them to resolution, facilitating communication between teams and to entire divisions (think SQL, Developer, Windows, Office); these are all the responsibility of the Release team.
So, now that you’ve got a picture of what & who the release team does & is, we’ll start using this blog to give folks a better picture of just what “releasing” Visual Studio and the .NET Framework takes thru a variety of feature blogs and daily insights into the musing of release management.
I’ll be committing to providing various insight blogs throughout the course of the Whidbey project. I also plan to include various ‘feature’ blogs on some very valuable release type processes that we use and have developed to help Microsoft ship some pretty awesome developer tools and platform.