How Microsoft Develops Its Software
crem_d_genes writes "David Gristwood has a post on his blog that notes '21 Rules of Thumb - How Microsoft Develops Its Software', on which he will elaborate at TechEd in Amsterdam next week. It was derived from interviews with Jim Mccarthy, also of Microsoft. Gristwood: 'As someone who has been involved with software development for over two decades, the whole area of how you actually bring together a team and get them to successfully deliver a project on time, is one worthy of a lot of attention, if only because it is so hard to do. Even before I joined Microsoft, ten years ago, I was interested in this topic, having been involved myself in a couple of projects that, I shall politely say, were somewhat less than successful.' Tips include such features as 'Don't know what you don't know.'; 'Beware the guy in a room.'; 'Never trade a bad date for an equally bad date.'; and 'Enrapture the customers.'"
No, it does not, but thank you for displaying your ignorance of software engineering principles. A defect is not just a bug; rather, it's a bug that has been found, documented, and fixed using a software engineering process. Not all defects are fixed every time a piece of software goes out the door--think of triage. Is the fact that the buttons render 15 pixels apart instead of 14 going to break the software when it goes out to market?
The "bugs" referred to in the article are software issues that haven't been found, which is why the article warns developers not to assume that "zero defects means zero bugs."
!#@%*)anks for hanging up the phone, dear.
I recognise most of these rules from here - note the publication date.
Quite a good book. The things being said are good. The way they are said is terrible. Very poor writing.
NT 4 shipped with 65K defects?
I believe that was Windows 2000. It was a big deal because Microsoft was attempting to parade how stable and "Unix-like" Windows 2000 was. Allegedly. Scott McNeally responded by paying a bunch of bug exterminators to drive around a conference center where Microsoft was making some of its announcements about Windows 2000. Supposedly, the exterminators bugged out when it dawned on them why they had been payed to drive around.
Javascript + Nintendo DSi = DSiCade
How the parent post got +5 I have no idea....
Actually, much of the rest of the world DOES believe that "Zero defects does not mean that the product does not have bugs". Emphasis in quotations mine.
Definition of Zero-Defect. "an aspect of total quality management that stresses the objective of error-free performance in providing goods or services"
Six sigma's take on Zero Defect that states: "A practice that aims to reduce defects as a way to directly increase profits. The concept of zero defects lead to the development of Six Sigma in the 1980s."
Here's an explanation of why people are confused about the subject. Yes, it's an M$ site.
10 rules for ZDSD: "Not to be taken as meaning 'bug-free,' Zero-Defect Software Development (ZDSD) is a practice of developing software that is maintained in the highest quality state throughout the entire development process."
The first point is interesting; apparently, Microsoft doesn't know the majority of development work is multi-platform. I guess that in the Microsoft Universe(tm), if Microsoft can't do it, it can't be done... I am currently working on a rather large development project that will be used across at least two, if not three, major platforms. The overwhelming majority of developers must support multiple platforms because:
And the second point? Granted, Linux may be able to do multi-platform support rather well, but anyone who demands multi-platform support from Microsoft will get laughed out of the boardroom. It's not like they're going to care; you aren't spending their money to develop your application, and if it doesn't run on different platforms, it only increases their monopoly.
The society for a thought-free internet welcomes you.
"Wow, your use of the language is almost as much fun as Microsoft's. Bugs, defects, software issues? ... We're talking semantics here, not methodology, because Microsoft is a marketing company, not a software company."
Microsoft isn't 'marketing' here. It's one engineer talking to an audience other engineers. He is using the proper terminology (bugs, defects, issues) to describe what's going on here, just like the QA people do in just about every software company.
You're confused because you don't understand the nuances of the terms used. That's okay, I wouldn't have either before I worked in QA. That doesn't mean that MS is intentionally trying to confuse you. It only means that you need to be a little more open minded. I'm not saying this to be a jerk, but rather because you're attacking everybody's rebuttal instead of understanding that there really is a difference between the terms.
Here is how I understand the terms. I may have them a little off, so correction is appreciated. My work in that department was informal at best.
Bug == The code was just plain written wrong. 2+2=5. Sometimes this term was used to describe unexplained behaviour.
Software issue == The software does exactly how it is designed, but it creates an unexpected problem. "Automatic update auto-installs Windows updates every single evening. This is great! Unfortunately, some of them require a reboot, and the user either has to live with the imminent reboot or not getting the updates eveyr night."
Defect == Problem that has been reported. "Defect #32516: There is a typo in the about box, Windows was spelled with an L."
Yep, 3 distinct terms.
"Derp de derp."
I usually wouldn't reply this late in the thread, here goes:
My Windows XP box crashes everyday.. literally. My "win"modem for some reason doesn't seem to work well on "win"dows (which I find amusing). I've looked into it extensively and there has a been a bug submitted to the knowlege base for 3 years now regarding this issue. I think it was an issue on win2k as well. No I don't get the BSOD (does that even exist anymore) but the damn thing freezes 1 in 3 attempts.
The funnies thing is that I dual boot with linux and that "win"modem works perfectly. In fact, when I wasn't having to do any video editing in windows last year, I had an uptime of 215 days in linux.
I conceed that some people have more stable installs with windows than linux, as long as you conceed that at least if those people WANT to take the time to fix their linux box, they could, while people like me couldn't fix my windows problem even if I infinite knowledge.
So, I respectfully disagree with your post.
"We need a fourth law of Robotics: Stop Fingering My Wife"