What software development process?

Posted by admin, Fri Nov 24 10:53:35 UTC 2006

moblog: The Windows Shutdown crapfest

In Windows, this model breaks down simply because there are far too many developers to access one central repository—among other problems, the infrastructure just won’t support it. So Windows has a tree of repositories: developers check in to the nodes, and periodically the changes in the nodes are integrated up one level in the hierarchy. At a different periodicity, changes are integrated down the tree from the root to the nodes. In Windows, the node I was working on was 4 levels removed from the root. The periodicity of integration decayed exponentially and unpredictably as you approached the root so it ended up that it took between 1 and 3 months for my code to get to the root node, and some multiple of that for it to reach the other nodes. It should be noted too that the only common ancestor that my team, the shell team, and the kernel team shared was the root.

I’m feeling flabbergasted after reading this, but I don’t really know why. I mean, there had to be a reason for the general craptastic nature of Windows, but to see one of the reasons for it exposed, and it’s so… so… messy.

Filed Under: | Tags:

Comments

  1. trever 11.25.06 / 10AM
    There's some insight into the reasons why the source trees were split into that mess, down in one of the comments. Still sounds like they had their heads up their butts when deciding what to do about it though. The giant is due for a fall. Try to not be in it's way when it hits.
  2. camz 11.28.06 / 06AM
    Anyone that has used Microsoft's source control system won't be surprised by it's inability to handle a large source tree. There is no reason why they shouldn't be able to run nightly builds, nor is there any reason why they had to move to a hierarchy of source control systems. Handling the load from a large number of developers is pretty easy when using a decent source control system like Perforce. It would be interesting to learn what they are actually using for a source control system, I'd hope it wasn't VSS, but then again, who the hell knows...
  3. trever 11.29.06 / 06AM
    Here's some discussion on Mac OS X's shutdown options. It's not the be-all-end-all either. Not much mention of the software development process though, other than they get a fully running build every week. I doubt they have forks and subforks that need to be integrated up, down, sideways...
  4. trever 11.29.06 / 15PM
    I found some information on their build process and why they went to multiple repositories etc. http://www.securityoffice.net/mssecrets/other/Startup.htm Which details how to bring up a new developer's machine. This is post-win2000 so think between 2000 and start of work on XP.

Have your say

A name is required. You may use HTML in your comments.