How to Develop Software
This post by Barry Briggs offers many great tips for software developers. Included among them are these:
"1. Great software is built by small teams. If you're building a great BIG software product use lots of small teams. The team leaders should be able to carry on a civilized conversation with one another; conversely, they should not be trying to torpedo each others' careers behind their backs.
2. Great software projects always, always have one person who gets the big picture. He/she codes. Repeat: he/she codes. This person is called the architect.
3. Software "architects" that don't code are not software architects. Sorry."