Some Basic Rules of Development
I've been developing software by myself for the better part of 20 years now, and in a team environment for at least the last 6 years. Here are some of the lessons I've learned along the way. Not all of these are 100% my own ideas, but I can state that I've "taken ownership" of all of them, having been both a developer and a development department manager: 1) A development team should have a single design authority. The best systems have one member of a team who dominates the design and development and has a clear view of where the system is going. Without this strong focus and lead, many projects throw together a set of conflicting ideas and the system will ultimately stagnate or become extremely difficult to maintain. This person needs to be big on communication and small on ego. 2) Code should be documented, but not overdocumented. Lots of documentation does not equal good design and will not guarantee a good, well designed system. A system can have a good desi...