in reply to Software design -- The confussion of buzzwords
In addition to the many good suggestions above, I would recommend looking at the following two books:
- The Pragmatic Programmer by Andrew Hunt and David Thomas -- the subtitle is "from journeyman to master". It's a great book on the craft of programming.
- Agile & Iterative Development: A Manager's Guide -- this contains a good high level overview of the similarities and differences between different software development methodologies
Beyond this, I've personally been experimenting recently with "test-driven development". While I'm not fully "extreme", the process of writing a test first forces me to think about how a user uses interfaces prior to coding. It's led to some streamlined code and really avoided overbuilding. I suggest doing some research and trying it out.
As an additional suggestion, unless you have a great local bookstore, I've found O'Reilly's Safari electronic bookshelf to be a great resource for browsing books to get a sense for styles and design methods.
Best of luck to you
Code posted by xdg on PerlMonks is public domain. It has no warranties, express or implied. Posted code may not have been tested. Use at your own risk.