A good SDLC involves issue-tracking, source control, a build process, unit tests, a continuous integration environment and code reviews. Deployment of code should be automated, and you should be able to rollback code easily when issues occur.