Rensselaer Polytechnic Institute David Goldschmidt, Ph.D.
Software is usually a team effort requiring coordination amongst team members Document your project goals, user requirements, timelines, milestones, task lists, test cases via a blog, wiki, Google docs, Briefcase, etc.
Good (and up-to-date!) documentation is crucial to the success of a project however, too much documentation is not good! Version control provides benefits to both teams and one-person projects one-person projects often become team projects
Identify and document coding standards for: Coding/indentation style Naming conventions Commenting styles (e.g. comment headers) Safe approaches to programming See Code reviews are invaluable for improving the quality of your software
As software systems grow in terms of usage, scope, scale, user-base, reliance, etc., they must be maintained Important aspects of quality software: Maintainability Maintained! Usability (testing) Extensibility Reusability Consistency Reliability Generalization (design)