|
Here's a brief list of some of the most obvious, and important, best practices I know for software development:
- Do use some form of repeatable agile process for building software applications. Almost any repeatable process is better than none at all. (If you need one I recommend Scrum.)
- Do use a source code control system (svn, cvs, or commercial products).
- Do use a formal bug-tracking system.
- Do have some form of source code peer review.
- Do have coding standards, preferably a consistent set of standards across all applications.
- Do have a repeatable automated build system for your applications.
- Do have some mix of experienced developers (who are good and experts in these practices) and relatively new developers.
- Always keep the application in a running, demonstrable state.
If I came in to review an organization's software development ability, and they didn't have at least these things going I wouldn't talk to them about anything else. My comments would be "get these things going, then give me a call."
|