I'm sure that this is perplexing. As Napster's vice president of engineering and CTO during much of this time, please let me share an alternative perspective. Building a paid music site based on peer-to-peer technology involved more work than you might think at first glance. We had to:
All of this was accomplished and ready to go. I think you would be very surprised at the tiny size of the "whole team of developers" that was involved. Versions of the system were in beta test from December 2001. The only holdup to full deployment was the record companies' and publishers' refusal to license their content to Napster.
Please keep in mind that simultaneous to much of this work being done, significant development of the existing Napster system was required to be made under court order. Most of the engineering management and many of the key Napster developers were involved in this work. I was also directly involved in the legal process, requiring me to spend massive amounts of time doing legal work, including briefs, declarations, depositions, and very frequent meetings with the RIAA's and the Court's Technical Experts.
As an aside, I hope you don't think that the "3 months" Shawn took to write the original version (not true anyway) was the reliable system that scaled to handle 2 million simultaneous users! Although the Windows client was largely Shawn's, the server code was completely rewritten.
Having managed many large-scale engineering projects, I am well aware of the second-version syndrome. But in this case, we were really building a new first version.
You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.