How to (not) develop big applications...

time to read 3 min | 433 words

Check this out. This is a short explanation on how Microsoft manages to produce Windows.

After reading this;

  • four to six months to get the dependencies that you need for a feature?!
  • the same length of time until other people get to use your code and you hear some feedback?!
  • 64 people who has a say in the freaking Off menu?!
  • a year to develop a menu with seven options?!

I literally can't grasp how they manages to do anything done. This puts Big Bang integration to shame, it is a Continious Big Bang, but six months too late. Some of the immediate implications is that until very late into the product, there is no authorotive source for Windows. No wonder they had to do a recylce two years ago, they were trying to do that and build WinFX on top of the (moving) .net 2.0 / 3.0. Exactly how many pieces do they think that they can juggle at one time?

And why on earth are there 64 people with a say on single feature? A feature should have at most two owners, the business-side owner and the tech owner (usually the tech lead / developer), everyone else is a dependency either you on them or they on you. They don't get to make decisions. At one time when I was in the army I had 9 people who were my direct commands, and at one point i literally had 28 ocnflicting orders. I went home and let them deal with it (a very good way to deal with annoying people, by the way).

There are few (if any) software projects on the level of Windows, but I don't think that it is possible to develop software in this manner. There are all too many people in the way for it to work. Also, this information made Microsoft a lot less attractive place to work with. I don't like being in a no-code/all-meeting days, and there are very few things that annoys me more then people telling me things that they already did.

No wonder that they are bleeding the good people out. They are going to find places they can actually work for.