Dreaming in code
I just finished reading Dreaming in code and I only can recommend it to everyone. It is rare to find a book about software development which combines captivating story telling with sound technical knowledge. Scott Rosenberg tells the story of Chandler - the wannabe killer app by the Open Source Applications Foundation - while exploring topics like Mythical Man-Month, Turing Test, Halting Problem, 'Gödel, Escher, Bach' and many many more. But above all Dreaming in code managed to draw my attention to Joel Splosky's Blog - Joel on software.
Joel's blog offers a wide range of essays covering various aspects of software development, eg Big Macs vs. the Naked Chef which talks about the danger of methodologies:
What's the moral of the story? Beware of Methodologies. They are a great way to bring everyone up to a dismal, but passable, level of performance, but at the same time, they are aggravating to more talented people who chafe at the restrictions that are placed on them. It's pretty obvious to me that a talented chef is not going to be happy making burgers at McDonald's, precisely because of McDonald's rules.
This expresses so much how I feel about methodologies at the moment and goes hand in hand with another of Joel's essays - The law of leaky abstractions whose main point is that in spite of more and more abstractions we develop it is becoming harder and harder to be a proficient programmer, because at some stage any abstraction will break and you are forced to understand the underlying layer.
The bottom for me - good programmers are rare, but they are the ones which will make a project a success with or without methodologies.