1- Common software development values:

  • Reusability
  • Traceability
  • Manageability
  • Efficiency
  • Collaboration
  • Learning

2- Foundational practices of DevOps:

   Defining practices and associated practices   Practices that contribute to success 
 Stage 0 

• Monitoring and alerting are configurable by the team operating the service

• Deployment patterns for building applications or services are reused

• Testing patterns for building applications or services are reused

• Teams contribute improvements to tooling provided by other teams

• Configurations are managed by a configuration management too

 Stage 1

• Application development teams use version control

• Teams deploy on a standard set of operating systems

• Build on a standard set of technology

• Put application configurations in version control

• Test infrastructure changes before deploying to production

• Source code is available to other teams

 Stage 2 • Build on a standard set of technologies • Teams deploy on a single standard operating system

• Deployment patterns for building applications and services are reused

• Rearchitect applications based on business needs

• Put system configurations in version control

3- Benefits of Source Control:



  • Create workflows
  • Work with versions
  • Collaboration
  • Maintains history of changes
  • Automate tasks

4- Best practices of Source Control:

  • Make small changes
  • Don’t commit personal files
  • Update often and right before pushing to avoid merge conflicts
  • Verify your code change before pushing it to a repository; ensure it compiles and tests are passing
  • Pay close attention to commit messages as these will tell you why a change was made
  • Link code changes to work items
  • No matter your background or preferences, be a team player and follow agreed conventions and workflows