VS SDK July Sprint

We're still planning our July Sprint, but I wanted to share what the team is (to this point) going to be doing in the next few months to improve the VS SDK.

Remember, the VS SDK is the replacement for the VSIP SDK.  The idea is that eventually the VS SDK will be all-encompassing of the various SDK's that the Developer Division puts out here at Microsoft.

We've chosen Scrum as our project methodology in order to deliver SDK's more regularly and to be able to respond to customer input and adapt to changing requirements and requests our partners have.

So each segment of work is broken down into what is called a Sprint.  A Sprint is a month (or so) of calendar time and in each Sprint the team conducts everything that is necessary in order to ship a product.  Feature specfications, work breakdown, coding, testing, stabilizing, documentation all get accomplished in the Sprint so that at the end, the feature just delivered is 'shippable'.  This is a vast difference from the way we did things in the past where months and months would pass before anything was ready for public consumption.  We hope that employing this methodolgy will enable us to ship more often, engage with customers more meaningfully and increase partner satisfaction.

One of the things we'd like to do it create some "reference" samples.  Reference samples are samples that have improved quality over past VSIP SDK samples.  Reference samples are intended to show the "right" way to accomplish a certain task.  So, for packages, it would show the right way to implement IVsPackage, participate in Help/About, the Splash Screen and register for a Package Load Key.  Certainly there are a few ways to do these things, but the reference implementation would be the canonical implementation, resiliant, robust and fully explained.  Reference samples would come with the following:

  • Unit Tests
  • Overview Document
  • Documentation (in VS SDK doc content)
  • Complete Error Handling
  • Localizability
  • Accessibility
  • Comprehensive Comments
  • Scenario Tests
  • Adherence to coding standard
  • Architecture Diagram

So, what are we planning in the near term (next few Sprints):

For samples, we plan to produce reference samples in the following categories:

Splash Screen
Activity Log (stretch)
VS vs. .Net Service Provider (stretch)
Common CTC Flags
Common UI placement (menu, toolbar)
Modifiers (accelerators)
High-color artwork
Place command on common VS menu elements (toolbar/context menu)
Tool Window
Single Instance
Track Selection
Docking Context
Toolbar in Tool Window
Hosting - .Net user control
Keyboard & Accelerator Handling
Window Events
Gradients (stretch)
Auto-hide (stretch)

In addition to the above samples, we also need to do a bunch of infrasture work to get other teams on board and to make sure we are improving our engineering practices:

Help Integration SDK bits
Source Tree Structuring (for other teams)
Layout restructuring (for customers)
VC Property Sheets
Apply VC Property Sheets to samples and wizards
Turn off VSIP SKU Build
Retarget any existing samples to new build
Add MPF Project source to SDK
Change all Project related samples to SDK source
Publishing Tranparency (community)
Partner Team Interactions
SDK Roadmap thru Nov
SxS infrastruture testing
Enabling automated weeklies
Bug Bash
Tracing/Logging/Debugability in Sample Spec and Samples and Doc
Blog Each Sample
Sample Naming Pattern
Upgrad Wizards and Templates to Coding Std (& use new reference samples as templates)
Get RC files to compile under MSBuild

We'd love to get your feedback on our plans.  So please let me know what you think.