Last week we reported on the Engineering 7 weblog, a weblog headed by Microsoft’s Steven Sinofsky on which they promised to chronicle the development process of Windows 7, while allowing us normal folk to give feedback. They are keeping their promise, as the latest post by Sinofsky offers some interesting insights into the various development teams working on Windows 7.
The blog post starts with some household announcements, mostly dealing with the responses and comments received after opening the blog last week. Sinofsky assures us the blog isn’t a PR stunt or marketing ploy. “This blog is the real deal – typos, mistakes, and all. There’s no intermediary or vetting of the posts,” he writes, “We have folks on the team who will be contributing, but we’re not having any posts written by anyone other than who signs it.”
The meat of the post is an introduction to the Windows 7 team. The team is headed by Sinofsky himself (Windows client experience) and Jon DeVaan (core operating system, stuff like kernel, device infrastructure, etc.), and consists of 25 ‘feature teams’. What is a feature team?
A feature team represents those that own a specific part of Windows 7 – the code, features, quality, and overall development. The feature teams represent the locus of work and coordination across the team. This also provides a much more manageable size – feature teams fit in meeting spaces, can go to movies, and so on. On average a feature team is about 40 developers, but there are a variety of team sizes. There are two parts to a feature team: what the team works on and who makes up a team.
Sinofsky lists 23 of the 25 feature teams – the names are pretty much self-explanatory.
- Applets and Gadgets
- Assistance and Support Technologies
- Core User Experience
- Customer Engineering and Telemetry
- Deployment and Component Platform
- Desktop Graphics
- Devices and Media
- Devices and Storage
- Documents and Printing
- Engineering System and Tools
- File System
- Find and Organize
- Fundamentals
- Internet Explorer (including IE 8 down-level)
- International
- Kernel & VM
- Media Center
- Networking – Core
- Networking – Enterprise
- Networking – Wireless
- Security
- User Interface Platform
- Windows App Platform
In addition to the feature teams, there are people working on all aspects of Windows 7, in four groups: content development, product planning, product design, and research and usability. People often comment on the size and manageability of the Windows team, but Sinofsky isn’t worried. “The way that I look at this is that our job is to have the Windows team be the right size – that sounds cliche but I mean by that is that the team is neither too large nor too small, but is effectively managed so that the work of the team reflects the size of the team and you see the project as having the benefits we articulate.”
Overall, Sinofsky provides some interesting insights into how the Windows team is structured, but it is of course difficult to say if they’re on the right track or not. Few of us here will have experience in managing the largest software project in the world.
Generally a team gets unwieldy past 15 or so devs, so if there are 25 product teams of 10-15 devs per team, that means there is 250 – 375 devs directly working on windows. The generally accepted ideal number of testers to devs nowadays is 2-1, so add in an easy 500 – 750 people for testing. So devs and testing alone, you are talking 750 – 1125 people working on windows, and that is not counting project managers, designers, localization teams and middle management.
The shop I work at has around 80 people, the place before was closer to 120, including sales guys. I can’t even imagine working on a project with those kinds of infrastructure concerns.
Edited 2008-08-20 02:38 UTC
“On average a feature team is about 40 developers…”
That’s about 1,000 developers working on Windows 7.
It’s hard to read a description of software development at Microsoft without immediately thinking of the Law of Diminishing Returns.
I’ve seen a lot of comments on that blog from people who want just the core OS without all of the extra bloat and applications that they’re never going to use. Basically what we need is a ‘Lite Edition.’ As each new version is released, I find myself spending more and more time just turning off the crap that MS has added over the years in order to try and idiot-proof the OS. Vista is especially bad, having throw in that fruity-looking glassy-ass GUI to appease ‘Generation iPod’, and you can bet that more Mac lameness like iLife will be headed our way too. Great for grandma to use, but most power users ain’t going anywhere near that sh*t.
So we need a barebones version this time geared toward people who actually know what they’re doing. Better clipboard tools, system wide spell checking (the one cool thing they haven’t stolen from OSX yet), Firefox-style muultiple select in every application, etc etc. Make it a snap to slipstream all hotfixes and service packs into the original install disc. Oh, and make it possible to *create* an install disc out of a restore partition, since most OEMs are too cheap anymore to throw in a f**king setup CD/DVD with the new $1,500 computer you just bought.
Edited 2008-08-20 04:05 UTC
Maybe supporting and improving ReactOS will be the answer to such claims.
🙂
“Power users” might use vLite too…
Power users do use vLite But it’s still rather limited in scope, especially when you compare it to where nLite is. No integration of service packs, which I guess can’t be helped, since Vista does not inherently support this. This stuff should be part of the OS itself.
Although the Vista OS itself might not be the best Windows (as MS claimed), Vista’s theme does look rather nice, there is no denial about it.
Actually, it is a matter of taste. I personally don’t like the snot-coloured theme (and I know just as many people dislike Ubuntu orange).
Amen.
Yes, because real men use pirated Adobe Premiere and Audition.
“Power users” my balls! I’d wager many folks much more knowledgeable than you have built plenty of their data into iLife quite successfully. Plenty of default Vista apps are perfectly usable for the average Joe, and I’d postulate that no matter what was bundled in Windows 7, people like you would complain. You can’t be everyone’s solution, and so-called “power users” will seek an alternative, but the average Joe won’t, so they gear towards him.
What, pray tell, are acceptable apps for you “power users?” Is Photoshop a power user app? Because that’s not bloated at all! Why, it loads in a scant 45 seconds on my dual core 3Ghz machine!
I’ll give you that your second paragraph all sounds useful, but then, people that might use that stuff are not the ones comfortable paying $499 for an OS.
You’re right, so why not offer a version that doesn’t install anything by default, so that those of us who want to can start off with a clean, minimal system and build up from there?
I’d probably choose to install the calculator and the mixer, but that’s about all
Good point.
There is nothing wrong with teh UI. If you don’t like the widgets, fine, but accelerating the UI through the 3d system on teh gfx card allows them to keep the UI usable when one of your application is barfing or has a lot to think about.
So, Win7, 25 teams working on different part of the OS. Imagine when it’s time to put it all together…. It must be crazy and I suspect that’s one way to create bugs.
I just hope that Win7 will be better accepted than Vista, if not, we face many years of wining again. So, Win7 better be slimmer and faster.
If you have a decently designed system, there should be no reason for any of the teams to see each other. Things should be modular enough that you can pull out an individual component, go off and work on it, come back and put it back, and the whole thing keeps ticking.
That was the whole purpose of what they did with MinWin; the need to map interdependencies, and reduce them so that you don’t end up with situations where by if you change something minor down the bottom of the stack – all hell breaks loose at the top. I just hope that with Windows 7, this job has been completed, and they’re actually going to work to fix things up – because Windows is in dire need of a boot up the jaxy.
They shouldn’t have to talk to each other, until everything goes horribly wrong, and the design is missing important parts, and the documentation is inconsistent… in other words they talk to each other from day one. Then comes INTEGRATION, when all the teams learn that, what seemed perfectly clear to one team was an entirely different perfectly clear to another.
We’ll see I guess.
Great comment. Another factor is testing. As discussd in other posts, Windows dev teams have unit tests to find problems at the earliest possible point, and there are also automated build verification tests which are more extensive in scope and run with each build. Without these things, it would take weeks or months to produce a stable build. This process is no different than many other companies. The real difficulty emerges at the integration points between components and, presumably, teams that are dependent on lower-level components are testing those points of contact all the time. So, in fact, most teams don’t need to know how the other teams are doing, what they’re producing, etc. It’s just an exercise in scale.
It’s not bugs I’m worried about, it’s consistency.
IMHO, that is the number 1 issue with Windows Vista, the fact that the user interface is so inconsistent.
Different layouts, different colours, about 5 different toolbar styles, etc, etc. It’s a mess and it gets even worse when you take Office in to account. It’s somehow worse than OSS desktops, despite the fact that Microsoft’s Windows developers are almost all on the same site and getting they paychecks from the same place.
I really hope Microsoft puts strong guidelines and a powerful review team in place for Windows 7 to make sure that the OS looks like it was actually designed as a whole, rather than made up of bits and pieces that all have a slightly different idea of what Windows should look like.
Edited 2008-08-20 12:01 UTC
The most frequent request was to discuss Windows performance and/or just make Windows faster. There’ a lot to this topic so we expect to talk about this quite a bit over the next months
Don’t talk about it, don’t blog about, MAKE IT HAPPEN.
We all know the Windows dev team is a huge group. It’s unfortunate, that one of their resources (the blogger) is wasting time…blogging.
I expect pictures of the Windows dev team at a group outing at a Chinese restaurant real soon…celebrating a new desktop icon picture of the trash can.
Edited 2008-08-20 10:56 UTC
“This baby can flash-fry a buffalo in 45 seconds!”
“Awww, 45 seconds? But I want it NOW!”
Windows 7 will be nothing more than a newer shade of lipstick on NT
Windows 7 will be nothing more than a newer shade of lipstick on Vista
That’s what I have heard as well. I have also read, but haven’t seen much information, that Windows 7 is going to be modular in that MS will disable/enable portions of the OS based on how much you pay or want to subscribe to. For example, you could buy the basic “home” version and do surfing and email, but if you wanted to do multimedia or gaming, you would have to subscribe or pay to turn those “modules” on. This supposedly fits in with their “software as a service” idea. If that is the case, they are signing their death warrant.
I do agree that a slimmed down version would be a good thing – for me, Windows is just a gaming shell and I do not need any functionality other than the capability to play 3d games and whatever connection capabilities the games need. No, I do not want a console: they are completely useless to me because the controller is an ergonomic nightmare compared to a keybord and mouse…old school gamer here 🙂