Professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing and operations