共用方式為


We've RI'ed!!!

We've RI'ed!

??  What on earth is he talking about ??

An RI is a "Reverse Integration".  The NT source system is built as a series of branches off of a main tree, and there are two sets of operations that occur - when a change is made to the trunk, the changes are "forward integrated" to be branches.  New feature development goes on in the branches, and when the feature is ready for "prime time", the work is "reverse integrated" back into the main tree, and those changes are subsequently forward integrated into the various other branches.

The primary reason for structure is to ensure that the trunk always has a high level of quality - the branches may be of varying quality levels, but the main trunk always remains defect free.

Well, yesterday afternoon, our feature RI'ed into the main multimedia branch, this is the first step towards having our code in the main Windows product (which should happen fairly soon).

When a feature is RI'ed into any of the main Windows branches, code has to go through a series of what are called "Quality Gates".  The quality gates are in place to ensure a consistent level of engineering quality across the product - among other things, it ensures that the feature has up-to-date test and development specifications, an accurate and complete threat model, that the tests for the feature have a certain level of code coverage.  There are a bunch of other gates beyond these, but they're related to internal processes that aren't relevant.

The quality gates may seem like a huge amount of bureaucracy to go through, and they can be difficult, but their purpose is really worthwhile - the quality gates are what ensures that no code is checked into the trunk that doesn't meet the quality bar for being a part of Windows.

Our team's been working on this feature (no, I can't say what it is, yet :() for over three years, it's been a truly heroic effort on the part of everyone involved, but especially on the part of the group's development leads, Noel Cross and Alper Selcuk, who were at work at 2AM every day for most of the past three weeks ensuring that all the I's were dotted and the T's were crossed.

This is SO cool.

Edit: Cut&Paste error led to typo in Noel's name

Comments

  • Anonymous
    February 01, 2005
    The comment has been removed

  • Anonymous
    February 01, 2005
    Zeta,
    I've tried to be extraordinarily tolerant of comments on my blog, I've only ever edited out three comments out of 2930. Please respect the forum and don't make it four.

    But I'll answer your comment, even though it's a troll. Our feature has nothing to do with DRM, or the Windows EULA.

  • Anonymous
    February 01, 2005
    I'll start the guessing:

    * Voice recognition app?

  • Anonymous
    February 01, 2005
    Interesting. I'm trying to figure out what kind of multimedia feature would take over 3 years to develop.

    I vaguely remember hearing something about an API that would make it significantly easier to develop games but I think that was more than 4 years ago.

    Trolls aside I'm glad it's not DRM.

    When can us mortals expect to see the fruits of your labor?

  • Anonymous
    February 01, 2005
    will this mystery feature ship with XP reloaded, or will it be part of longhorn? Enquiring minds want to know ;)

  • Anonymous
    February 01, 2005
    I hope you just didn't make DirectShow obsolete... I have been working with DirectShow and DirectSound on a product for a while now. :-)

  • Anonymous
    February 01, 2005
    Hmm - would this have something to do with Quality of Service for multimedia - guaranteed minimum bandwidth available for media playback?

    Probably not, actually, since that was announced as a Longhorn feature at PDC'03.

  • Anonymous
    February 01, 2005
    Let's see..

    Minh: No.
    Kristoffer: Sometime later - when it ships I'll write about it.
    Nate: XP Reloaded? What's that?
    Michael: DShow's not going to be obsolete.
    Mike: Not really.

  • Anonymous
    February 01, 2005
    So, what comes next? A different Longhorn feature? More of this one? Please explain as much as you can about the process in general and the cycles a team goes through. Personally, I'm hoping what you've finished is the per-app mixing that's been in various screenshots.

  • Anonymous
    February 01, 2005
    Anon: Right now, it's polishing the chrome on the feature (fixing the minor issues we missed in the RI), next comes new features. But none of the new features are as big as this one.

  • Anonymous
    February 01, 2005
    An excellent primer and explainer as to why the Windows development and build process works in the trunk/branch setup is in this PowerPoint. I always find matters of massive logisitics like this fascinating, personally.

    www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/Lucovsky.ppt

  • Anonymous
    February 01, 2005
    Retyped URL to make it clickable :)

    http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/Lucovsky.ppt
    Thanks Carmen, I hadn't realized that PPT was online.

  • Anonymous
    February 01, 2005
    The comment has been removed

  • Anonymous
    February 01, 2005
    The comment has been removed

  • Anonymous
    February 01, 2005
    I almost forgot about that per-app mixing stuff. Seems like a feature that's been a long time coming. Hopefully not too much longer =)

  • Anonymous
    February 01, 2005
    BTW, Happy Birthday :-)

  • Anonymous
    February 01, 2005
    The comment has been removed

  • Anonymous
    February 01, 2005
    so i guess this won't be going into the new Windows XP for Europe then :p

    Congrats Larry and everyone else, can't wait to find out more on what you've done

  • Anonymous
    February 01, 2005
    Mat: I actually know what XP Reloaded was - but from a development standpoint, it was a nonevent (which is a VERY good thing). I was being snarky in my response :)


  • Anonymous
    February 01, 2005
    Thanks Dear :)

  • Anonymous
    February 01, 2005
    What code managment system do you use? Visual Studio Team System? I read that Source Safe was pushed to the max during NT development.

    My guess for the multimedia feature? Maybe something like Tivo for your pc.

  • Anonymous
    February 01, 2005
    Check out MarkL's discussion in the PPT: http://www.usenix.org/events/usenix-win2000/invitedtalks/lucovsky_html/Lucovsky.ppt

    It describes our source code control system (SD) in some detail. We've never used VSS for Windows (for a number of reasons)

  • Anonymous
    February 01, 2005
    If you are doing threat thingys how about also doing UI thingys. Far more important.

    Even when a product team does something right it is removed in next version. Eg Word 6 added to the status bar help for an unavailable command the reason why it was unavailable. The feature
    1/ Didn't get picked up by any other team
    2/ Got removed in Word 8 (replaced by Shift + F1 - click greyed item)
    3/ I name drop - Tog (the MAC UI guy) agrees with me (talking about the Shift + F1 in email).

    "This is the wrong way to do it. The grayed-out item is otherwise unclickable. There's no reason to make people go through secret incantations to get the information. Just let them click for it or even "hover" for it."

    [I'm attempting to harrass IE UI developers to do some right things for a change]

    Another magor help/UI issue is the lack of help in dialog boxes. Clicking a ? then a field titled Filename to be told to enter a filename is not help. If I went to the trouble of clicking the ? then I want to know what filename does it want. I already knew it wanted a filename. There needs to be help about the dialog's purpose.

    The internet is wonderful. I read tog's books 10 years ago and this year I actually talk to him.

  • Anonymous
    February 01, 2005
    Whose birthday is it? Larry's?

  • Anonymous
    February 01, 2005
    Hmmm.. Larry has answered no to all suggestions except for the per-app mixing. Could it be this http://www.winsupersite.com/images/showcase/lh-winhec-01.png maybe?

    Anyways, congratulations to you and the rest of the team :)

    PS: Looking forward to read about it!

  • Anonymous
    February 01, 2005
    David, yup. It turns out that Microsoft turned 30 today, and I turned somewhat more than 30 :)

    Andreas, we did not RI per app mixing today.

  • Anonymous
    February 01, 2005
    Umm.. To be more clear: we did not RI per app mixing on Monday (just so people don't think I'm weaseling)

  • Anonymous
    February 01, 2005
    per-app mixing?!? Oooh I like!!

    >but the main trunk always remains defect free.

    Somehow that seems a little over optimistic. Congrats anyway, and I look forward to the insiders guide to this new feature. Any idea if it will make it into the XP x64 edition?

  • Anonymous
    February 01, 2005
    Tom, I just said we didn't RI per-app mixing.

    And keeping the main trunk defect free is the goal.

    Also, it's not good engineering to RI 3 years worth of work into a feature that's shipping in months - the x64 edition is supposed to ship in the 1st half of 2005.

  • Anonymous
    February 01, 2005
    The comment has been removed

  • Anonymous
    February 02, 2005
    The comment has been removed

  • Anonymous
    February 02, 2005
    Jeff, SCP's long dead, I'm 100% windows media and devices these days.

  • Anonymous
    February 02, 2005
    The comment has been removed

  • Anonymous
    February 02, 2005
    Jeff, it's got to do with multimedia on Windows, and I just can't answer what it is (or is not).

    A number of people guessing here have come close, and it's not worth more speculation.

    Any MS employees who care can send me email asking, but...

  • Anonymous
    February 02, 2005
    Oh I know you can't answer. I can only guess. Sometimes the guessing is more fun. I really doubt any of us other than you or your wife know all the things you have done to change our lives as well. In refering to your David Weise post.

    I am betting I could rattle off some API's to do with media or some dll's I have used in the past and somewhere in there is Larry's hands. Also somewhere in some API's I have used as well is Raymond's hands as well. But I highly doubt anywhere in there in the documentation on when I am looking up an api class library or method somewhere to use that I will ever see Larry's name, but I also know you worked with a team as well. So it is just fun to speculate when I hit something like that to think hmm Larry's code, beware the beard. ;-)

  • Anonymous
    February 04, 2005
    Is NT still a supported platform?

  • Anonymous
    February 04, 2005
    The PPT slides by Mark Lucovsky (who is also a distinguished engineer) discuss SourceDepot - Microsofts source control system. This is based on Perforce, which I believe Microsoft bought a license to the source code and modified the base Perforce product to more suit their style.

    Larry, it would make a great blog post to list the distinguished engineers and why they are distinguished. The most famous are Hejlsberg, Cutler and Gray - but the others aren't very well known outside of Microsoft.

    I may as well guess at the RI feature....Now, both lead devs have a history of developing audio products - so the feature must be related to audio in Longhorn. We're at the limit of what can be done with sound coming out of a computer - so I expect this must be a sound input system. Perhaps the ability to index movie files by performing speech recognition on the audio track and implementing an IFilter interface for Index server along the lines of Aurix.com?

  • Anonymous
    February 04, 2005
    I understand the issues with using VSS on such a large scale project as Windows. But out of curiousity would you move to the new Team System if you didn't have to worry about legacy issues of an existing source control system.

  • Anonymous
    February 04, 2005
    RichB: You can find some info about the DEs at this site http://www.microsoft.com/PressPass/exec/de/default.asp. Btw. Dave Cutler is the only Senior Distinguised Engineer in that list...

  • Anonymous
    February 05, 2005
    Larry, how do you figure Microsoft is 30? The archives I look at show it being established in April 1975. Just curious.

    Oh, and Happy Birthday :)

  • Anonymous
    February 16, 2005
    The track list for WinHEC 2005 came online today (http://www.microsoft.com/whdc/winhec/tracks2005/w05tracks.mspx). I am sure Larry is working on one of the things mentioned there! Maybe you can at least mention the broad topic, now that this is on the web anyway?

  • Anonymous
    February 16, 2005
    The track list for WinHEC 2005 came online today (http://www.microsoft.com/whdc/winhec/tracks2005/w05tracks.mspx). I am sure Larry is working on one of the things mentioned there! Maybe you can at least mention the broad topic, now that this is on the web anyway?

  • Anonymous
    February 16, 2005
    One of the tracks is focused almost entirely on our stuff :)

  • Anonymous
    February 13, 2006
    Microspeak.

  • Anonymous
    April 02, 2006
    Imagine a blog entry where I talk about my last few days before Beta 2.

  • Anonymous
    November 08, 2006
    I was working in building 50, the SCP project was clearly approaching it's end-of-life, and I was casting

  • Anonymous
    September 27, 2007
    PingBack from http://betterexplained.com/articles/a-visual-guide-to-version-control/

  • Anonymous
    August 21, 2008
    PingBack from http://www.softwaretesting.clickwing.com/2005/10/18/new-vs-baselined-tests/

  • Anonymous
    September 04, 2008
    Understanding Source Control I - A Visual Guide to Version Control

  • Anonymous
    May 29, 2009
    PingBack from http://paidsurveyshub.info/story.php?title=larry-osterman-s-weblog-we-ve-ri-ed

  • Anonymous
    May 31, 2009
    PingBack from http://woodtvstand.info/story.php?id=1477

  • Anonymous
    June 08, 2009
    PingBack from http://toenailfungusite.info/story.php?id=1429

  • Anonymous
    June 15, 2009
    PingBack from http://einternetmarketingtools.info/story.php?id=13489

  • Anonymous
    June 18, 2009
    PingBack from http://thestoragebench.info/story.php?id=4914