Software Design
According to Linus, Software Design is the surest way to kill a project.
I am a second-year CS major with small amounts of software design experience (everything I've ever written has worked more-or-less in a vacuum (I had to look that word up to see how it is spelled...odd)) and no experience with creating a medium-to-largish scale system. Linus' comparison of the software development process to evolution--and specifically to dog- or livestock-breeding--makes a whole lot of sense to me. It provides a scientific background to the concept of Extreme Programming to which I was introduced this past summer.
In retrospect, I've never really done hardcore 'design' of anything I've written. I've mapped out loose guidelines for what I want it to do, but it seems like everytime that I do, that changes as new considerations come up. So, does my software evolve? Can such small-scale projects 'live' in this sense, even though they are complete within a week?
/me goes back to working on CS stuff...
