Monday, November 14, 2005

So I finally had some spare time this weekend to print off the oh-so-well covered Gates and Ozzie memos about the service wave. I grabbed mine from Mr. Bishop's post, before I noticed that internally they are available off of http://blogs/live/ as well.

Before I start my thoughts here, let me just say that strategic memos like these reveal a lot about the reader's agenda. Allow me to restate that my agenda is for a leaner, meaner, agile, efficient, exciting Microsoft that can swiftly deliver remarkable software products to our customers and provide great value to our shareholders. I also want us to spend sometime focusing on everyday consumers and back off from being so IT focused when it comes to new features and products.

At a rather base level, I believe that Microsoft needs an explosive enema to flush it free of the process, bureaucracy, and low-quality personnel. Microsoft needs a disruptive defrag.

So I dive into these memos looking to align them with my own agenda. I respect that your Rorschachian take on the memo might come up with a wildly different view. I'd love to hear it, too.

Gates memo seems pretty much like the wrapping on the paper that says, "Read this and take it seriously." He mentions how services will simplify the work of IT departments and developers. Unsurprisingly, I didn't find anything in his cover letter specifically focused on the consumer. Mr. Gates sets the stage for this to be a very disruptive change. Good. He then ends indicating who all this upcoming change will be a benefit to. Where are the shareholders? Still busy meditating on horizontal stock-price lines?

Mr. Ozzie's memo surprised me in a good way. I didn't have high hopes, so that's probably why I put off reading it. I'm no big fan of the confusing mess that's Notes, I think Groove is a pokey-inefficient system just a tad better than shareware, and Ray's uninspiring presentation at the 2005 Company Meeting lost my attention, along with the people around me. So I had dialed the expectation meter down to about a two. And for some reason I was expecting to come up with some sort of comparison of Mr. Ozzie to Karl Rove... thankfully, not needed!

Ray sets a good stage, and gently raps Microsoft across the knuckles for the opportunities we missed, like the XmlHttpRequest design for OWA (whose designer left Microsoft for Pure Networks) that forms the basis of AJAX (which really only is possible now given the crossbrowser adoption of XmlHttpRequest, cross-site security pains and all). I'd certainly like more digging into such failures at an executive level to understand why we didn't have the motivation to be leaders here. Hell, every acquisition is an admission to leadership screw-up in my book: why didn't we have the foresight to innovate in this area vs. buying this anti-spyware / server-side malware scrubber / VoIP provider?

I find it especially interesting that Google / Yahoo / Apple are given the "yes, yes" waiving hand of dismissive recognition and that the true focus needs to be on grassroots start-ups using the internet as their framework. Obviously, we want to be their foundation. I like this line regarding developing on the internet: "Speed, simplicity and loose coupling are paramount." Good ole developer fundamentals.

I'm still out-of-touch with respect to the big huge pile of golden eggs out there with a rainbow shining above them, emblazoned with the phrase "advertising-supported economic model." I need to do some digging into what the analysts say about future expected income for targeted ads and the expected user reaction to them popping up everywhere anytime they use something that's online. Like TiVo and commercials, it all seems to be one GreaseMonkey script away from disappearing from view. All I have in my mental visual imagery is that one Aqua Teen Hunger Force where real-life pop-up ads started filling the house. Users will start gravitating towards the service with the least annoyance vs. functionality.

I like the essence of the "integrated user experiences that 'just work'" paragraph. (Detour ahead.) Lord knows the gadgets in my life steal a hell of a lot of my free time as I attend to their care and feeding. What I really want is virtual representations of them (perhaps as gadgets or widgets) that I can manipulate whether they are connected or not. If my PDA is connected to my computer, give me a term-serv like experience into it. If it's not connected, give me a queue of goodness I can pile up for it on its emulated image. And let all of these roam. If there's a file I want to plop onto my PSP from my work, let me drag it onto a gadget representation of it and when I connect it later to the home desktop that pending file plops out of my storage cloud and onto my PSP.

My asks for gadget infrastructure adds:

A storage system that can wrap something like my HotMail or GMail quota so that it roams. Let's reuse the disk quota I already have.

A tuple space around this system.

Input and Outputs around each gadget, so that they can be hooked up together or into the tuple space.

Okay, back to the memo. Seamless entertainment! Wowza, Mr. Ozzie mentioned everyday consumers! Given XNA and XBox and everything, Microsoft should try to revitalize our gamer market. This is an area we could load balance underutilized talent into, even given that part of the company has been RIF'd black and blue. I believe there's money to be had in PC games, and our experience with XBox, every money losing cent of it, can at least be projected into profits in the PC world.

Interesting comment about lightweight development, recognizing that SOAP ain't all that and that REST and other technologies should be supported. Programmers are lazy efficient and will gravitate towards technologies that make sense and get the job done (and usually, those technologies are not designed by standards committees). After that came the obligatory note that we'll respect the need to comply and not go making private services. I still think that service APIs introduce a new level of hell, given that while JoeBob.com can change their service willy-nilly or go down for the weekend, Microsoft can't.

I read the Business Division part of the Moving Forward section several times and I was really surprised at how fuzzy it was, especially given that IW Services have been going for a while. It's a bunch of questions, basically. And to tell you the truth, not very interesting questions. The entertainment part is a bunch of questions, too, I guess. But I'm surprised IW / Dynamics / Office doesn't have more detail, especially in comparison to the Platform Products & Services Division section.

The money shot for me is this quote:

That said, I have a number of reasons for optimism that we can deliver well on this vision. First, I know that Bill, Steve and the senior leadership team understand that Microsoft’s execution effectiveness will be improved by eliminating obstacles to developing and shipping products. The recent reorganization into three divisions is a significant step, and the division presidents are committed to changes to improve our agility.

Good intentions. Nice words. But I want some act-shun. Agility, along with shipping more frequently, has been coming up more and more as a positive goal and an act of contrition to make up for where we are today. But if you're adding agility, you have to admit that your subtracting anything that's anti-agility. What's going away to make room for agile, frequent shipping? Who is going away? What is the waste in process and execution that can be trimmed. Meetings? Linear, spec-driven development? Doors? Walls? I think for us to make room to be agile, we need to identify what is currently slowing us down. This not only includes day to day process that drains execution due to team tax, but also the blockers for rewards for doing a great job.

I don't know anything about what it was like to be a developer working for Mr. Ozzie. I haven't spent too much time looking for Groove employee blogs. The only one I stumbled across seems to be gone now (Office Skirmishes [BlogLines cache]). I'd be interested in their take on how Mr. Ozzie avoided issues around "complexity kills." Now then, regarding this insight:

Another simple tool I’ve used involves attracting developers to use common physical workspaces to naturally catalyze ad hoc face-time between those who need to coordinate, rather than relying solely upon meetings and streams of email and document reviews for such interaction.

Whoa-ho-ho, there, Tex, hold on there! I'm lining up like the next guy to kill off meetings and email threads and reviews, but I escaped the cube-farm to come to Microsoft. A door and free cola sealed the deal for me. I'd much rather show up at 9am for the daily scrum meeting and have to hold my tongue than go back to the days of being in a shared space. I guess if we did implement that environment I would personally help realize my vision of a smaller Microsoft by jumping to some local startup.

So time will tell where the memo goes and what proof the pudding provides. I have hope. And this certainly is opportunity for a next-generation of common-sense leaders to step up and show how 21st century software development gets down and makes a whole bunch of cash.

Oh, you posers. You jump on the new posts saying "p.u.!" trying to pull-down the impact of this blog. The last few posts have replicated quickly through C|Net and EWeek. You may not be reading them or liking them but others are.

As always, do better if what you're getting here doesn't meet your standards. Anyone can write "sigh, this stinks."

What's going away to make room for agile, frequent shipping? Who is going away? What is the waste in process and execution that can be trimmed. Meetings? Linear, spec-driven development? Doors? Walls? Windows?...

One of the (wasteful, goofy) inspirational posters in the building 9 cafeteria goes something like, "we who solve our problems need to be better than we who created them". Since the execs are the ones who hired in and cultivated all the process junkies and bureaucrats and Basics freaks and Six Sigma zombies, do you think they're going to be a) able to recognize what they're doing to MSFT and b) remove them?And sorry, but I respectfully disagree with your lamenting the lack of focus on customers and shiny new apps like in the XBox space. iPods may have resurrected Apple and given it some measure of pop-culture cool, but Bill knows where his bread is buttered. MSFT makes its billions in dull int'l IT apps and in selling Office suites to corporations and the U.S. gov't. You're not going to get anything innovative, cool, interesting or different from a company that focuses on those people. You want cuddly and clever, work for Apple. You want original, work in a Linux house. You want somewhere practical where you can be a salaryman for 20 - 30 years and retire, MSFT is for you.

Strangely, you don't seem bothered that the new MSFT press strategy is having Scoble "leak" memos to the world with executive blessings. IMHO that's the most galling thing about these docs. Easter eggs are bad, but our "official" press releases are staged as leaked docs? Something doesn't smell right to me. How long until some large customers start to complain about this?Beyond that, how is any of this "news" surprising, given the recent re-org? Quite obviously web services is one of the points of synergy between Windows and MSN. Similarly, reigning in our midwest bus. guys and putting them firmly under Raikes' control also heralds actually shipping software. One outlet is clearly as services - a place where Office leads most of MSFT in adoption. I have no idea what Robbie's division plans to do to add to the bottom line, but I'm probably too cynical.

I work in an open office environment, we have desks curved at about 30 degrees and neck level cube walls such that you can pretty much see everyone, talk to everyone, but have your own space to put things like pictures, books, etc. I've previously worked in an "office with door" environment. I've gotten more done here in 1 year than I have elsewhere in 3. It doesn't do much for your privacy, but if it's agile development you are after, it's the way to go.

Thanks for the comment, Troy. I guess I should post an open call for what has made agile improvements in groups.

As for the "leaked" memo... I had a nice paragraph about donning a dinosaur head and pondering over my email, "Oh, if I only had a way to restrict rights on this message so that no one could easily forward it on... woe is me." But the post was pretty long and wordy already and needed more taken out vs. being added in. I'd say in this case, they got to control the leak (oh, that's why I was thinking of Rove...).

I've done the cube-farm (pre-Microsoft) and I've done the everyone-in-a-room-agile (at Microsoft). Walking down the hallway (opening a door even) to talk to someone else on the team has never been an impediment to collaborative work.

Poor prioritization, conflicting goals, weak leadership and soul-draining process, not to mention a competitive grading system ("the curve" which pits everyone against everyone else) and occasionally poor social skills are what get in the way of teams working well together.

None of those get any better if everyone is shoved into a room. Most get worse.

I could be wrong, but I don't believe AlexHop worked on Outlook Web Access. I think what he's talking about in the Forbes article was the local store for NetDocs - the one part of that product that actually worked incredibly well, and then Outlook spent several years writing their own version. I could be wrong...

Mini, You pest. It "WAS" fun to read to read your blogs. But sadly no longer...............sigh.

The astroturfing to try to negate the impact of this blog continues, yet fails. Great blog entry by Mini!

Microsoft needs to streamline, simplify, in both process and in product. I fear the Microsoft web initiative. Off the top of my head, what's up with "Express" and "Custom" on Windows Update? Confusing for the user, especially when all Custom does is add "optional" updates along with the "critical" updates. Why not call it Critical and Optional? Better yet, why have either button? Just give the full list of updates, and have the criticals auto-selected by default. There are too many options, too many menus, too many buttons. It doesn't need to be that complicated.

The only thing that will be confusing to the user is how to spell "google.com" when they type it into the address bar to get away from start.com. Jesus Christ, did MSN really need to be rebranded? Why can't we get rid of it? We can remove thousands of useless people in the process and absorb the ones who actually have skills (the 3-4% or so).

No end of entertainment that live.com and start.com are bastardized versions of MSN while the google UI is still spare and functional. The opening shots have been fired in the war on google and the war is over. Google did nothing and won.

I work in an open office environment, we have desks curved at about 30 degrees and neck level cube walls such that you can pretty much see everyone, talk to everyone, but have your own space to put things like pictures, books, etc. I've previously worked in an "office with door" environment. I've gotten more done here in 1 year than I have elsewhere in 3. It doesn't do much for your privacy, but if it's agile development you are after, it's the way to go.

I have to disagree with you troy. i have worked in both environments and can say that the closed door is much better for dev work.

Have you ever been int he middle fo a complex algorithm and 3 or 4 phones ring while several team members (anothe team) are discussing a meeting or business decision. This can be tragic as loses your train of thought may cause you to forget what you were just working on.

that's not to say that some teams can't be productive in open spaces but dev teams are the exception in my mind.

A big problem with agility is having feature sets designed by people who can't implement them. If a PUM is working on a feature request and doesn't verify feasibility before telling the customer it's a go, then maore than likely everything around that feature will suffer as dev tries to make it work.i've seen cases where the QA process gets pusehd aside to fix some innocuous little bug that soem "idiot" thinks is important (ever heard the joke, "Doc it hurts when I do this?")The first to get the ax should be testers with no dupes and PUMs who can't understand code design. Then let's get rid of the VPs who spend all day trying to figure out how to spend all day.

Then let's make sure that ANY non essential dependencies are eliminated in ALL products. that means that it's not that bad to put all co-dependent functionality into a single DLL. Loose coupling is the end result and the best goal.

A lot of times, devs write things to look pretty to other devs, A REAL NONO. Devs should write code that works, regardless of whether some other dev or dev mgr would have used your algorithms.

Justification shoul dbe simpler. if a dev says Steve McConnell recommends a method, it shoul dbe used even if PUM says he "knows a better way." That is a real problem at MS. Devs who believe in what they do don't make "no-bird" suggestions.

I'm dimly remembering that AlexHop worked on Platinum Local Store for Outlook XP (basically, this was the Exchange 2000 storage system running underneath Outlook on client machines as a MAPI store provider). This got 86'ed rather late in the Office XP timeframe because the working set was something obscene, the performance was awful (people HATED dogfooding it and the beta testers detested it), and it was pretty clear either Outlook was either going to ship something far too buggy to be part of Office and piss off a LOT of customers, or Outlook was going to going to screw the pooch for Office XP's schedule, by a LOT (think 6-12 months slip, with dev and test on burnout-type schedule, and that's AFTER spending an assload of hours getting the goddamn thing to work at all).

Office doesn't play that game (not when it's billions of dollars of revenue on the line), so they cut Platinum Local Store. (And to be honest, Exchange has been trying to get rid of the Platinum store for a while now- they just never seem to figure out how to actually do it).

Note that Netdocs never shipped, either (unless you consider Infopath Netdocs- at best it's a second cousin of a bastard child of Netdocs). The lesson I got from all of this as an observer (but an informed one) is that server storage architecture =! client storage, and that decisions on APIs (like MAPI) are ones you'd better be prepared to live with for 10-20 years, because that might be how long it takes you to wean yourself off of them once your codbase starts getting firm, your developers start adding value through it, and so on.

Anywhoo, on to something else:

Whoa-ho-ho, there, Tex, hold on there! I'm lining up like the next guy to kill off meetings and email threads and reviews, but I escaped the cube-farm to come to Microsoft. A door and free cola sealed the deal for me. I'd much rather show up at 9am for the daily scrum meeting and have to hold my tongue than go back to the days of being in a shared space. I guess if we did implement that environment I would personally help realize my vision of a smaller Microsoft by jumping to some local startup.

A group I worked in spent a 3 month release cycle having their developers spend part of their time in a converted conference room with workstations. Note that they still had their offices, still spent time writing code in their offices, and so on- but they spent regular time with each other during the release doing something like pair programming, except more as a group. It worked well for us- it was a nice way to be able to adjust rapidly during a very short time from start to RTM without meetings, etc. If that's what Ozzie has in mind, it might not be so bad- especially if it replaces meetings. Other disciplines like test and PM could do some of their stuff that way too- it's a nice way to expose yourself to different working styles and ways of looking at things.

One good reason for enjoining employees to work in open environments is to pick up on ‘emporer wore no clothes’ statements and eliminate the offenders. Ray Ozzie is a good man and means well, but as long as gates and ballmer (and raikes, rudder, and a host of other scorch-the-earth managers from the eighties and nineties) are in place, Microsoft will be a semi-functioning tower of babel. Employees who are playing for the affections of senior management will be working at cross purposes with those whose heads they are stepping on to get wherever they are going. Deadlines will be missed, bugs will get shipped, and some great ideas will never see the light of day (not mentioned of spite or merely so the idea won’t be hijacked and reproduced by an unscrupulous sycophant). It’s a real persistent problem. Jim Allchin (who is among the best of the lot) is leaving. Its unfortunate for Microsoft that he won’t be at the head of a parade.

I have to disagree with you troy. I have worked in both environments and can say that the closed door is much better for dev work.

Yes, the little annoyances are indeed, annoying. I suppose there is a natural ebb and flow of benefits and costs to performance with any office environment. Personally, as a developer, I'm more productive this way because I can work together with my neighbor without walking to his office and leaving my computer behind in my office. Sure, there are alternatives like IM and phones, but nothing as good as turning your head and talking in my mind. I do submit however, that while the open environment may work well for me, it may be a hindrance to other developers.

One thing is for sure, there is no way to close your door and let anyone who wants to speak with you know that you're busy. There are workarounds and in my case, the equivalent signal is when I have my headphones on (sometimes I'm not even listening to anything). This seems to work well for situations where I have to really concerntrate and can't be interrupted with something.

It would be interesting to study how all the little tradeoffs of an office environment impact performance and quality of code. I'm sure someone has done this but I'm too lazy to go looking for it.

Yes, the little annoyances are indeed, annoying. I suppose there is a natural ebb and flow of benefits and costs to performance with any office environment. Personally, as a developer, I'm more productive this way because I can work together with my neighbor without walking to his office and leaving my computer behind in my office. Sure, there are alternatives like IM and phones, but nothing as good as turning your head and talking in my mind. I do submit however, that while the open environment may work well for me, it may be a hindrance to other developers.

One thing is for sure, there is no way to close your door and let anyone who wants to speak with you know that you're busy. There are workarounds and in my case, the equivalent signal is when I have my headphones on (sometimes I'm not even listening to anything). This seems to work well for situations where I have to really concerntrate and can't be interrupted with something.

Speaking of this. I had a dev at at my lasy job who mentioned that it can be even more distracting to have someone grab your attention with a question that has nothing to do with their work.I do believe that there are times when you can be in a group environment, such as;

The sad reality is that legal is killing us. We can't be nimble in responding to Sony DRM if everything has to go through 5 lawyers. Smaller companies can take reasonable risks, whereas we have to be ultra-conservative with everything.

We can't decouple Xbox legal issues from Windows legal issues because the same money backs both. The re-org doesn't help at all, it's still all the same framework underneath. We clamber for greater autonomy but it isn't possible given legal constraints.

Part of it is just that we're a big target and society is full of litigious scumbags, but we're a much bigger target because of the DOJ suits. And who is responsible? Ballmer, Gates, Allchin... Their pathetic testimony and outright lies are a matter of public record. Exec Leadership failed us big-time and its costing us the bomb, with value far exceeding the money we paid out in settlement. Their time has gone.

1. The hierarchy. I was at Verizon before here, it has 250,000 employees nationwide and there are 7 levels between the lowest rung to the Chairman/CEO. I find MSFT pathetic in comparision.

2. The bureaucracy. I am a L63 PM, I noted the pride people take in their levels here, which makes no sense when you have 10,000 L63's.My manager is a PM, who reports to a Sr. PM, who reports to a director, who reports to a Sr.Director, who reports to a GM, who reports to a VP, who reports to a Sr. VP, who reports to a CIO who reports to the COO, who reports to the CEO.

WTF---- Highly paid bimbos who carea F*CK whats going on with the product.

You think an idea I have will ever get to the drawing board here or even a thought?

3. I am in IT. Not in a glamour product divison. I never hear about the work we do, not in the company meeting, not from a soul I have met anywhere. My manager is cool, meets me every 2 weeks for a one on one. I have never seen his boss and up ever, since they don't want to meet low lives (is what he openly says).

So, we have a new CIO - Stuart Scott from hired out from GE, that has re-orged (as GE is famous for) the IT divisions into "centers of excellence" (forcing GE nomeclature) and is hiring a bunch of ex-GE friends, oops, did I say friends into MS to help him in "transforming" IT to enable business. Now, I am new here, but I need to know why the F*CK would you want to transform something, if everything was working? I need to know the problem statement before you come and tell me that you want a re-org to bring all your Six-Sigma certified Black Belts into MS. Man, this guy is probably going to last as long as our last CFO did.

3. I put up my resume in Monster this weekend after seeing this BS.Yahoo and Expedia called me today. Let's see how it goes.

SteveB, if you are reading this, or if one of your stooges with a fancy title is - recognize that you are trying to change, without communication the change to the people that matter the most. The people that create your products.

Re: the AlexHop comments above - Alexhop was a complete a**hole. It's very ironic that he was quoted in Forbes as leaving due to MSFT's increasing bureaucracy and integration problems, when he was one of the program managers contributing to a bureaucratic and overly complicated group himself (Avalon). He was an arrogant loudmouth who talked down to people, talked over people and generally dominated every conversation he was in (and many that he shouldn't have been in). All the while bogging down teams with bad design and poor relationships to other teams around the company. We need less AlexHops at MSFT. Pure Networks can have him.

To the character assassins above: please don't attack our co-workers (past or present)-- especially in a public, anonymous forum. It's prime time to counter-balance the bad vibes above with a good story (and my first post here). Shortly after I started at MS, I drove into Alex's parked car. Instead of so much as teasing this mortified new employee, he said: "Well, it was about time I took my car to the shop to repair the dent on the other side." He never brought it up again. Ever. Furthermore, he didn't tap the rental car funds offered by my insurance company while his car was in the shop. He carpooled. And my insurance rates didn't go through the roof. Talk about class.

You're looking for studies on workplace environment and productivity. Someone has done them. Go buy DeMarco and Lister's Peopleware. Anyone else gun-ho about cubefarms should read that book too.

About AlexHop. Both stories above sound true. I totally believe he would show a lot of class in a parking lot accident. And I totally understand the guy frustrated with him on Avalon. I don't think that was a project that let Alex do his best work. It was a leadership failure.

I like the essence of the "integrated user experiences that 'just work'" paragraph.

Good thing R&D Sou-er, I mean Apple is still around, huh?

The reason why Apple usually gets this and MS rarely does goes all the way to corporate DNS in the early days. Apple went after guys like Raskin, Atkinson and so on, human factors types. MS spent time making software for developers- who, to be blunt, don't think like normal human beings and thus won't be fazed by poor or obscure interfaces to information. Cases in point- Unix and command shells compared to a GUI.

Well, that, and Steve Jobs, who runs rings around BillG in terms of understanding design issues. Case in point.

MS has come a long way towards learning how to understand human factors and their relation to design, thankfully (early versions of Windows aside), despite the differnce between the CEOs involved, but Apple still can clean everyone's clock now and then, because their CEO KNOWS this stuff, and MS's CEO doesn't, really.

The timeline of the leak would be fairly interesting but from what I can recollect all Scoble did was point to Dave Winer's posting of the memos. Who told Winer about Valerie Plame - I mean - who sent Winer the memos? Probably someone senior who worked with Winer during the search camps. I'm mean, hell, I think BillG and Dave exchanged emails back when Dave was on HotWired. Maybe BillG is rekindling that penpal relationship.

What's interesting to me is that people are mentioning more and more about memos and agendas being sent only to the upper leadership / middle management because... if you sent it to the masses then "it would just show up on someone's blog." So we're enjoying less transparency, but even a restricted audience doesn't seem to avoid the blog-outting.

If this happens again - another strategic memo being seen by Microsofties first via outside blogs - then Microsofties are going to get even more distrustful of upper leadership. Executive management distrusts us for public blabbing and we distrust them because they are being secretive and their leadership track record hasn't been very good. If this truly is a "turn, turn, turn" maneuver, you need all hands on deck and all hands participating in the same plan.

As for Alex: my two cents... the dude seemed energetic and passionate for the one or two times I met with him. Seemed like your usual top-notch Microsoftie.

Seems like sr. management sent the memos out to get 'em blogged about.

Anonymous postings why - Most MSFT employees, even long term ones, fear retribution in some form - either in the form of poor reviews or getting on the bad side of the "house"...which shows that the culture has de-generated..

There is a lot of troll messing up this board. This company was never about one alex or the 'better' developer. It was largely about not so famous people getting things done...

Anonymous postings why - Most MSFT employees, even long term ones, fear retribution in some form - either in the form of poor reviews or getting on the bad side of the "house"...which shows that the culture has de-generated..

Anon postings are a BIG problem here. Every nit-picker with a chip on his shoulder seems to end up here. A lot of them seem to be MS employees.Responding to an anon is a pain. There is an "other" radio button.

I've been doing Agile for a long time now (way before everyone jumped on the bandwagon and declared themselves "agile"). Maybe everyone at Microsoft who's interested in "agility" should go actually read the Agile Manifesto. I'll save you some time and quote it here:

We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:

Individuals and interactions over processes and toolsWorking software over comprehensive documentationCustomer collaboration over contract negotiationResponding to change over following a plan

That is, while there is value in the items onthe right, we value the items on the left more.

Part of your post, mini, is the key reason ivory tower teams at Microsoft struggle for years to produce software that turns out to be complex, bug ridden and slow, whilst small teams collaborating locally or over the internet produce technically superior software in a much shorter timespan.

Which bit of your post am I in disagreement with? It's the "open plan" office space thing. An open, collaborative environment is a key factor in Agile development practices actually working. It's not the only factor, but it's usually a good indicator. On a recent trip to Redmond I was disappointed to find the "everyone has an office" policy has resulted in (usually) a couple of people sharing a dingy six by six space without enough room for someone to even peer at their monitor. People sit at their desks, working on their code (not the team's code, their code that they can point at during the stack rank and say "I did that") and carving out their own little niche without talking to anyone. When they do go to meetings, everyone values the meeting so little they sit their tapping away on their laptops the whole time. Sound familiar?

There were a couple of posts stating how easy it is to walk down the corridor and knock on someone's door. That might be easy in your opinion, but it's several orders of magnitude more effort than leaning back in your chair and asking a teammate his opinion on the right way to do something.

Here's the classic comment I was expecting:

Have you ever been in the middle fo a complex algorithm and 3 or 4 phones ring while several team members (or another team) are discussing a meeting or business decision. This can be tragic as loses your train of thought may cause you to forget what you were just working on.

Please folks, let's just stop the charade. Programming isn't really that hard. The difficult thing about software is getting everybody on the same page understanding what we're trying to write, how it should behave, and how stuff in the system should collaborate. We very rarely need to write something so complicated it requires a single human mind to understand it, code it, and then magic it onto the rest of the team. And if you are writing something that algorithmically complex, maybe you should take another look at the problem and ask yourself why you're doing that. To me, a difficult programming task usually means I've messed something up and need to fix my design.

Even if you don't accept that programming ought to be simple, even if you are working on a complicated branch merge algorithm in your source control system or path finding algorithm in your mapping software, shouldn't you be able to work on it at least as well having another human being to talk to? Isn't someone else going to have to understand and maintain it at some point? How many people on your team are failing the bus test? My team doesn't have a bus test, we have a bus factor, in that you'd probably have to have 80% of the team hit by a bus to jeapordize the project.

The perpetuation of programming as a difficult task done in quiet rooms by incredibly clever, introverted, uncommunicative geniouses has got to stop. Programmers are going to need to get used to collaborating with each other more closely, even if they fear criticism of their work. In short, everyone needs to get over themselves and admit that traditional software development just doesn't work very well, and try something new.

To me, a difficult programming task usually means I've messed something up and need to fix my design.

Even if you don't accept that programming ought to be simple, even if you are working on a complicated branch merge algorithm in your source control system or path finding algorithm in your mapping software, shouldn't you be able to work on it at least as well having another human being to talk to? Isn't someone else going to have to understand and maintain it at some point? How many people on your team are failing the bus test? My team doesn't have a bus test, we have a bus factor, in that you'd probably have to have 80% of the team hit by a bus to jeapordize the project.

You missed the entire point of my post. Many of the most well-respected authors and researchers all say that tight grouping of developers is a bad idea. When I say complex, you are taking that to mean complex lines in the algorithm, but I mean complex in its interoperability.

It is far easier to wirte code that only has to satisfy one interface than it is to write design patterns that satisfy, local, remote, disconnected, distributed and databound interface requirements.

I have been in that environment and have been really annoyed when someone hollars out, "Hey, -----, have you ever used STL? Can you show me this print method? Or the inevitable "jokester" who has to make counter-productive noise.

With an office, you can respond to a door knock and say, "I'm a little busy, send me an email and we'll get together later," while still keeping your train of thought.

As I said there are ample times when group work is the best direction. But for general coding, it is better to be in a quiet, "non-volatile" environment. As a matter of fact, i do my best work at home (of course my home PC is light years better).

I find that I make silly mistakes when I keep hearing other people's conversations.

There's loads and loads of research that shows programmer productivity in offices > cube farms or collaborative spaces.

There's use in having practices like pair programming or even spending time together writing code as a team- but sometimes you need to get away from having your brain get distracted by email/phone/colleagues, and an office can do that.

Another thing that you can do to remain "agile" is to have a set time for each effort a dev has to undertake. I used to only look at my email a few times a day. I would look at unit,regression, and ad hoc testing at a diferent time and write\improve code at a different time.

By keeping a consistent schedule devs will know when they can't bother someone else and can log their question for later.

Plus, all manner of doctors and researchers say that you shoul dget up and walk around every hour or so to keep some semblance of conditioning, so the "private space" idea bears even more fruit.

You missed the entire point of my post. Many of the most well-respected authors and researchers all say that tight grouping of developers is a bad idea. When I say complex, you are taking that to mean complex lines in the algorithm, but I mean complex in its interoperability.

It's a shame that you seem to have dismissed the main point of my post. Programming should not be an ivory tower activity where you magically come up with perfect stuff. Programming is a discovery of what the software should do through iterative feedback and learning.

Could you list some of the well-respected authors and researchers who are saying tight grouping of developers is a bad idea? I'm genuinely interested because it's contrary to my own experience.

It is far easier to wirte code that only has to satisfy one interface than it is to write design patterns that satisfy, local, remote, disconnected, distributed and databound interface requirements.

I can't tell if you're saying that writing code on your own is writing code that satisfies one interface, or that writing code on your own helps you write design patterns that satisfy local, remote, etc. If you're saying the latter then I really don't get it -- surely collaborating with your peers will help drive out those kinds of requirements.

I'm sorry you've had bad experiences in offices with people who ask random questions and make innappropriate noises, but I think locking yourself away from the world is fixing the wrong problem. The kind of environment I'm talking about is team-based, so you have a room in which the team do their programming. This might be different to the room in which you make calls to schedule a dentist appointment or arrange with your spouse to pick up the kids after work.

I'm sorry you've had bad experiences in offices with people who ask random questions and make innappropriate noises, but I think locking yourself away from the world is fixing the wrong problem. The kind of environment I'm talking about is team-based, so you have a room in which the team do their programming. This might be different to the room in which you make calls to schedule a dentist appointment or arrange with your spouse to pick up the kids after work.

Though I hate responding to people who can't even take the time to fake a name, here goes.

First I never said "lock yourself away," I said having someone knock is less distracting. I also never said that you shouldn't work with other devs.

I suggest you get yourself a couple of Steve McConnell books and you will see that I don't make things up. Code Complete 2 comes to mind.

Your response seems rather biased. You are saying that I said I had bad experiences in offices????When did I say that?I said simply research shows that most of a dev's time should be spent doing his\her job in a quiet non-distracting environment.

I also said that there are plenty of times when a team should work together.

Complexity in and of itself means different things to different people but a well designed architecture takes time and effort not just a lot of people in a room.

People are clearly pretty dogmatic on office vs. cubes - There is a middle ground folks!Best environment I ever worked in (a startup of course), had movable walls on tracks - we moved things about every 3 weeks or so; those who wanted solitude for a while could have it, and others of us (me included) who work best in a group of 4 or so, could have that too.Most important of all, we all had the day to day choice of what environment felt right for us.

I'd much rather show up at 9am for the daily scrum meeting and have to hold my tongue than go back to the days of being in a shared space.

...which may help explain why Google keeps innovating and Msft doesn't: at Google, just about _everybody_ shares space, including founders, vicepresidents, and so on. Face to face works... closed doors don't.

Scooter, as someone stated before in this blog, the innovators will be buried with their "Innovators Medal" after Microsoft steps into their neck of the woods. Did anyone notice Microsoft's entrance into the High Performance Computing arena with the Compute Cluster Server? The story how the HPC war was won will be told very soon. Just ask the Palm OS folks - 3 years ago they didn't think they would be where they are today. Even with their headstart in phones and mobile devices, today the Windows Embedded OS has swallowed everything up. Sad, eh?

It is easy to give MSFT, a company with 100% dominance in almost every facet of software, no credit for anything. But the truth is that the company absolutely dominates - and I know how painful that is for the external people who troll this blog.

Just think for a sec, if Mini's wildest dream comes true and MSFT becomes extremely agile (again), what hope is there for anyone else, including Google?

Well George Soros seems to know what is about to happen. He doubled his stake in Microsoft from 1.8 to 2.6 billion dollars today.

There is something cooking; the naysayers who say the stock will not make a turnaround will be surprised. Matter of fact, if you truly believe that the company stock is doomed, why don't you short the stock?

What a lot of people don't know about Microsoft is that it takes adversity to bring out the best in the company. The company had the biggest growth in products and revenue after the antitrust suit was launched. This explains why the MS leaders are building Google to be this huge competitor in order to provide the juice for the troops obliterate.

You only need to see Steve or Bill talk about Google to know they are faking it bad. I mean, think about it - Google is only competing with MSN (yes they are ahead) which is 1/100th of Microsoft. Does Google have OS's, Productivity apps, Database, Messaging, Mobile apps, Hardware, etc? Just take a look at the list of MS products at http://support.microsoft.com/selectindex/default.aspx?target=search And this is just a fraction of the products.

Is it really fair to compare Google, a one trick pony to a behemoth like Microsoft? True Microsoft is suffering growing pains, and Mini and others are right on some of his write-ups about the need for changes. But for folks external to MS who badly want to write the company off, you will be mistaken again and again, as before

WHY, WHY, WHY, WHY, WHY, WHY, WHY, WHY... is it happening yet again... I have heard that Office 12 Beta 1 will be released to 10,000 outside folks before we get it widely and easily internally! IT HAPPENS ALL THE TIME!!! Why can't we dogfood this stuff? Lets defrag the dogfood process!!!

About half of my time spent coding I need to really focus on what I'm doing. Not because it's a super complicated algorithm, but because I need to hold as much of the design in my head as possible so that I can make sure the structural code that I'm writing is completely correct.

Then, once I've got the structure nicely laid out, the amount of design I need to think about is much smaller so working with interruptions isn't bad. That flows from good design - but in order to come up with that good design requires a lot of uninterrupted thinking.

I've had weeks where I spent most of my time interrupted. I still got almost as much code written, but I spent much more time fixing bugs, so I was overall much less productive.

Did anyone notice Microsoft's entrance into the High Performance Computing arena with the Compute Cluster Server?

Do you mean what everyone in the industry prompty named "Windows: Clusterfuck edition"? Linux has been used in clusters for how long? And it costs how much per processor?

What a lot of people don't know about Microsoft is that it takes adversity to bring out the best in the company.

Stop living in the past. The Microsoft of today is old, fat, and slow. No matter how yummy the doughnut across the room looks, someone else will have eaten it long before we can get off the couch and waddle across the room.

Why should I bust my ass to catch Google, when the only thing it gets me is a cost of living adjustment--if I'm lucky--while some asshat of a V.P. makes off with another $20 million?

Does Google have OS's, Productivity apps, Database, Messaging, Mobile apps, Hardware, etc? Just take a look at the list of MS products at...

And what does the average home user really use his computer for? Surfing the web and downloading music to his IPod. PCs used to be good for gaming, but now you can just buy a PS2 or an XBox for the price of a nice video card, so why bother? The OS is just not important anymore for a home user.

I am amazed by how many of my hardcore techie friends from college now use Powerbooks. A lot also own Mac minis. These are people who five years ago you would have had to pay them to use a Mac. That was "the computer for the rest of them". It appears years of dealing with a virus and trojan riddled POS OS have taken their toll. Last year I had to listen to a two plus hour rant from a friend of mine about the evils of the Windows Registry and the low IQs of the people who designed it.

The feeling I get from talking to them is that once Apple goes to Intel chips next year there will be a lot of Apples being sold. I expect us to lose a few points of OS market share over the next couple of years.

Do you mean what everyone in the industry prompty named "Windows: Clusterfuck edition"? Linux has been used in clusters for how long? And it costs how much per processor?

Young fella, what have you learnt from history? Nothing? The name calling bothers you? What MS software has ever gotten a red carpet when it is rolled out for the first time? They called it ClusterFuck so yes it must be ClusterFuck? Grow up, read your history books or ask the oldies around you. You'll learn.

Why should I bust my ass to catch Google, when the only thing it gets me is a cost of living adjustment--if I'm lucky--while some asshat of a V.P. makes off with another $20 million?

That VP has paid his or her dues at some point, maybe not recently but certainly at some point. You, what have you done? Any patents to your name? What's your life time review score average? (Yeah yeah, go ahead and whine about how the review model is unfair, blah blah) With an attitude like yours, you may never get your chance to score $20 big ones. It is easy for us to say that an exec that has made one mistake should be fired. Yet we cry buckets when our review scores are dinged by one little issue inspite of all the "good deeds" we accomplished.

The OS is just not important anymore for a home user.

Yeah right. Why don't you ship your dad some barebones hardware and ask him to start surfing the web and downloading music to his ipod?

I am amazed by how many of my hardcore techie friends from college now use Powerbooks. A lot also own Mac minis.

Waoh. Still Apple owns how much % of the computer market? What difference have your friends made? Zilch. Matter of fact, can you answer this little riddle. How much market share did Apple own 15 years ago? How much do they own today? What is the delta? Figure it out and that should help shush you. Don't worry kiddo, I'll help you. Apple has a 3.48% market share in the US and 2.4% worldwide. Pitiful!!

I may have been too harsh on you so let me not go into MSFT Windows/PC market share numbers:)

WHY, WHY, WHY, WHY, WHY, WHY, WHY, WHY... is it happening yet again... I have heard that Office 12 Beta 1 will be released to 10,000 outside folks before we get it widely and easily internally! IT HAPPENS ALL THE TIME!!! Why can't we dogfood this stuff? Lets defrag the dogfood process!!!

Who are these people? Jeez!! Can you spend some time to learn your own company? People have been dogfooding Office 12 for ages and you don't even have to be in the Office group. Even OTG is offering Beta 1. Hardcore dogfooders are of course using later builds.

People, find yourselves a mentor or two and learn how things work instead coming here to whine like babies.

See why Mini wants to chop off an entire section of humans at MS? Can't blame him

Hi MiniFirst, congrats on being the only person I have found so far who has wondered about the fuzziness of Ray's comments relating to the Business Division. As a Navision reseller, it troubles me that the ERP side of things isn't yet clarified in Ray's mind.Second, have a look at a book review on rank-yank:http://hbswk.hbs.edu/item.jhtml?id=5091&t=organizationsIt both defends and denigrates it

There was a study cited in... I think it was Code Complete 2, talking about the effects of listening to music on coding. Folks were given a spec to implement - read some data, perform some complicated (and precisely specced) math on it, and write it back out. The catch was - the math turned out to always end up as a noop. Something like 85% of the folks not listening to music recognized this optimization, compared with like 15% of those who were listening to music. Each group was composed 50/50 of people who normally listened to music and people who didn't normally listen to music.

I have been reading this blog since I was terminated in September from MBS. I think this blog is doing a great service to pressure management into making some serious efforts to rid the company of excessive management layers, non-performing business units like MBS and becoming entrepreneurial.

For those of you that still work at Microsoft, you must realize that a huge plan is in progress to downsize Microsoft, especially middle management. For example, does the company still need 7 CFOs for 3 business divisions? A major overhaul and purging is not out of the question.

If you want to prepare for what is coming down (i.e. especially if you are one of those General Managers reporting into another General Manager or anyone significant inside of MBS) you need to read a book called Corporate Confidential by Cynthia Shapiro. She does consulting with Microsoft management and employees. Her book can show you how to survive and what to look for as Microsoft begins the largest purging of management ever!

The silver lining in my firing is missing this re-org and downsizing that is just beginning. Just think about this: Wall Street always rewards the stock prices of companies that have large RIFs and you have a management team that is desparate for stock price movement. Looks like there will be a new TV show called "Desparate Microsoft Managers".

There was a study cited in... I think it was Code Complete 2, talking about the effects of listening to music on coding. Folks were given a spec to implement - read some data, perform some complicated (and precisely specced) math on it, and write it back out. The catch was - the math turned out to always end up as a noop. Something like 85% of the folks not listening to music recognized this optimization, compared with like 15% of those who were listening to music. Each group was composed 50/50 of people who normally listened to music and people who didn't normally listen to music.

But these people are more well-respected than Steve McConnell. Why would they ned to listen to him?

But sarcasm aside everyone's mileage may vary when it comes to dev techniques. As I said in a previous post, when respected dev authors spend two years writing a book, they should be listened to.

I guess they wouldn't take security advice from LeBlanc and Howard either.

Apple is moving OSX to Intel so developers can port Windows apps to an opposing platform. Mac can ship with Firefox and OpenOffice pre-loaded. Steve Jobs was kicked out of his own company and came back to lead it from the dregs of despair. Our CEO rants about killing other CEOs and throws chairs. Who do you think will win?

Keep anonymous comments turned on. This blog and Scoble's site are the best things to happen to Microsoft in 5 years. This site is a new reality while Microsoft, the official corporation, bumbles around in the background.

Having worked in both over the last 15 years - all have pros and cons that has already been discussed. However, I view software development as a team sport. At least any project of any size I have worked on requires a team. As with any team sport, there are rules. One of the rules is to play like you are on a team.

When I opened up my own s/w dev shop, I opted for open office – no cubes at all – just for the development teams. We arranged our desks so that each desk was at a right angle to the next, with each “pod” containing 4 desks. Our team was 16 so we had 4 pods. We called it the code pit – our software development playing field. In the code pit we played like a team. We had huddles (impromptu meetings when required) and designed plays and … coded!

We were extremely productive cause we were all on the same page – right now and all the time, which in the software development world, is probably the hardest thing to do. Osmosis really does work. With offices, might as well be on a different planet, with respect to everyone being on the same page.

We ran our shop for 4 years like this and everyone got the hang of playing on the team. If they didn’t, well, you know the answer. This was the most productive and cohesive team I have ever had the pleasure of working with. Headphones, phones, farts and all.

I am not suggesting offices are better or worse than open spaces, all I can tell you from direct experience with both, we were the most successful using the open office concept and really being a “team”.

I am not suggesting offices are better or worse than open spaces, all I can tell you from direct experience with both, we were the most successful using the open office concept and really being a “team”.

In order to be fair you would actually need to take two different teams working at the same time on the same project. One team has offices near each other and the other team is in a "pod" environment. I and most people (read:DEVS) feel that quiet non-volatile environments work best though that's not to say you are making things up. Of course it is possible to be productive but office doors are not like vault doors. If you can't TRUST your team to work well alone or in pairs, then the problem isn't the offices, it's the DEVS.

"Speaking of $20m/year VPs, looks like one of this board's favorite whipping boys has been sent out to pasture:http://www.microsoft.com/presspass/features/2005/nov05/11-17Burgum.mspx"

He's a favorite whipping boy because the perfomance of the division under his leadership has been abysmal. And considering that he gets to be Chairman now versus [deservedly] being fired, I'd call that being put out to stud vs pasture. Here was a golden opp for Gates/Ballmer to show that accountability was going to be demanded at the top not just the bottom. Instead, they send exactly the opposite message - business as usual. The guys at Salesforce.com, Rightnow, etc. must be laughing their asses off...

Linux has been used in clusters for how long? And it costs how much per processor?

Linux is free if you want it free, but the big HPC customers have big budgets: after floorspace, cooling, power, support staff, tools and buying the machines the cost of volume licensing from the likes of Red Hat is small, so people pay it for a supported OS.

In the small/midsize academic market where labor is cheap and money is tight, MS won't compete unless they do a very good academic price and the sysadmin isn't hostile, but for mission critical clusters in industry it could work, as long as the performance is good and the infrastructure and tool chain are right.

Not that Apple making some POS computers and spending 5 years dicking around on an OS (gee, that sounds familiar, don't it?) didn't have something to do with their losing market share, but I bet Microsoft might not do so well against a competitor when they don't have the advantage of using tactics get them hauled into a US District Court as a monopolist. Which we all know is what happened through the 1990's, right?

(I imagine a few employees here probably drank the BillG/SteveB Koolaid and migtht think otherwise about the 1990's. Of course, you probably think 5 years between XP and Vista is just fine too...)

Note that on several fronts (web servers, online music) where Microsoft hasn't been able to "knife the baby" or cut off a company's "air supply", they haven't quite been able to own the world, despite their best efforts.

I can also tell you that anyone who picked up Apple stock a few years ago (as an employee or shareholder) is a LOT happier than someone who would have picked up MS stock at the same time. Apple doesn't own the world the way Microsoft does, but here's a dirty little secret- you don't HAVE to in order to do some interesting things. Microsoft would probably be a better company if they realized expanding into every possible niche of the software industry is not only not realistic, it's part of the problem Mini's talking about. Apple is more than happy to say "No" to a lot of things, like providing white box computer solutions to enterprise ala Dell- it's not something they are good at, so why do it?

But frankly, any talent he had was overshadowed by his severe personality disorder. He was condescending, stubborn, narcissistic, he never shut up, and he didn't listen to anyone even when they were dishing good info.

I observed him using his energy and smarts to drive some very misguided efforts, despite an abundance of thoughtful and well-founded pushback. These efforts were ultimately (and thankfully) cut.

Alex was a classic case of a powerful force for doing the wrong thing. Guys like him cost companies lots of money. I don't envy Pure Networks one bit.

Not that Apple making some POS computers and spending 5 years dicking around on an OS (gee, that sounds familiar, don't it?) didn't have something to do with their losing market share, but I bet Microsoft might not do so well against a competitor when they don't have the advantage of using tactics get them hauled into a US District Court as a monopolist.

I agree with you. Just like the Chicago Bulls wouldn't have won those six championships if not for Michael Jordan's domineering play and monopolistic out-of-this-world skills. That's why I don't recognize any of their championships

Re: Apple is moving OSX to Intel so developers can port Windows apps to an opposing platform. Mac can ship with Firefox and OpenOffice pre-loaded. Steve Jobs was kicked out of his own company and came back to lead it from the dregs of despair. Our CEO rants about killing other CEOs and throws chairs. Who do you think will win?

Steve Jobs has had 10 years at Apple and has not raised Apple's market share by 1 full percent. And he is your hero? With this level of perception, I wonder what you do for a living?

He ran the company to the ground in the first place and was fired. He botched NeXT. Now that he's cleaned up his own shit a little bit, he is now a darling? Give me a freaking break. Now you are giving him 5 more years to move OSX to Intel and "maybe" with God on his side Apple may inch a full percent in market share?

See why we MS folks appear arrogant? Stop sinking the level of discourse around this blog please

I've been with Microsoft for over ten years now and I liked the company a lot better when Billg ran it. Collaborative, creative, motivating, energizing. Working here was like downing a 6 pack of Jolt cola. When Steve took over, that's when the backstabbing, stack ranking, dog eat dog ladder climbing, bring in the dork process execs started. Totally kills creativity and collaboration. We have become the evil empire that the DOJ described back in the late 90's.

"Steve Jobs has had 10 years at Apple and has not raised Apple's market share by 1 full percent."

Uh, he hasn't? Hasn't their share doubled since he's been there? Granted, it's still peanuts compared to Windows, but Microsoft was also found guilty as an abusive monopoly. Kind of hard to fight that.

He ran the company to the ground in the first place and was fired.

The history isn't that simple. He hardly ran the company to the ground--the subsequent CEOs were more than happy to do that.

He botched NeXT.

Actually, OpenStep (now Cocoa) and WebObjects did pretty darned well. The first web browser was developed in a few weeks on a NeXT box, you know.

Now that he's cleaned up his own shit a little bit, he is now a darling? Give me a freaking break.

Okay, you've got to be kidding. Apple is now the darling brand, everyone has iPods, and everyone is raving about iMacs and OS X Tiger. Meanwhile, his little animation company has cleaned up with every single picture they put out, actually rivaling former powerhouse Disney, who had to kiss up and offer their TV shows on iTunes just to make Jobs happy again. Hell yeah he's a darling.

Now you are giving him 5 more years to move OSX to Intel and "maybe" with God on his side Apple may inch a full percent in market share?"

Actually, with Intel Macs being able to run Windows, hardware sales will increase (more than they are already), along with curiosity over trying the "OS X" thing that comes pre-installed on it...

Even worse is that Intel's virtualization features and Apple's recent patent for running multiple operating systems means Windows apps may just end up being little sandboxed windows on an OS X desktop. And just maybe 12 months later, Vista might come out on time despite its Beta 2 delay...however I'm still guessing a delay to early 2007 or expect a ton of bugs in all these new, gigantic APIs.

When a company focuses on thinking it's the biggest because it's the best, you stop making the best. Windows only dominates because it's a monopoly--a standard. People don't choose to use Windows, they have to use it because it comes with their computers and their apps use Win32. Apple is quickly showing them there's another way that doesn't involve antivirus, antispyware, firewall, registry cleaner, etc. etc. etc. software running in their system trays all day long.

It is easy to give MSFT, a company with 100% dominance in almost every facet of software, no credit for anything.

100% dominance in almost every facet? How you lookin' on web server stats there, bub? How about clusters or scientific computing? Checked the content and publishing industry lately (it's all Mac and always has been)?

As for the general consumer market, yeah, you've got that. Monopolies dominate their markets, hence the term. Good luck getting Vista Beta 2 out the door late. :(

Re” In order to be fair you would actually need to take two different teams working at the same time on the same project. One team has offices near each other and the other team is in a "pod" environment.

I and most people (read:DEVS) feel that quiet non-volatile environments work best though that's not to say you are making things up. Of course it is possible to be productive but office doors are not like vault doors. If you can't TRUST your team to work well alone or in pairs, then the problem isn't the offices, it's the DEVS.--------------Hey Kalif, fair’s got nothing to do with it. Neither does trust. It’s all about being on the same page from a design perspective. Software is a virtual world and no matter how hard you try, everyone has a different picture in their head even though we all hear the same words and “think” we have the same meaning. I have been codin for 15 years and I can tell you that people go off the rez in about 5 minutes flat without some cohesive and collaborative team work – and when I mean team, I mean we are on the same playing field – just like football or basketball or hockey or… Like I said, software development is a team sport – you don’t see football players playing in offices… It seems to me that the software industry in general is just a bit daft when it comes to this idea of a team sport.

Being an old fart, I like the quiet too – but I would rather have a conversation when I overhear my team going, I need to code this algorithm and I can say we coded that 2 years ago, its’ in the library, REUSE it! In an office, I can’t hear that and it ain’t about control either in case you want to try that path. Btw, if you think I am making things up, I can send you a picture of our ultra cool code pit :-)

Hey Kalif, fair’s got nothing to do with it. Neither does trust. It’s all about being on the same page from a design perspective. Software is a virtual world and no matter how hard you try, everyone has a different picture in their head even though we all hear the same words and “think” we have the same meaning. I have been codin for 15 years and I can tell you that people go off the rez in about 5 minutes flat without some cohesive and collaborative team work – and when I mean team, I mean we are on the same playing field – just like football or basketball or hockey or… Like I said, software development is a team sport – you don’t see football players playing in offices… It seems to me that the software industry in general is just a bit daft when it comes to this idea of a team.

By fair I meant to truly make an informed decision as to the "better" methodology. The fact that you can "hollar out an answer," is why I said that there are tasks that should be completed as a group. The idea is to budget dev time with "collaboration time."

RE: shared/private workspaces - (perhaps not the best example wrt to actual team success/impact but here goes..) Does anyone remember where the Three Degrees team used to be situated over in the downtown offices? I loved their shared workspace - it didn't have the typical drone-cube feel to it (no dividers) , it had a nice view of the city and I just liked the general layout of the room. They also had a quiet/meditation room (can't remember the actual term they used to call it). Shared workspaces may very well be a good solution but for that to work at Microsoft would require a major paradigm shift in our corporate culture - as long as having your own office is accepted as a a symbol of respect/seniority/power/whatever, IMO most veterans wouldn't pick a shared workspace option (if their peers would remain in personal offices) even if you gave them a written guarantee of higher productivity

One of things that fascinated me during my 8 years at Microsoft was how they handled buy vs build decisions. While willing to spend millions to buy a competitor (they admit they'll mostly have to rewrite), they aren't willing to spend 10s of thousands to train the team they have on processes to ensure they can deliver the in-house built solution. The phrase penny wise, pound foolish comes to mind.

Really though, until you get rid of the Kingdom building as the main way to get promotions, I don't seem Microsoft become more agile and less bureaucratic. It was sad to see all of the people passionate about solving customer problems stifled by the lack of imagination and brass-ones in middle management (especially at the director level).

I loved the idea of Microsoft being a meritocracy, too bad I never saw it. 

If Microsoft becomes the place you describe, lean, customer focused, and driven to deliver quality solutions, I would LOVE to come back and work there again. However, in the environment when I am asked to speak on Unit Testing to the Windows division because that makes our team look good, but then discouraged from measuring team progress by the results of the Unit Tests (and told to cut Unit Testing when the deadline looked at risk), I don’t see the Company you envision. Good look making it that company. After 5 years of trying to help move the company that way, I just got worn out.

Now, first and foremost, I believe that Ray Ozzie is technically brilliant. He is the only guy on the planet that can stand in front of a crowd consisting of Gates, Raikes, Sinosfky, Allchin and Rudder and beat them down technically – quite a feat. But, before we raise him to exalted savior status we should take a look at the little lie about that Pied Piper.

The well publicized history of Ozzie led him down a path to build early releases of Lotus Notes under the sponsorship of Mitch Kapor, then CEO of Lotus. Lotus bought cc:Mail. Kapor said to Ozzie, “Integrate this email thing with Notes.” Ozzie responded with, “Over my dead body – it will never happen!” Kapor eventually wore him down and grudgingly the integration was done. Then came the email wars where every major corporation was standardizing on an email solution. The war came down to Exchange vs. Notes. The Lotus, then IBM pitch was, “We have everything that Exchange has plus all this neat collaboration software.” Customers would ask, “What would I use that stuff for?” The sales guy would respond, “I’m not sure but it’s really neat stuff and it costs the same as Exchange – you get this extra stuff for free.”

So, do you know what the little lie is? Yes, Notes was greatly successful. Estimates are it sold 100m seats. Do you know how many of those users are actively using the collaboration software? Most estimates are that there are/were less than 2m users. The big lie Part II – do you know how many Groove users there are? Most estimates are that there are/were less than 2m users. See any patterns here?

Now, who can argue his financial success and widespread fame? And, yes, he is technically brilliant. But, do we want to entrust the future of our company to a guy who now, twice, sold less than 2m copies of his brilliant innovations over the last 20+ years? The Notes success was email not collaboration. Notes and Groove fascinate sophisticated technical minds. The software is extraordinary. One minor problem – nobody wants it. Beware of too much collaborative nonsense in MSLIVE … technically fascinating – nobody buys it …

Disclaimer

These are sole individual personal points-of-view and the posts and comments by the participants in no way represent the official point-of-view of Microsoft or any other organization. This is a discussion to foster debate and by no means an enactment of policy-violation. These posts are provided "as-is" with no warranties and confer no rights. So chill. And think.