Coffeehouse Thread

40 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

WSJ on Longhorn engineering processes

Back to Forum: Coffeehouse
  • User profile image
    BruceMorgan

    I recommend reading this article in the WSJ Online, about the engineering changes we've done for Windows Vista.

    It covers the Longhorn reset last summer, when we reset with WS03 SP1 code, the layer map, and quality gate process.  It's little wording and non-technical, but gives an interesting background on personalities.

    And it's essentially accurate, unlike so many articles about MS engineering practices.

  • User profile image
    Larry​Osterman

    BruceMorgan wrote:

    I recommend reading this article in the WSJ Online, about the engineering changes we've done for Windows Vista.

    It covers the Longhorn reset last summer, when we reset with WS03 SP1 code, the layer map, and quality gate process.  It's little wording and non-technical, but gives an interesting background on personalities.

    And it's essentially accurate, unlike so many articles about MS engineering practices.



    I blogged about layer court last month here, it was an eye opener.

    Humorously enough (ok, I think it's humorous), I had lunch in the same restaraunt as they did today.  And I'm discussing how to design my new feature with them to make sure they're happy.

  • User profile image
    stgeorge

    "On July 27, Microsoft shipped the beta of Longhorn -- now named Windows Vista -- to 500,000 customers for testing. Experience had told the Windows team to expect tens of thousands of reported problems from customers. Instead, there were a couple thousand problem reports, says Mr. Rana, the team member."

    This is total BS. How can people report bugs when Beta 1 of Vista was just Windows XP with a new skin? Get real man! Beta 1 of Windows XP had a lot more functionality built into it. Beta 1 of Windows 2000 was a revolution! Beta 1 of Vista was a joke!

    And oh, here's a bug for you. Vista STILL doesn't work with SATA RAID. When are you all planning on fixing that?

  • User profile image
    Cider

    That's a really interesting article.  Confirms a lot about Longhorn, the start-over and all I understood about it.

    I certainly wasn't aware of the effect of Amitabh Srivastava, though.

    I have been trying Vista beta 2 on my Tecra M4 Tablet PC over the last few days and, boy oh boy, its so much better than any other beta OS I've tried.  Hell, I'd argue the core OS is as good now as the XP and 2000 release versions, excepting the still-poor driver set (wah, can't get Aero Glass to work even though card is DX9, and audio drivers don't work, and other probs).  I've yet to try it in a AD, but that's more because I'm scared the domain will scream "Windows NT 6.0!  WTF!" and die on me....

    Need to keep up the good work, and Bruce, PLEASE implement something better than that Internet Explorer Maintenance wizard in Group Policy...its horrific.

    Shame the article had little drawings of Jim and Amitabh, but not Brian in a pink tutu though.

  • User profile image
    Larry​Osterman

    stgeorge wrote:
    "On July 27, Microsoft shipped the beta of Longhorn -- now named Windows Vista -- to 500,000 customers for testing. Experience had told the Windows team to expect tens of thousands of reported problems from customers. Instead, there were a couple thousand problem reports, says Mr. Rana, the team member."

    This is total BS. How can people report bugs when Beta 1 of Vista was just Windows XP with a new skin? Get real man! Beta 1 of Windows XP had a lot more functionality built into it. Beta 1 of Windows 2000 was a revolution! Beta 1 of Vista was a joke!

    And oh, here's a bug for you. Vista STILL doesn't work with SATA RAID. When are you all planning on fixing that?


    *** do not feed the trolls ***
    *** do not feed the trolls ***
    *** do not feed the trolls ***
    *** do not feed the trolls ***

    Oh what the heck...

    Ok, you're right - it was just XP with a skin over it.  Oh, and a totally rewritten audio stack.  And a totally rewritten networking stack.  And a totally rewritten display driver stack.  And literally thousands and thousands of new features.

    But none of that counts, it's just smoke and mirrors.

  • User profile image
    stgeorge

    Larry, please correct me if I'm wrong but, with the exception of LDDM, ***Beta 1*** did not ship with any of the things you mentioned. Therefore, how can people be expected to file bugs on things not given to them? Not even 5219 contains a few of the things you mentioned (like the rewritten network stack). Every report I've read has said to wait for Beta 2 for the "good stuff". Therefore, what I said was correct, and you must be mistaken, but I can understand because Microsoft tests internally with versions far beyond what is given out for beta or public preview and it is difficult to keep track of what is given out months ago versus what you may have installed on your work PC. Correct?

  • User profile image
    Karim

    stgeorge wrote:
    Larry, please correct me if I'm wrong but, with the exception of LDDM, ***Beta 1*** did not ship with any of the things you mentioned.


    Well how the hell could it, wiseguy?  Every IDIOT knows that Beta 1 was just Windows XP with a new skin!

    You know, the REAL St. George did not slay the dragon by haranguing it to death about SATA RAID.  FYI.

  • User profile image
    JChung2006

    I like the way the process sounds.  Most programmers I know think of themselves as programming gods incapable of making any mistakes except perhaps in situations of extreme duress.  We need to approach the code we write differently and assume that it is incorrect and then disprove that hypothesis.

    Code should be "guilty until proven innocent," not vice versa.

    That was an interesting article.  Thanks for the link!

  • User profile image
    Tom Servo

    Karim wrote:
    Well how the hell could it, wiseguy?  Every IDIOT knows that Beta 1 was just Windows XP with a new skin!

    Now that's clever word play.

    And to stgeorge: As far as I know, the new audio and network stacks ARE in beta 1 and 5219. Do you know why? BECAUSE I FILED FVCKING BUGS ON IT BECAUSE THEY RUIN MY PARADE EACH TIME! Now go die in a corner. God, I hate these retards.

  • User profile image
    eagle

    Bruce, have you done time in bug-jail?

    Do they let you play XBOX games in there?

  • User profile image
    Larry​Osterman

    stgeorge wrote:
    Larry, please correct me if I'm wrong but, with the exception of LDDM, ***Beta 1*** did not ship with any of the things you mentioned. Therefore, how can people be expected to file bugs on things not given to them? Not even 5219 contains a few of the things you mentioned (like the rewritten network stack). Every report I've read has said to wait for Beta 2 for the "good stuff". Therefore, what I said was correct, and you must be mistaken, but I can understand because Microsoft tests internally with versions far beyond what is given out for beta or public preview and it is difficult to keep track of what is given out months ago versus what you may have installed on your work PC. Correct?


    I was very careful to include features that I KNEW were in Beta1.

  • User profile image
    jkipk

    I found this article independently, and it was indeed and interesting read.  I've noticed a little trepidition about talking much smack about the quality gates (as if even saying anything bad about them might land one in "jail"), but it was noticable that while most agree now that the gates are working and a good thing, they weren't the most popular new idea to arrive at MS.

    It's also interesting that Gates comes across as a proponent of new features (vs. clean code), and argued for just patching up Vista and getting it out the door when it was ready.  He really had to be convinced that a rewrite with cleaner, more secure code was the way to go.

    Jim Allchin has been through a lot in the last couple of years, understandable that he wants to go play guitar.  Seems as though he should be emerging from this as the hero, though, and I'm not sure that's the case

  • User profile image
    Andre Da Costa

    Tom Servo wrote:
    Karim wrote: Well how the hell could it, wiseguy?  Every IDIOT knows that Beta 1 was just Windows XP with a new skin!

    Now that's clever word play.

    And to stgeorge: As far as I know, the new audio and network stacks ARE in beta 1 and 5219. Do you know why? BECAUSE I FILED FVCKING BUGS ON IT BECAUSE THEY RUIN MY PARADE EACH TIME! Now go die in a corner. God, I hate these retards.


    Would those be pops, hissing and skipping in songs?

  • User profile image
    BruceMorgan

    eagle wrote:
    Bruce, have you done time in bug-jail?

    Do they let you play XBOX games in there?
    We play PC based Halo on the IE team Smiley

    And my team doesn't usually have bug jail.  Let me explain:

    The quality gates allow for a certain number of open bugs to be carried by a team, based on their number of developers.   If your team is passed that number, you can't RI.  In other words, your product / feature / feature set is deemed "too buggy" to be moved up the branch tree into WinMain.  

    The purpose behind this fixed number ("bug cap") is to prevent a team from working for a long time on features without fixing bugs, until an unsolvably huge pile of bugs have been pushed forward month after month.   Or at least unsolvable without a death march + slip + minor miracle at the endgame (hmmm, been there, done that, don't like it).

    A team is required to meet that number when the team wants to RI.  You can exceed that number all you want, but you have to be under bug cap to RI.  And you have to RI your features according to the master schedule - no working off to the side in your own little off-the-books world and unveiling everything in one massive RI.

    In practice, that means you have to be pretty near bug cap all that time, or you'll have a mess to solve come RI time, and maybe you'll solve it and maybe you won't, and that will be even a worse mess.

    One way to stay near bug cap is to not let devs exceed it, ever - that's bug jail.  If a dev has too many bugs, then he/she can't work on other stuff and has to go fix those bugs until he/she is back under their allotment.  Some teams do it that way.

    Another way is the more traditional "code the first part of the milestone, fix bugs the end, plan to get under bug cap in front of the RI" approach.  My UX team does it this way.  It's riskier, because the trick is calculating when to switch from coding to fixing, how many features to implement, predicting your glidepath to RI, etc.  We have lots of glidepath discussions ...

  • User profile image
    jonathanh

    To explain some Microsoft lingo: RI is "reverse integrate", when a team checks new features into the common part of the source code tree (the "trunk"). 

    These features have typically been developed over several weeks or months on a private branch of the source tree, to stop the team treading on anyone else's feet while they write code (and vice versa). Once they're done, the changes made on the branch need to be merged back into the main trunk - this is the reverse integration. Then, other teams developing on their own branches may need to pick up these changes - this is a forward integration (FI).

  • User profile image
    Tom Servo

    Andre Da Costa wrote:
    Would those be pops, hissing and skipping in songs?

    For example.

  • User profile image
    Cybermagell​an

    Very nice article...sometimes it takes crashing to come back pure and the famous saying "Hindsight is 20/20" proves true when coding too.

  • User profile image
    Tyler Brown

    An interesting read to say the least. I've got a question regarding RI's however... why is it called Reverse Integrate? You are in effect integrating your feature set into the main build... so why wouldn't you call it Integrate?

    Also, have many other teams started using this bug cap process? From the sounds of what Sampy was saying a while back, the Visual Studio team hasn't implemented this system yet. I seem to recall him disappearing for a while due to all kinds of bugs that had to be fixed. I also seem to recall a statement about selectively tagging bugs to be fixed for this version...

    I for one am glad that the Windows Platform has had this quality control system integrated into the build system. It's hard to believe that object oriented practices weren't enforced before the implementation of this system.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.