How Microsoft Develops Its Software 816
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.'"
Enrapture the customers (Score:5, Funny)
Shouldn't that be shrink-wrapture the customers?!
Me thinks (Score:0, Funny)
Only open source represents a viable business model, ask Mandrake, Caldera and VA Linux.
Dates (Score:3, Funny)
I guess that's proof that M$ programmers actually go on dates!
By chance... (Score:3, Funny)
Comment removed (Score:3, Funny)
Re:Microsoft develops software (Score:4, Funny)
Come on... you got the correct form of "its" but you screwed up on the plural form of "eyes"?
You can do better...
Re:My post (Score:3, Funny)
Caveat: I am a developer, and I am aware that the only software that has zero bugs is unwritten software.
Re:My post (Score:5, Funny)
How they develop? That's easy... (Score:1, Funny)
Re:21 eh? (Score:2, Funny)
The REAL story (Score:5, Funny)
When he emerges, two months later, the new MS product is ready for market, the sheep have been trained as VP's, and the technology company is dead.
--
http://www.livejournal.com/users/gymbrall/
Re: That loud slurping sound (Score:1, Funny)
Microsoft imitates Rummy (Score:4, Funny)
It is essential not to profess to know, or seem to know, or accept that someone else knows, that which is unknown. Almost without exception, the things that end up coming back to haunt you..."
Did anyone else think of Rumsfeld's infamous mindfart (for which he won a Foot in Mouth award [plainenglish.co.uk]) --
"Reports that say that something hasn't happened are always interesting to me, because as we know, there are known knowns; there are things we know we know. We also know there are known unknowns; that is to say we know there are some things we do not know. But there are also unknown unknowns -- the ones we don't know we don't know."
Eerie.
Re:Dates (Score:2, Funny)
Re:Enrapture the customers (Score:5, Funny)
Enrapture the customers
He means to say "capture the customers."
Microsoft's flowchart (Score:1, Funny)
|
Alpha version
|
Enough bugs? - No - Add features
|
Yes - Create a separate product to deal with it
|
Beta version, release as golden master
|
Stop
How MS makes software (Score:5, Funny)
Best not to know how.
It's not the guy in the room (Score:2, Funny)
Comment removed (Score:5, Funny)
Re:My post (Score:2, Funny)
No wait.
"The Zero Defects definition has "Zero Defects""
Re:#11: Build it every day (Score:2, Funny)
Another nice technique is to send a derogatory email to the person responsible cc'd to the entire company insulting his/her sexuality, ethnic background, football team, choice of clothes and lack of education and haircut and anything else you can think of.
Rule (-1) (Score:2, Funny)
Re:Zero defects my ass (Score:5, Funny)
There were probably more, but they rounded down to avoid the "integer out of range" error in their bug tracking software.
One to rule..... (Score:1, Funny)
Re:Professionalism (Score:5, Funny)
Humans were not meant to sit in cubicles all day long, Michael.
Re:Microsoft master plan! (Score:2, Funny)
Re:You could not be more right. (Score:3, Funny)
A Lieutenant was radioing in a field report to the Major back at the base. "Sir, we have some problems here and..." The Major cut off the Lieutenant, saying, "Don't say 'problems' on the radio, son. It's best to think of them as 'opportunities.'" The Lieutenant, looking at the exploded husk of his jeep on the side of the road, yelled into the radio, "Sir, we have some insurmountable opportunities here, and..."
Re:Portability is for canoes? (Score:5, Funny)
Say, what kind of music do you play at this bar?
Oh, we have both kinds, Country and Western!
Re:ooo (Score:1, Funny)
Re:What's with #6? (Score:1, Funny)
Re:What's with #6? (Score:2, Funny)
Beware of the bucket in the corner.
Bad dates (Score:3, Funny)
So here's one advantage of being a programmer at Microsoft: At least you get dates, even if they are bad ones.
--
Re:Okay, I'll bite this troll (Score:1, Funny)
Obligatory Python Reference (Score:2, Funny)
Now go fetch me a radeon or i shall say 'NI' to you...
My Synopsis (sorry for redundancy) (Score:3, Funny)
Then why doesn't MS do it? For any MS fanboy who insists some of their software is great, what about the majority of it? Mediocre maybe?
Get to a known state and stay there.
Instability? FUD? Monopolistic practices? Insecurity? Bloatware? et cetera....
Organize the project around the concept a reaching milestones with zero defects. Zero defects does not mean that the product does not have bugs, or missing functionality; it means that the product achieves the quality level that had been set for that milestone.
Great, so zero defects doesn't mean zero defects, it means some intangible level of acceptable defect. Hm, sounds like a redefinition of language to have the meaning of words fit the state of their software.
Slipping is what happens when information that was unknown becomes less unknown.
Don't not unknow that which is known to be non-unknown knowingly..... Nothing against MS here this guys just sounds like a shmuck.
The product should be built every day, along with all setup scripts and on-line help, in a public place, where QA can conduct appropriate assessment of daily status, and the entire team can observe progress or its lack.
Why that sounds more like a bazaar than a cathedral.
Portability is for canoes...the complexity of multi-platform support is beyond the reach of most development organizations...build your product on the absolute fewest number of platforms possible.
Multi-platform support is beyond the capabilities of MS, not most development platforms. This is exemplefied by Linux, BSD, Gnu software etc.
Enrapture the customers. Most software is a renewal business. Customers buy multiple releases over a relatively long period of time. As a consequence, the market has a deep understanding of your software and its flaws, and your organization and its flaws.
Entrap the customer. They understand your software and its flaws, and your organization and its flaws. Make a token effort to alter the most obvious ways we're screwing the consumer and they'll thank us for only buggering them half the time we were before.
Establish a shared vision.
I'm establishing a vision of a penguin dancing on Bill Gates head. Is it working yet?
Get the team into ship mode.
Tell development the product is being released, ready or not.
Everybody (or nearly everybody) must believe that achieving the milestone is possible.
Ignore whistle blowers, we're releasing.
All members of the team must understand precisely what they must do prior to shipping. All unknowns are factored out.
We don't know if that glaring flaw in our software will be exploited, factor the unknown out.
The goal is an acceptable quality level at ship time.
Noble words, however based on past releases, an acceptable quality level defined by MS is extremely lacking.
Understand the range of quality that is acceptable to your customers.
Will they still buy this steaming pile of...
How many low priority bugs did your product ship with last time? Was it a problem?
Did they take the last steaming pile of...
Are the customers better off with this product including this bug?
Are we better off with the customers money now at the risk of disrupting their lives with our steaming pile of...
Since destabilizing the software is more of a problem than most bugs, be very careful about which bugs you fix.
Don't fix bugs, it might make our software buggy.
This is why we have "ReadMe's" and bug lists.
Releasing buggy software is ok, just let them know after the fact in some obscure reference and our hands are clean of responsibility.
Well, if there were any doubt in my mind left as to why their products could be so horrible, getting an idea of their development method pretty much removes it.
Re:You could not be more right. (Score:2, Funny)
Redmond, we have an issue.
Rule #1 ... (Score:2, Funny)
Re:Okay, I'll bite this troll (Score:2, Funny)
bwahahahaha!!!!!
My god.