“good ideas and bad code build communities, the other three combinations do not”. Its counter-intuitive, but a remarkably insightful comment on Open Source Dynamics. Think about it, if the concept is bad, no one will use it regardless of how good the code is. A good idea, well executed will result in a lot of users, but not many hackers.
artima.com has a 6 part interview with Martin Fowler discussing software design and evolution. Looks interesting.
The interview above also leads to the Manifesto for Agile Software Development, which are the guidng principles shared by methodologies such as XP (eXtreme Programming).
I’m still trying to get my head around some of the XP concepts, but some of the ideas such as designing for change and regular small releases are practiced here.
Matthew Thomas explores what happens when good interfaces go crufty.