Swimming with the Razorfishes

Sunday, November 16, 2003

Frank admissions of problems in Microsoft's Universal Plug and Play software from a former team member. Hmm. Should I build autodiscovery software based on UPnP, a closed, bug-ridden product with little shipping software, or on Rendezvous, an open, well-supported product with actual, shipping, software.

"But the uncomfortable reality is that I was fully aware that the UPnP team's programming/testing practices left something to be desired. In fact the code was so awful that at one point a snippet of code from the checked in source tree, real code that was supposed to ship in the final product, was sent around and a contest was held to see who could figure out what it was supposed to do. I say supposed to do because the code didn't actually work. There were two contests, one for developers and one for PMs. I won the PM contest. The page of code was an AtoI function. Once you fixed the endless loop it turned out to require O(N2) iterations where N was the number of digits in the original ASCII number.

We had one or two testers depending on what other projects were around and only one of the testers understood what was going on and she could only cover a tiny bit of the code base. When I worked for IE the rule of thumb for network code was to have between 2 to 3 testers per developer, although we were lucky to have a 1 to 1 ratio. As a side note, the testers we did have for networking in IE were absolutely rock solid and easily the equivalent of 2 bodies a piece. UPnP had something like 2 testers for 5 or so developers.

Yes, I talked about the problem with the group's management. Yes, I talked about the problem with several of the testers and developers on the team. Some cared, most didn't. Eventually those of us who had any pride in our work just got up and left. Without support from management there really wasn't much else to do. The feeling of apathy and doom was pretty consistent throughout the project." [via Goland.org]

0 Comments:

Post a Comment

<< Home