60 likes | 201 Views
Rensselaer Polytechnic Institute David Goldschmidt, Ph.D . Software Development RCOS - Spring 2012. Successful software development. Software is usually a team effort requiring coordination amongst team members
E N D
Rensselaer Polytechnic Institute David Goldschmidt, Ph.D. Software DevelopmentRCOS - Spring 2012
Successful software development • Software is usually a team effortrequiring coordination amongstteam members • Document your project goals, userrequirements, timelines, milestones,task lists, test cases • via a blog, wiki, Google docs, Briefcase, etc.
Successful software development • 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
Successful software development • Identify and document coding standards for: • Coding/indentation style • Naming conventions • Commenting styles (e.g. comment headers) • Safe approaches to programming • See http://www.gnu.org/prep/standards • Code reviews are invaluable for improving the quality of your software
Large-scale software development • 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)
Where to find projects • http://www.cs.rpi.edu/research/groups.html